// Keyboard layouts for Ukraine. // Original authors: AEN & Leon Kanter , // Andriy Rysin , Oleksiy Protas // This is the legacy WinKeys layout extended on the third and fourth levels // 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 ]}; // ® 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, guillemotright, guillemotleft ]}; 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 ]}; }; // 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" { 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 {[ slash, bar ]}; 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 {[ idotless, I, iacute, Iacute ], type[group1] = "FOUR_LEVEL_ALPHABETIC" }; 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)" };