Skip to content

Instantly share code, notes, and snippets.

@rozhok
Created October 12, 2020 22:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rozhok/37b2d7655776d563259fd432637b889a to your computer and use it in GitHub Desktop.
Save rozhok/37b2d7655776d563259fd432637b889a to your computer and use it in GitHub Desktop.
xkb layout for comnbined Ukrainian-Russian keyboard
partial default alphanumeric_keys
xkb_symbols "typo-birman-ua" {
name[Group1]= "Ukrainian (Typographic by Ilya Birman)";
// 1st keyboard row
key <TLDE> { [ apostrophe, grave, Cyrillic_io, Cyrillic_IO ] }; // "~"
key <AE01> { [ 1, exclam, onesuperior, exclamdown ] }; // "1""
key <AE02> { [ 2, quotedbl, twosuperior, onehalf ] }; // "2"
key <AE03> { [ 3, numerosign, threesuperior, onethird ] }; // "3"
key <AE04> { [ 4, semicolon, dollar, onequarter ] }; // "4"
key <AE05> { [ 5, percent, U2030, NoSymbol ] }; // "5" // U+2030 PER MILLE SIGN (‰)
key <AE06> { [ 6, colon, uparrow, dead_circumflex ] }; // "6"
key <AE07> { [ 7, question, ampersand, questiondown ] }; // "7" // +&
key <AE08> { [ 8, asterisk, infinity, oneeighth ] }; // "8" // +S⅛
key <AE09> { [ 9, parenleft, leftarrow, NoSymbol ] }; // "9"
key <AE10> { [ 0, parenright, rightarrow, NoSymbol ] }; // "0"
key <AE11> { [ minus, underscore, emdash, endash ] }; // "-"
key <AE12> { [ equal, plus, notequal, plusminus ] }; // "="
// 2nd keyboard row
key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, NoSymbol, dead_breve ] }; // "q"
key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, NoSymbol, NoSymbol ] }; // "w"
key <AD03> { [ Cyrillic_u, Cyrillic_U, EuroSign, NoSymbol ] }; // "e"
key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered, dead_abovering ] }; // "r"
key <AD05> { [ Cyrillic_ie, Cyrillic_IE, trademark, NoSymbol ] }; // "t"
key <AD06> { [ Cyrillic_en, Cyrillic_EN, U0463, U0462 ] }; // "y" // U+0463 CYRILLIC SMALL LETTER YAT // U+0462 CYRILLIC CAPITAL LETTER YAT
key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, U0475, U0474 ] }; // "u" // U+0475 CYRILLIC SMALL LETTER IZHITSA // U+0474 CYRILLIC CAPITAL LETTER IZHITSA
key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, Ukrainian_i, Ukrainian_I ] }; // "i"
key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, U0473, U0472 ] }; // "o" // U+0473 CYRILLIC SMALL LETTER FITA // U+0472 CYRILLIC CAPITAL LETTER FITA
key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, acute, doubleacute ] }; // "p"
key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] }; // "["
key <AD12> { [ Ukrainian_yi, Ukrainian_YI, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // "]"
// 3rd keyboard row
key <AC01> { [ Cyrillic_ef, Cyrillic_EF, U2248, U2318 ] }; // "a" // U+2248 ALMOST EQUAL TO // U+2318 PLACE OF INTEREST SIGN
key <AC02> { [ Ukrainian_i, Ukrainian_I, Cyrillic_yeru, Cyrillic_YERU ] }; // "s"
key <AC03> { [ Cyrillic_ve, Cyrillic_VE, degree, U2300 ] }; // "d" // U+2300 DIAMETER SIGN
key <AC04> { [ Cyrillic_a, Cyrillic_A, sterling, NoSymbol ] }; // "f"
key <AC05> { [ Cyrillic_pe, Cyrillic_PE, U20B4, NoSymbol ] }; // "g" // +₴ // U+20b4 UKRAINIAN HRIVNYA
key <AC06> { [ Cyrillic_er, Cyrillic_ER, U20BD, NoSymbol ] }; // "h" // U+20BD RUSSIAN RUBLE
key <AC07> { [ Cyrillic_o, Cyrillic_O, doublelowquotemark, singlelowquotemark ] }; // "j" // +S‚
key <AC08> { [ Cyrillic_el, Cyrillic_EL, leftdoublequotemark, leftsinglequotemark ] }; // "k"
key <AC09> { [ Cyrillic_de, Cyrillic_DE, rightdoublequotemark, rightsinglequotemark ] }; // "l"
key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, leftsinglequotemark, dead_diaeresis ] }; // ";"
key <AC11> { [ Ukrainian_ie, Ukrainian_IE, Cyrillic_e, Cyrillic_E ] }; // "'"
key <LSGT> { [ slash, backslash, NoSymbol, NoSymbol ] }; // "\"
// 4th keyboard row
key <BKSL> { [ slash, backslash, NoSymbol, NoSymbol ] };
key <AB01> { [ Cyrillic_ya, Cyrillic_YA, NoSymbol, dead_cedilla ] }; // "z"
key <AB02> { [ Cyrillic_che, Cyrillic_CHE, multiply, U22C5 ] }; // "x" // U+22C5 DOT OPERATOR (·)
key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright, cent ] }; // "c"
key <AB04> { [ Cyrillic_em, Cyrillic_EM, downarrow, dead_caron ] }; // "v"
key <AB05> { [ Cyrillic_i, Cyrillic_I, U03B2, U03B1 ] }; // "b" // +β +Sα // U+03B2 GREEK SMALL LETTER BETA // U+03B1 GREEK SMALL LETTER ALPHA
key <AB06> { [ Cyrillic_te, Cyrillic_TE, NoSymbol, dead_tilde ] }; // "n"
key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, U2212, enfilledcircbullet ] }; // "m" // U+2212 MINUS SIGN (−)
key <AB08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, less ] }; // "," // +S<
key <AB09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, greater ] }; // "." // +S>
key <AB10> { [ period, comma, division, dead_acute ] }; // "/" // +÷
// 5th keyboard row
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] }; // " "
// Adds comma on keypad DELETE key
include "kpdl(comma)"
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment