// Based on http://www.sci.kz/~sairan/keyboard/kzkbd.html // Baurzhan Ismagulov <ibr@radix50.net> // // TODO: // 1. AltGr with TLDE and LSGT. // 2. Dead key for ruskaz and kazrus. // 3. Ctrl + <key>. // 4. Alt-Tab. // RST KazSSR 903-90 // levels 3 and 4 are non-standard extensions partial default alphanumeric_keys xkb_symbols "basic" { name[Group1] = "Kazakh"; key.type[group1] = "FOUR_LEVEL"; key <TLDE> { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] }; key <AE01> { [ doublelowquotemark, exclam ] }; key <AE06> { [ comma, semicolon ] }; key <AE07> { [ period, colon ] }; key <BKSL> { [ backslash, slash ] }; key <AB10> { [ numerosign, question ] }; key <LSGT> { [ less, greater, bar, brokenbar ] }; key.type[group1] = "ALPHABETIC"; key <AE02> { [ Cyrillic_schwa, Cyrillic_SCHWA ] }; key <AE03> { [ Ukrainian_i, Ukrainian_I ] }; key <AE04> { [ Cyrillic_en_descender, Cyrillic_EN_descender ] }; key <AE05> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] }; key <AE08> { [ Cyrillic_u_straight, Cyrillic_U_straight ] }; key <AE09> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] }; key <AE10> { [ Cyrillic_ka_descender, Cyrillic_KA_descender ] }; key <AE11> { [ Cyrillic_o_bar, Cyrillic_O_bar ] }; key <AE12> { [ Cyrillic_shha, Cyrillic_SHHA ] }; key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] }; 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_shcha, Cyrillic_SHCHA ] }; key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] }; key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; 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_e, Cyrillic_E ] }; key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] }; key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] }; key <AB03> { [ Cyrillic_es, Cyrillic_ES ] }; key <AB04> { [ Cyrillic_em, Cyrillic_EM ] }; key <AB06> { [ Cyrillic_te, Cyrillic_TE ] }; key <AB05> { [ Cyrillic_i, Cyrillic_I ] }; key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key <AB08> { [ Cyrillic_be, Cyrillic_BE ] }; key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] }; key.type[group1]="TWO_LEVEL"; }; // Kikkarin KZ1 partial alphanumeric_keys xkb_symbols "ruskaz" { name[Group1] = "Russian (Kazakhstan, with Kazakh)"; key.type[group1] = "FOUR_LEVEL"; key <AE01> { [ 1, exclam ] }; key <AE02> { [ 2, quotedbl, at ] }; key <AE03> { [ 3, numerosign, numbersign ] }; key <AE04> { [ 4, semicolon, dollar ] }; 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, slash, bar ] }; key <AB10> { [ period, comma, slash, question ] }; key <LSGT> { [ less, greater, bar, brokenbar ] }; key.type[group1] = "FOUR_LEVEL_ALPHABETIC"; key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] }; key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] }; key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] }; key <AD03> { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] }; key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] }; key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; key <AD06> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_en_descender, Cyrillic_EN_descender ] }; key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_ghe_bar, Cyrillic_GHE_bar ] }; key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] }; key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] }; key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] }; key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] }; key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] }; key <AC04> { [ Cyrillic_a, Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA ] }; key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] }; key <AC06> { [ Cyrillic_er, Cyrillic_ER ] }; key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] }; key <AC08> { [ Cyrillic_el, Cyrillic_EL ] }; key <AC09> { [ Cyrillic_de, Cyrillic_DE ] }; key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key <AC11> { [ Cyrillic_e, Cyrillic_E ] }; key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] }; key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] }; key <AB03> { [ Cyrillic_es, Cyrillic_ES ] }; key <AB04> { [ Cyrillic_em, Cyrillic_EM ] }; key <AB06> { [ Cyrillic_te, Cyrillic_TE ] }; key <AB05> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key <AB08> { [ Cyrillic_be, Cyrillic_BE ] }; key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] }; }; // Kikkarin KZ2 partial alphanumeric_keys xkb_symbols "kazrus" { name[Group1] = "Kazakh (with Russian)"; key.type[group1] = "FOUR_LEVEL"; key <AE01> { [ 1, exclam ] }; key <AE02> { [ 2, quotedbl, at ] }; key <AE03> { [ 3, numerosign, numbersign ] }; key <AE04> { [ 4, semicolon, dollar ] }; 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, slash, bar ] }; key <AB10> { [ period, comma, slash, question ] }; key <LSGT> { [ less, greater, bar, brokenbar ] }; key.type[group1] = "FOUR_LEVEL_ALPHABETIC"; key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] }; key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; key <AD02> { [ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_tse, Cyrillic_TSE ] }; key <AD03> { [ Cyrillic_u, Cyrillic_U ] }; key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] }; key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; key <AD06> { [ Cyrillic_en, Cyrillic_EN ] }; key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] }; key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] }; key <AD09> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, Cyrillic_shcha, Cyrillic_SHCHA ] }; key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] }; key <AD12> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; key <AC01> { [ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_ef, Cyrillic_EF ] }; key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] }; key <AC03> { [ Cyrillic_ka_descender, Cyrillic_KA_descender, 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_schwa, Cyrillic_SCHWA, Cyrillic_e, Cyrillic_E ] }; key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] }; key <AB02> { [ Ukrainian_i, Ukrainian_I, Cyrillic_che, Cyrillic_CHE ] }; key <AB03> { [ Cyrillic_es, Cyrillic_ES ] }; key <AB04> { [ Cyrillic_em, Cyrillic_EM ] }; key <AB06> { [ Cyrillic_te, Cyrillic_TE ] }; key <AB05> { [ Cyrillic_i, Cyrillic_I ] }; key <AB07> { [ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key <AB08> { [ Cyrillic_be, Cyrillic_BE ] }; key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] }; }; partial alphanumeric_keys xkb_symbols "olpc" { // Contact: Walter Bender <walter@laptop.org> // We moved the Cyrillic IO off of the Tilde Key as an Alt-GR character // and moved it onto the Backslash key, making Backslash and Bar available // through the Latin side of the keyboard. include "kz(basic)" name[Group1] = "Kazakh"; key <TLDE> { [ parenleft, parenright ] }; key <BKSL> { [ Cyrillic_io, Cyrillic_IO ] }; include "group(olpc)" };