// Keyboard layouts for the Ukraine. // AEN & Leon Kanter , // Andriy Rysin , Oleksiy Protas // The legacy WinKeys layout extended on the third and fourth level with // some Unicode symbols, Cyrillics from other Slavic languages, and some // often-used ASCII symbols. default partial alphanumeric_keys xkb_symbols "unicode" { include "ua(legacy)" name[Group1]= "Ukrainian"; key { [ apostrophe, U02BC, U0301, asciitilde ] }; // Apostrophe and Stress symbol key { [ 1, exclam, onesuperior ] }; key { [ 2, quotedbl, twosuperior, U2019 ] }; // single quote used often as an apostrophe (deprecated) key { [ 3, numerosign, section, U20B4 ] }; // Paragraph and Hryvnia sign key { [ 4, semicolon, dollar, EuroSign ] }; key { [ 5, percent, degree ] }; key { [ 6, colon, less ] }; key { [ 7, question, greater ] }; key { [ 8, asterisk, enfilledcircbullet ] }; key { [ 9, parenleft, bracketleft, braceleft ] }; key { [ 0, parenright, bracketright, braceright ] }; key { [ minus, underscore, emdash, endash ] }; key { [ equal, plus, notequal, plusminus ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_je, Cyrillic_JE ] }; key { [ Cyrillic_tse, Cyrillic_TSE, Cyrillic_dzhe, Cyrillic_DZHE ] }; key { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] }; key { [ Cyrillic_ka, Cyrillic_KA, registered ] }; // Registered tm key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; key { [ Cyrillic_en, Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE ] }; key { [ Ukrainian_yi, Ukrainian_YI, Cyrillic_hardsign,Cyrillic_HARDSIGN ] }; key { [ Ukrainian_i, Ukrainian_I, Cyrillic_yeru, Cyrillic_YERU ] }; key { [ Cyrillic_el, Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE ] }; key { [ Cyrillic_de, Cyrillic_DE, Serbian_dje, Serbian_DJE ] }; key { [ Ukrainian_ie, Ukrainian_IE, Cyrillic_e, Cyrillic_E ] }; key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN, backslash, bar ] }; key { [ Cyrillic_che, Cyrillic_CHE, Serbian_tshe, Serbian_TSHE ] }; key { [ Cyrillic_es, Cyrillic_ES, copyright ] }; key { [ Cyrillic_te, Cyrillic_TE, trademark ] }; key { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] }; key { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] }; key { [ period, comma, slash, ellipsis ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "macOS" { include "ua(unicode)" name[Group1]= "Ukrainian (macOS)"; key { [ apostrophe, asciitilde, bracketright, bracketleft ] }; key { [ 1, exclam, exclam, U0174 ] }; key { [ 2, quotedbl, at, quotedbl ] }; key { [ 3, numerosign, numbersign, U20B4 ] }; key { [ 4, percent, dollar, EuroSign ] }; key { [ 5, colon, degree ] }; key { [ 6, comma, less ] }; key { [ 7, period, ampersand, U204B ] }; key { [ 8, semicolon, asterisk, U221A ] }; key { [ 9, parenleft, parenleft, apostrophe ] }; key { [ 0, parenright, parenright, grave ] }; key { [ minus, underscore, endash, emdash ] }; key { [ equal, plus, U00BB, U00AB ] }; key { [ Cyrillic_i, Cyrillic_I, Cyrillic_yeru, Cyrillic_YERU ] }; key { [ Ukrainian_i, Ukrainian_I, Cyrillic_i, Cyrillic_I ] }; key { [ Cyrillic_be, Cyrillic_BE, lessthanequal, less ] }; key { [ Cyrillic_yu, Cyrillic_YU, greaterthanequal, greater ] }; key { [ slash, question, U201C, U201E] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "legacy" { name[Group1]= "Ukrainian (legacy)"; key { [ apostrophe, asciitilde ] }; key { [ 1, exclam ] }; key { [ 2, quotedbl ] }; key { [ 3, numbersign ] }; key { [ 4, asterisk ] }; key { [ 5, colon ] }; key { [ 6, comma ] }; key { [ 7, period ] }; key { [ 8, semicolon ] }; key { [ 9, parenleft ] }; key { [ 0, parenright ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; 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 { [ Ukrainian_yi, Ukrainian_YI ] }; key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key { [ Cyrillic_ef, Cyrillic_EF ] }; key { [ Ukrainian_i, Ukrainian_I ] }; 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 { [ Ukrainian_ie, Ukrainian_IE ] }; key { [ slash, bar ] }; key { [ Cyrillic_ya, Cyrillic_YA ] }; key { [ Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_es, Cyrillic_ES ] }; key { [ Cyrillic_em, Cyrillic_EM ] }; key { [ Cyrillic_i, Cyrillic_I ] }; key { [ Cyrillic_te, Cyrillic_TE ] }; key {[Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; key { [ Cyrillic_be, Cyrillic_BE ] }; key { [ Cyrillic_yu, Cyrillic_YU ] }; key { [ slash, question ] }; }; partial alphanumeric_keys xkb_symbols "winkeys" { include "ua(legacy)" name[Group1]= "Ukrainian (Windows)"; key { [ 3, numerosign ] }; key { [ 4, semicolon ] }; key { [ 5, percent ] }; key { [ 6, colon ] }; key { [ 7, question ] }; key { [ 8, asterisk ] }; key { [ period, comma ] }; }; partial alphanumeric_keys xkb_symbols "typewriter" { include "ua(legacy)" name[Group1]= "Ukrainian (typewriter)"; key { [ apostrophe, quotedbl ] }; key { [ exclam, 1 ] }; key { [ numerosign, 2 ] }; key { [ slash, 3 ] }; key { [ semicolon, 4 ] }; key { [ colon, 5 ] }; key { [ comma, 6 ] }; key { [ period, 7 ] }; key { [ underscore, 8 ] }; key { [ question, 9 ] }; key { [ percent, 0 ] }; key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key { [ Cyrillic_i, Cyrillic_I ] }; key { [ Ukrainian_i, Ukrainian_I ] }; key { [ Ukrainian_yi, Ukrainian_YI ] }; key { [ parenleft, parenright ] }; }; partial alphanumeric_keys xkb_symbols "phonetic" { include "ua(legacy)" name[Group1]= "Ukrainian (phonetic)"; key { [ Cyrillic_ya, Cyrillic_YA ] }; key { [ Cyrillic_ve, Cyrillic_VE ] }; key { [ Cyrillic_ie, Cyrillic_IE ] }; key { [ Cyrillic_er, Cyrillic_ER ] }; key { [ Cyrillic_te, Cyrillic_TE ] }; key { [ Cyrillic_i, Cyrillic_I ] }; key { [ Cyrillic_u, Cyrillic_U ] }; key { [ Ukrainian_i, Ukrainian_I ] }; key { [ Cyrillic_o, Cyrillic_O ] }; key { [ Cyrillic_pe, Cyrillic_PE ] }; key { [ Cyrillic_sha, Cyrillic_SHA ] }; key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; key { [ Cyrillic_a, Cyrillic_A ] }; key { [ Cyrillic_es, Cyrillic_ES ] }; key { [ Cyrillic_de, Cyrillic_DE ] }; key { [ Cyrillic_ef, Cyrillic_EF ] }; key { [ Cyrillic_ghe, Cyrillic_GHE ] }; key { [ Cyrillic_ha, Cyrillic_HA ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; key { [ Cyrillic_ka, Cyrillic_KA ] }; key { [ Cyrillic_el, Cyrillic_EL ] }; key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key { [ Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_yu, Cyrillic_YU ] }; key { [ Cyrillic_ze, Cyrillic_ZE ] }; key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key { [ Cyrillic_tse, Cyrillic_TSE ] }; key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key { [ Cyrillic_be, Cyrillic_BE ] }; key { [ Cyrillic_en, Cyrillic_EN ] }; key { [ Cyrillic_em, Cyrillic_EM ] }; key { [ Ukrainian_yi, Ukrainian_YI ] }; key { [ Ukrainian_ie, Ukrainian_IE ] }; key { [ slash, question ] }; }; // Ukrainian RSTU 2019-91 keyboard layout (Respublikanskij STandart Ukrajiny). // Andrew Porokhnyak partial alphanumeric_keys xkb_symbols "rstu" { include "ua(legacy)" name[Group1]= "Ukrainian (standard RSTU)"; key { [ apostrophe, question ] }; key { [ exclam, 1 ] }; key { [ quotedbl, 2 ] }; key { [ numbersign, 3 ] }; key { [ semicolon, 4 ] }; key { [ colon, 5 ] }; key { [ comma, 6 ] }; key { [ period, 7 ] }; key { [ asterisk, 8 ] }; key { [ parenleft, 9 ] }; key { [ parenright, 0 ] }; key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key { [ Cyrillic_i, Cyrillic_I ] }; key { [ Ukrainian_i, Ukrainian_I ] }; key { [ Ukrainian_yi, Ukrainian_YI ] }; key { [ slash, percent ] }; }; // Russian RSTU 2019-91 keyboard layout (Respublikanskij STandart Ukrajiny). // Andrew Porokhnyak partial alphanumeric_keys xkb_symbols "rstu_ru" { include "ru(common)" name[Group1]= "Russian (Ukraine, standard RSTU)"; key { [ apostrophe, question ] }; key { [ exclam, 1 ] }; key { [ quotedbl, 2 ] }; key { [ numbersign, 3 ] }; key { [ semicolon, 4 ] }; key { [ colon, 5 ] }; key { [ comma, 6 ] }; key { [ period, 7 ] }; key { [ asterisk, 8 ] }; key { [ parenleft, 9 ] }; key { [ parenright, 0 ] }; key { [ slash, percent ] }; key.type[group1]="ALPHABETIC"; key { [ 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 { [ grave, underscore ] }; key { [ 1, exclam ] }; key { [ 2, at ] }; key { [ 3, semicolon ] }; key { [ 4, colon ] }; key { [ 5, percent ] }; key { [ 6, apostrophe ] }; key { [ 7, quotedbl ] }; key { [ 8, asterisk ] }; key { [ 9, parenleft ] }; key { [ 0, parenright ] }; key { [ Ukrainian_ie, Ukrainian_IE ] }; key { [ Ukrainian_yi, Ukrainian_YI ] }; key { [ Cyrillic_ya, Cyrillic_YA ] }; key { [ Cyrillic_sha, Cyrillic_SHA ] }; key { [ Cyrillic_ie, Cyrillic_IE ] }; key { [ Cyrillic_er, Cyrillic_ER ] }; key { [ Cyrillic_te, Cyrillic_TE ] }; key { [ Cyrillic_i, Cyrillic_I ] }; key { [ Cyrillic_u, Cyrillic_U ] }; key { [ Ukrainian_i, Ukrainian_I ] }; key { [ Cyrillic_o, Cyrillic_O ] }; key { [ Cyrillic_pe, Cyrillic_PE ] }; key { [ Cyrillic_yu, Cyrillic_YU ] }; key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; key { [ Cyrillic_a, Cyrillic_A ] }; key { [ Cyrillic_es, Cyrillic_ES ] }; key { [ Cyrillic_de, Cyrillic_DE ] }; key { [ Cyrillic_ef, Cyrillic_EF ] }; key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key { [ Cyrillic_ghe, Cyrillic_GHE ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; key { [ Cyrillic_ka, Cyrillic_KA ] }; key { [ Cyrillic_el, Cyrillic_EL ] }; key { [ Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key { [ Cyrillic_ze, Cyrillic_ZE ] }; key { [ Cyrillic_ha, Cyrillic_HA ] }; key { [ Cyrillic_tse, Cyrillic_TSE ] }; key { [ Cyrillic_ve, Cyrillic_VE ] }; key { [ Cyrillic_be, Cyrillic_BE ] }; key { [ Cyrillic_en, Cyrillic_EN ] }; key { [ Cyrillic_em, Cyrillic_EM ] }; key { [ comma, less ] }; key { [ period, greater ] }; key { [ slash, question ] }; }; // Crimean Tatar (Crimean Turkish) layouts. // First released (by Ubuntu): 2009-02-24. // These layouts are not yet standard. In particular, the mapping of // the letter 'x' might change in the future. This letter is not used // in the current official alphabet, but is included in the layouts for // foreign words and for shortcuts. // Reşat SABIQ , 2009 // Özgür Qarahan , 2009 // Crimean Tatar (Crimean Turkish) Q layout partial xkb_symbols "crh" { include "tr(basic)" name[Group1]="Crimean Tatar (Turkish Q)"; key { [ quotedbl, backslash, less, degree ] }; key { [ x, X, asterisk, question ] }; key { [ f, F, iacute, Iacute ] }; key { [ j, J, ibreve, Ibreve ] }; key { [ ntilde, Ntilde, guillemotright, greater ] }; }; // Crimean Tatar (Crimean Turkish) F layout partial xkb_symbols "crh_f" { include "tr(f)" name[Group1]="Crimean Tatar (Turkish F)"; key { [ plus, asterisk, backslash, plusminus ] }; key { [ x, X, slash, question ] }; key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ idotless, I, iacute, Iacute ] }; key { [ k, K, ibreve, Ibreve ] }; key { [ ntilde, Ntilde, grave, dead_grave ] }; }; // Crimean Tatar (Crimean Turkish) Alt-Q layout partial xkb_symbols "crh_alt" { include "tr(alt)" name[Group1]="Crimean Tatar (Turkish Alt-Q)"; key { [ f, F, iacute, Iacute ] }; key { [ j, J, ibreve, Ibreve ] }; key { [ n, N, ntilde, Ntilde ] }; }; // EXTRAS: partial alphanumeric_keys xkb_symbols "sun_type6" { include "sun_vndr/ua(sun_type6)" };