// Keyboard layouts for the Ukraine. // AEN <aen@logic.ru> & Leon Kanter <leon@geon.donetsk.ua> // last changes 2007/10/03 by Andriy Rysin <arysin@yahoo.com> // Oleksiy Protas <elfy.ua@gmail.com>: // - Added Serbian Cyrillics support // The legacy WinKeys layout extended on the third and fourth level with // some Unicode symbols (typographic quotes, m-dash, n-dash, ...), some // often-used Cyrillics from other Slavic languages, and some often-used // ASCII symbols (slash, brackets, ...). default partial alphanumeric_keys xkb_symbols "unicode" { include "ua(winkeys)" name[Group1]= "Ukrainian"; key <TLDE> { [ apostrophe, U02BC, U0301, asciitilde ] }; // Apostrophe and Stress symbol key <AE01> { [ 1, exclam, onesuperior ] }; key <AE02> { [ 2, quotedbl, twosuperior, U2019 ] }; // single quote used often as an apostrophe (deprecated) key <AE03> { [ 3, numerosign, U00A7, U20B4 ] }; // Paragraph and Hryvnia sign key <AE04> { [ 4, semicolon, dollar, EuroSign ] }; key <AE05> { [ 5, percent, degree ] }; key <AE06> { [ 6, colon, less ] }; key <AE07> { [ 7, question, greater ] }; key <AE08> { [ 8, asterisk, enfilledcircbullet ] }; key <AE09> { [ 9, parenleft, bracketleft, braceleft ] }; key <AE10> { [ 0, parenright, bracketright, braceright ] }; key <AE11> { [ minus, underscore, emdash, endash ] }; key <AE12> { [ equal, plus, notequal, plusminus ] }; key <AD03> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] }; key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] }; // Registered tm key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; key <AD12> { [ Ukrainian_yi, Ukrainian_YI, Cyrillic_hardsign,Cyrillic_HARDSIGN ] }; key <AC02> { [ Ukrainian_i, Ukrainian_I, Cyrillic_yeru, Cyrillic_YERU ] }; key <AC11> { [ Ukrainian_ie, Ukrainian_IE, Cyrillic_e, Cyrillic_E ] }; key <BKSL> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN, backslash, bar ] }; key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] }; key <AB06> { [ Cyrillic_te, Cyrillic_TE, trademark ] }; key <AB08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] }; key <AB09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] }; key <AB10> { [ period, comma, slash, ellipsis ] }; // Serbian Vukovica key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_je, Cyrillic_JE ] }; key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, Cyrillic_dzhe, Cyrillic_DZHE ] }; key <AC09> { [ Cyrillic_de, Cyrillic_DE, Serbian_dje, Serbian_DJE ] }; key <AB02> { [ Cyrillic_che, Cyrillic_CHE, Serbian_tshe, Serbian_TSHE ] }; key <AC08> { [ Cyrillic_el, Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE ] }; key <AD06> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "legacy" { name[Group1]= "Ukrainian (legacy)"; key <TLDE> { [ apostrophe, asciitilde ] }; key <AE01> { [ 1, exclam ] }; key <AE02> { [ 2, quotedbl ] }; key <AE03> { [ 3, numbersign ] }; key <AE04> { [ 4, asterisk ] }; key <AE05> { [ 5, colon ] }; key <AE06> { [ 6, comma ] }; key <AE07> { [ 7, period ] }; key <AE08> { [ 8, semicolon ] }; key <AE09> { [ 9, parenleft ] }; key <AE10> { [ 0, parenright ] }; key <AE11> { [ minus, underscore ] }; key <AE12> { [ equal, plus ] }; 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> { [ Ukrainian_yi, Ukrainian_YI ] }; key <BKSL> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] }; key <AC02> { [ Ukrainian_i, Ukrainian_I ] }; 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> { [ Ukrainian_ie, Ukrainian_IE ] }; 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 <AB10> { [ slash, question ] }; key <LSGT> { [ slash, bar ] }; }; partial alphanumeric_keys xkb_symbols "winkeys" { include "ua(legacy)" name[Group1]= "Ukrainian (Win keys)"; key <AE03> { [ 3, numerosign ] }; key <AE04> { [ 4, semicolon ] }; key <AE05> { [ 5, percent ] }; key <AE06> { [ 6, colon ] }; key <AE07> { [ 7, question ] }; key <AE08> { [ 8, asterisk ] }; key <AB10> { [ period, comma ] }; }; partial alphanumeric_keys xkb_symbols "typewriter" { include "ua(legacy)" name[Group1]= "Ukrainian (typewriter)"; key <TLDE> { [ apostrophe, quotedbl ] }; key <AE01> { [ exclam, 1 ] }; key <AE02> { [ numerosign, 2 ] }; key <AE03> { [ slash, 3 ] }; key <AE04> { [ semicolon, 4 ] }; key <AE05> { [ colon, 5 ] }; key <AE06> { [ comma, 6 ] }; key <AE07> { [ period, 7 ] }; key <AE08> { [ underscore, 8 ] }; key <AE09> { [ question, 9 ] }; key <AE10> { [ percent, 0 ] }; key <AD12> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key <AC02> { [ Cyrillic_i, Cyrillic_I ] }; key <AB05> { [ Ukrainian_i, Ukrainian_I ] }; key <AB10> { [ Ukrainian_yi, Ukrainian_YI ] }; key <BKSL> { [ parenleft, parenright ] }; }; partial alphanumeric_keys xkb_symbols "phonetic" { include "ua(legacy)" name[Group1]= "Ukrainian (phonetic)"; key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] }; key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] }; key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] }; key <LatR> { [ Cyrillic_er, Cyrillic_ER ] }; key <LatT> { [ Cyrillic_te, Cyrillic_TE ] }; key <LatY> { [ Cyrillic_i, Cyrillic_I ] }; key <LatU> { [ Cyrillic_u, Cyrillic_U ] }; key <LatI> { [ Ukrainian_i, Ukrainian_I ] }; key <LatO> { [ Cyrillic_o, Cyrillic_O ] }; key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] }; key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] }; key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; key <LatA> { [ Cyrillic_a, Cyrillic_A ] }; key <LatS> { [ Cyrillic_es, Cyrillic_ES ] }; key <LatD> { [ Cyrillic_de, Cyrillic_DE ] }; key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] }; key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] }; key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] }; key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] }; key <LatL> { [ Cyrillic_el, Cyrillic_EL ] }; key <AC10> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key <AC11> { [ Cyrillic_che, Cyrillic_CHE ] }; key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] }; key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] }; key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] }; key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key <LatB> { [ Cyrillic_be, Cyrillic_BE ] }; key <LatN> { [ Cyrillic_en, Cyrillic_EN ] }; key <LatM> { [ Cyrillic_em, Cyrillic_EM ] }; key <AB08> { [ Ukrainian_yi, Ukrainian_YI ] }; key <AB09> { [ Ukrainian_ie, Ukrainian_IE ] }; key <AB10> { [ slash, question ] }; }; // Ukrainian RSTU 2019-91 keyboard layout (Respublikanskij STandart Ukrajiny). // Andrew Porokhnyak <aop@porokhnyak.org> partial alphanumeric_keys xkb_symbols "rstu" { include "ua(legacy)" name[Group1]= "Ukrainian (standard RSTU)"; key <TLDE> { [ apostrophe, question ] }; key <AE01> { [ exclam, 1 ] }; key <AE02> { [ quotedbl, 2 ] }; key <AE03> { [ numbersign, 3 ] }; key <AE04> { [ semicolon, 4 ] }; key <AE05> { [ colon, 5 ] }; key <AE06> { [ comma, 6 ] }; key <AE07> { [ period, 7 ] }; key <AE08> { [ asterisk, 8 ] }; key <AE09> { [ parenleft, 9 ] }; key <AE10> { [ parenright, 0 ] }; key <AD12> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key <AC02> { [ Cyrillic_i, Cyrillic_I ] }; key <AB05> { [ Ukrainian_i, Ukrainian_I ] }; key <AB10> { [ Ukrainian_yi, Ukrainian_YI ] }; key <BKSL> { [ slash, percent ] }; }; // Russian RSTU 2019-91 keyboard layout (Respublikanskij STandart Ukrajiny). // Andrew Porokhnyak <aop@porokhnyak.org> partial alphanumeric_keys xkb_symbols "rstu_ru" { include "ru(common)" name[Group1]= "Russian (Ukraine, standard RSTU)"; key <TLDE> { [ apostrophe, question ] }; key <AE01> { [ exclam, 1 ] }; key <AE02> { [ quotedbl, 2 ] }; key <AE03> { [ numbersign, 3 ] }; key <AE04> { [ semicolon, 4 ] }; key <AE05> { [ colon, 5 ] }; key <AE06> { [ comma, 6 ] }; key <AE07> { [ period, 7 ] }; key <AE08> { [ asterisk, 8 ] }; key <AE09> { [ parenleft, 9 ] }; key <AE10> { [ parenright, 0 ] }; key <BKSL> { [ slash, percent ] }; key.type[group1]="ALPHABETIC"; key <AB10> { [ Cyrillic_io, Cyrillic_IO ] }; }; // Homophonic keyboard layout (by Tomas Marko Miljenović), // based on the Ukrainian National Transliteration, // commonly used phonetic layouts for Mac and Win. partial alphanumeric_keys xkb_symbols "homophonic" { include "ua(legacy)" name[Group1]= "Ukrainian (homophonic)"; key <TLDE> { [ grave, underscore ] }; key <AE01> { [ 1, exclam ] }; key <AE02> { [ 2, at ] }; key <AE03> { [ 3, semicolon ] }; key <AE04> { [ 4, colon ] }; key <AE05> { [ 5, percent ] }; key <AE06> { [ 6, apostrophe ] }; key <AE07> { [ 7, quotedbl ] }; key <AE08> { [ 8, asterisk ] }; key <AE09> { [ 9, parenleft ] }; key <AE10> { [ 0, parenright ] }; key <AE11> { [ Ukrainian_ie, Ukrainian_IE ] }; key <AE12> { [ Ukrainian_yi, Ukrainian_YI ] }; key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] }; key <LatW> { [ Cyrillic_sha, Cyrillic_SHA ] }; key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] }; key <LatR> { [ Cyrillic_er, Cyrillic_ER ] }; key <LatT> { [ Cyrillic_te, Cyrillic_TE ] }; key <LatY> { [ Cyrillic_i, Cyrillic_I ] }; key <LatU> { [ Cyrillic_u, Cyrillic_U ] }; key <LatI> { [ Ukrainian_i, Ukrainian_I ] }; key <LatO> { [ Cyrillic_o, Cyrillic_O ] }; key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] }; key <AD11> { [ Cyrillic_yu, Cyrillic_YU ] }; key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; key <LatA> { [ Cyrillic_a, Cyrillic_A ] }; key <LatS> { [ Cyrillic_es, Cyrillic_ES ] }; key <LatD> { [ Cyrillic_de, Cyrillic_DE ] }; key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] }; key <LatG> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key <LatH> { [ Cyrillic_ghe, Cyrillic_GHE ] }; key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] }; key <LatL> { [ Cyrillic_el, Cyrillic_EL ] }; key <AC10> { [ Cyrillic_che, Cyrillic_CHE ] }; key <AC11> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key <BKSL> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] }; key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] }; key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] }; key <LatV> { [ Cyrillic_ve, Cyrillic_VE ] }; key <LatB> { [ Cyrillic_be, Cyrillic_BE ] }; key <LatN> { [ Cyrillic_en, Cyrillic_EN ] }; key <LatM> { [ Cyrillic_em, Cyrillic_EM ] }; key <AB08> { [ comma, less ] }; key <AB09> { [ period, greater ] }; key <AB10> { [ slash, question ] }; }; // EXTRAS: partial alphanumeric_keys xkb_symbols "sun_type6" { include "sun_vndr/ua(sun_type6)" };