// Based on http://www.sci.kz/~sairan/keyboard/kzkbd.html // Baurzhan Ismagulov // // TODO: // 1. AltGr with TLDE and LSGT. // 2. Dead key for ruskaz and kazrus. // 3. Ctrl + . // 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 { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] }; key { [ doublelowquotemark, exclam ] }; key { [ comma, semicolon ] }; key { [ period, colon ] }; key { [ backslash, slash ] }; key { [ numerosign, question ] }; key { [ less, greater, bar, brokenbar ] }; key.type[group1] = "ALPHABETIC"; key { [ Cyrillic_schwa, Cyrillic_SCHWA ] }; key { [ Ukrainian_i, Ukrainian_I ] }; key { [ Cyrillic_en_descender, Cyrillic_EN_descender ] }; key { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] }; key { [ Cyrillic_u_straight, Cyrillic_U_straight ] }; key { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] }; key { [ Cyrillic_ka_descender, Cyrillic_KA_descender ] }; key { [ Cyrillic_o_bar, Cyrillic_O_bar ] }; key { [ Cyrillic_shha, Cyrillic_SHHA ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; key { [ Cyrillic_tse, Cyrillic_TSE ] }; key { [ Cyrillic_u, Cyrillic_U ] }; key { [ Cyrillic_ka, Cyrillic_KA ] }; key { [ Cyrillic_ie, Cyrillic_IE ] }; key { [ Cyrillic_en, Cyrillic_EN ] }; key { [ Cyrillic_ghe, Cyrillic_GHE ] }; key { [ Cyrillic_sha, Cyrillic_SHA ] }; key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; key { [ Cyrillic_ze, Cyrillic_ZE ] }; key { [ Cyrillic_ha, Cyrillic_HA ] }; key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; key { [ Cyrillic_ef, Cyrillic_EF ] }; key { [ Cyrillic_yeru, Cyrillic_YERU ] }; key { [ Cyrillic_ve, Cyrillic_VE ] }; key { [ Cyrillic_a, Cyrillic_A ] }; key { [ Cyrillic_pe, Cyrillic_PE ] }; key { [ Cyrillic_er, Cyrillic_ER ] }; key { [ Cyrillic_o, Cyrillic_O ] }; key { [ Cyrillic_el, Cyrillic_EL ] }; key { [ Cyrillic_de, Cyrillic_DE ] }; key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key { [ Cyrillic_e, Cyrillic_E ] }; key { [ Cyrillic_ya, Cyrillic_YA ] }; key { [ Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_es, Cyrillic_ES ] }; key { [ Cyrillic_em, Cyrillic_EM ] }; key { [ Cyrillic_te, Cyrillic_TE ] }; key { [ Cyrillic_i, Cyrillic_I ] }; key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key { [ Cyrillic_be, Cyrillic_BE ] }; key { [ 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 { [ 1, exclam ] }; key { [ 2, quotedbl, at ] }; key { [ 3, numerosign, numbersign ] }; key { [ 4, semicolon, dollar ] }; key { [ 5, percent ] }; key { [ 6, colon, asciicircum ] }; key { [ 7, question, ampersand ] }; key { [ 8, asterisk ] }; key { [ 9, parenleft ] }; key { [ 0, parenright ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; key { [ backslash, slash, bar ] }; key { [ period, comma, slash, question ] }; key { [ less, greater, bar, brokenbar ] }; key.type[group1] = "FOUR_LEVEL_ALPHABETIC"; key { [ Cyrillic_io, Cyrillic_IO ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] }; key { [ Cyrillic_tse, Cyrillic_TSE ] }; key { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] }; key { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] }; key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; key { [ Cyrillic_en, Cyrillic_EN, Cyrillic_en_descender, Cyrillic_EN_descender ] }; key { [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_ghe_bar, Cyrillic_GHE_bar ] }; key { [ Cyrillic_sha, Cyrillic_SHA ] }; key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; key { [ Cyrillic_ze, Cyrillic_ZE ] }; key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] }; key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; key { [ Cyrillic_ef, Cyrillic_EF ] }; key { [ Cyrillic_yeru, Cyrillic_YERU ] }; key { [ Cyrillic_ve, Cyrillic_VE ] }; key { [ Cyrillic_a, Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA ] }; key { [ Cyrillic_pe, Cyrillic_PE ] }; key { [ Cyrillic_er, Cyrillic_ER ] }; key { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] }; key { [ Cyrillic_el, Cyrillic_EL ] }; key { [ Cyrillic_de, Cyrillic_DE ] }; key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key { [ Cyrillic_e, Cyrillic_E ] }; key { [ Cyrillic_ya, Cyrillic_YA ] }; key { [ Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_es, Cyrillic_ES ] }; key { [ Cyrillic_em, Cyrillic_EM ] }; key { [ Cyrillic_te, Cyrillic_TE ] }; key { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key { [ Cyrillic_be, Cyrillic_BE ] }; key { [ Cyrillic_yu, Cyrillic_YU ] }; }; // Kikkarin KZ2 partial alphanumeric_keys xkb_symbols "kazrus" { name[Group1] = "Kazakh (with Russian)"; key.type[group1] = "FOUR_LEVEL"; key { [ 1, exclam ] }; key { [ 2, quotedbl, at ] }; key { [ 3, numerosign, numbersign ] }; key { [ 4, semicolon, dollar ] }; key { [ 5, percent ] }; key { [ 6, colon, asciicircum ] }; key { [ 7, question, ampersand ] }; key { [ 8, asterisk ] }; key { [ 9, parenleft ] }; key { [ 0, parenright ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; key { [ backslash, slash, bar ] }; key { [ period, comma, slash, question ] }; key { [ less, greater, bar, brokenbar ] }; key.type[group1] = "FOUR_LEVEL_ALPHABETIC"; key { [ Cyrillic_io, Cyrillic_IO ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; key { [ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_tse, Cyrillic_TSE ] }; key { [ Cyrillic_u, Cyrillic_U ] }; key { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] }; key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; key { [ Cyrillic_en, Cyrillic_EN ] }; key { [ Cyrillic_ghe, Cyrillic_GHE ] }; key { [ Cyrillic_sha, Cyrillic_SHA ] }; key { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, Cyrillic_shcha, Cyrillic_SHCHA ] }; key { [ Cyrillic_ze, Cyrillic_ZE ] }; key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] }; key { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; key { [ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_ef, Cyrillic_EF ] }; key { [ Cyrillic_yeru, Cyrillic_YERU ] }; key { [ Cyrillic_ka_descender, Cyrillic_KA_descender, Cyrillic_ve, Cyrillic_VE ] }; key { [ Cyrillic_a, Cyrillic_A ] }; key { [ Cyrillic_pe, Cyrillic_PE ] }; key { [ Cyrillic_er, Cyrillic_ER ] }; key { [ Cyrillic_o, Cyrillic_O ] }; key { [ Cyrillic_el, Cyrillic_EL ] }; key { [ Cyrillic_de, Cyrillic_DE ] }; key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_e, Cyrillic_E ] }; key { [ Cyrillic_ya, Cyrillic_YA ] }; key { [ Ukrainian_i, Ukrainian_I, Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_es, Cyrillic_ES ] }; key { [ Cyrillic_em, Cyrillic_EM ] }; key { [ Cyrillic_te, Cyrillic_TE ] }; key { [ Cyrillic_i, Cyrillic_I ] }; key { [ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key { [ Cyrillic_be, Cyrillic_BE ] }; key { [ Cyrillic_yu, Cyrillic_YU ] }; }; partial alphanumeric_keys xkb_symbols "olpc" { // Contact: Walter Bender // 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 { [ parenleft, parenright ] }; key { [ Cyrillic_io, Cyrillic_IO ] }; include "group(olpc)" };