// Keyboard layouts for Azerbaijan.

// Azerbaijani layout, based on the AZS 495-2010 standard.
// 2001 - Pablo Saratxaga <pablo@mandrakesoft.com>
// 2015 - Adil Aliyev <adilaliev@gmail.com>
default partial alphanumeric_keys
xkb_symbols "latin" {

  include "us"

  name[Group1]= "Azerbaijani";

  key <AE02> {[ 2,          quotedbl,      at    ]};
  key <AE03> {[ 3,          numerosign  ]};
  key <AE04> {[ 4,          semicolon,     U20BC ]}; // ₼ (manat sign)
  key <AE06> {[ 6,          colon       ]};
  key <AE07> {[ 7,          question    ]};

  key <AD02> {[ udiaeresis, Udiaeresis  ]};
  key <AD08> {[ i,          Iabovedot   ]};
  key <AD11> {[ odiaeresis, Odiaeresis  ]};
  key <AD12> {[ gbreve,     Gbreve      ]};
  key <BKSL> {[ backslash,  slash       ]};

  key <AC10> {[ idotless,   I           ]};
  key <AC11> {[ schwa,      SCHWA       ]};

  key <AB08> {[ ccedilla,   Ccedilla    ]};
  key <AB09> {[ scedilla,   Scedilla    ]};
  key <AB10> {[ period,     comma       ]};

  include "level3(ralt_switch)"
};

// Azerbaijani (standard) layout, based on the AZS 495-2010 standard,
// “Language-dependent keyboard layout of letters of the alphabet of Azerbaijan”.
// It is known locally as “PÜŞUD”, after the first five keys of the top letter
// row, the same way QWERTY is named.  Microsoft has been shipping it as
// “Azerbaijani (Standard)” (KBDAZST) since Windows 8.1.
//
// Levels 1 and 2 reproduce the standard exactly.  The standard assigns nothing
// to <BKSL>, and provides none of ' / \ | ` $ & ^ [ ] { } on any key.  Compared
// with the "latin" layout above, the characters actually lost are / \ | and `,
// which one cannot do without; the others are missing from "latin" too.  They
// are made available on levels 3 and 4, each one on the physical key that
// carries it in the US layout, so that no position defined by the standard is
// altered.
//
// Note that W, which is not a letter of the Azerbaijani alphabet, is
// deliberately *not* added: it is absent from the "latin" layout as well, and
// adding a foreign letter to a national standard is not something to do without
// the standards body's blessing.  It has been asked about; if the answer is
// yes, the place for it is level 3 of <AD02>.
// 2026 - Orkhan Guliyev <orkhan@our.az>
partial alphanumeric_keys
xkb_symbols "standard" {

  include "us"

  name[Group1]= "Azerbaijani (standard)";

  key <AB01> {[ ccedilla,   Ccedilla                             ]};
  key <AB02> {[ f,          F                                    ]};
  key <AB03> {[ v,          V                                    ]};
  key <AB04> {[ t,          T                                    ]};
  key <AB05> {[ k,          K                                    ]};
  key <AB06> {[ e,          E                                    ]};
  key <AB07> {[ q,          Q                                    ]};
  key <AB08> {[ z,          Z,          less                     ]};
  key <AB09> {[ odiaeresis, Odiaeresis, greater                  ]};
  key <AB10> {[ period,     comma,      slash                    ]};

  key <AC01> {[ g,          G                                    ]};
  key <AC02> {[ idotless,   I                                    ]};
  key <AC03> {[ s,          S                                    ]};
  key <AC04> {[ a,          A                                    ]};
  key <AC05> {[ r,          R                                    ]};
  key <AC06> {[ n,          N                                    ]};
  key <AC07> {[ schwa,      SCHWA                                ]};
  key <AC08> {[ l,          L                                    ]};
  key <AC09> {[ i,          Iabovedot                            ]};
  key <AC10> {[ c,          C                                    ]};
  key <AC11> {[ gbreve,     Gbreve,     apostrophe,   quotedbl   ]};

  key <AD01> {[ p,          P                                    ]};
  key <AD02> {[ udiaeresis, Udiaeresis                           ]};
  key <AD03> {[ scedilla,   Scedilla                             ]};
  key <AD04> {[ u,          U                                    ]};
  key <AD05> {[ d,          D                                    ]};
  key <AD06> {[ b,          B                                    ]};
  key <AD07> {[ m,          M                                    ]};
  key <AD08> {[ y,          Y                                    ]};
  key <AD09> {[ o,          O                                    ]};
  key <AD10> {[ h,          H                                    ]};
  key <AD11> {[ x,          X,          bracketleft,  braceleft  ]};
  key <AD12> {[ j,          J,          bracketright, braceright ]};

  key <AE01> {[ 1,          exclam                               ]};
  key <AE02> {[ 2,          quotedbl,   at                       ]};
  key <AE03> {[ 3,          numerosign                           ]};
  key <AE04> {[ 4,          semicolon,  U20BC,        dollar     ]}; // ₼ (manat sign)
  key <AE05> {[ 5,          percent                              ]};
  key <AE06> {[ 6,          colon,      asciicircum              ]};
  key <AE07> {[ 7,          question,   ampersand                ]};
  key <AE08> {[ 8,          asterisk                             ]};
  key <AE09> {[ 9,          parenleft                            ]};
  key <AE10> {[ 0,          parenright                           ]};
  key <AE11> {[ minus,      underscore                           ]};
  key <AE12> {[ equal,      plus                                 ]};

  key <BKSL> {[ backslash,  bar                                  ]};

  key <TLDE> {[ numbersign, asciitilde, grave                    ]};

  include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "cyrillic" {

  name[Group1]= "Azerbaijani (Cyrillic)";

  key <TLDE> {[ grave,             asciitilde         ]};
  key <AE01> {[ 1,                 exclam             ]};
  key <AE02> {[ 2,                 quotedbl,          at           ]}; // @
  key <AE03> {[ 3,                 numbersign         ]};
  key <AE04> {[ 4,                 semicolon,         U20BC        ]}; // ₼
  key <AE05> {[ 5,                 percent            ]};
  key <AE06> {[ 6,                 colon              ]};
  key <AE07> {[ 7,                 question           ]};
  key <AE08> {[ 8,                 asterisk,          braceleft    ]};
  key <AE09> {[ 9,                 parenleft,         bracketleft  ]};
  key <AE10> {[ 0,                 parenright,        bracketright ]};
  key <AE11> {[ minus,             underscore,        braceright   ]};
  key <AE12> {[ equal,             plus               ]};

  key <AD01> {[ Cyrillic_je,       Cyrillic_JE        ]};
  key <AD02> {[Cyrillic_u_straight,Cyrillic_U_straight]};
  key <AD03> {[ Cyrillic_u,        Cyrillic_U         ]};
  key <AD04> {[ Cyrillic_ka,       Cyrillic_KA        ]};
  key <AD05> {[ Cyrillic_ie,       Cyrillic_IE        ]};
  key <AD06> {[ Cyrillic_en,       Cyrillic_EN        ]};
  key <AD07> {[ Cyrillic_ghe,      Cyrillic_GHE       ]};
  key <AD08> {[ Cyrillic_sha,      Cyrillic_SHA       ]};
  key <AD09> {[ Cyrillic_shha,     Cyrillic_SHHA      ]};
  key <AD10> {[ Cyrillic_ze,       Cyrillic_ZE        ]};
  key <AD11> {[ Cyrillic_ha,       Cyrillic_HA        ]};
  key <AD12> {[ Cyrillic_che_vertstroke, Cyrillic_CHE_vertstroke ]};

  key <AC01> {[ Cyrillic_ef,       Cyrillic_EF        ]};
  key <AC02> {[ Cyrillic_yeru,     Cyrillic_YERU      ]};
  key <AC03> {[ Cyrillic_ve,       Cyrillic_VE        ]};
  key <AC04> {[ Cyrillic_a,        Cyrillic_A         ]};
  key <AC05> {[ Cyrillic_pe,       Cyrillic_PE        ]};
  key <AC06> {[ Cyrillic_er,       Cyrillic_ER        ]};
  key <AC07> {[ Cyrillic_o,        Cyrillic_O         ]};
  key <AC08> {[ Cyrillic_el,       Cyrillic_EL        ]};
  key <AC09> {[ Cyrillic_de,       Cyrillic_DE        ]};
  key <AC10> {[ Cyrillic_zhe,      Cyrillic_ZHE       ]};
  key <AC11> {[ Cyrillic_ka_vertstroke, Cyrillic_KA_vertstroke ]};

  key <AB01> {[ Cyrillic_schwa,    Cyrillic_SCHWA     ]};
  key <AB02> {[ Cyrillic_che,      Cyrillic_CHE       ]};
  key <AB03> {[ Cyrillic_es,       Cyrillic_ES        ]};
  key <AB04> {[ Cyrillic_em,       Cyrillic_EM        ]};
  key <AB05> {[ Cyrillic_i,        Cyrillic_I         ]};
  key <AB06> {[ Cyrillic_te,       Cyrillic_TE        ]};
  key <AB07> {[ Cyrillic_ghe_bar,  Cyrillic_GHE_bar   ]};
  key <AB08> {[ Cyrillic_be,       Cyrillic_BE        ]};
  key <AB09> {[ Cyrillic_o_bar,    Cyrillic_O_bar     ]};
  key <AB10> {[ period,            comma              ]};

  include "level3(ralt_switch)"
};
