1 1.1.1.7 mrg // Belarusian standard keyboard, by Alexander Mikhailian <mikhailian (a] altern.org>. 2 1.1.1.8 mrg // Reworked to use Russian keymap as base and winkeys by default, 3 1.1.1.8 mrg // by Paul Lubetsky <vegeek (a] gmail.com>, see https://bugs.freedesktop.org/23604. 4 1.1.1.8 mrg 5 1.1.1.8 mrg // Added Belarusian-Russian and Russian-Belarusian variants, 6 1.1.1.8 mrg // by Pavel Senchanka <pavel.senchanka (a] gmail.com> 7 1.1 mrg 8 1.1.1.6 mrg default partial alphanumeric_keys 9 1.1 mrg xkb_symbols "basic" { 10 1.1.1.3 ghen include "ru(winkeys)" 11 1.1.1.4 mrg name[Group1]= "Belarusian"; 12 1.1 mrg 13 1.1.1.8 mrg key <AD09> {[ Byelorussian_shortu, Byelorussian_SHORTU ]}; 14 1.1.1.8 mrg key <AD12> {[ apostrophe, apostrophe ]}; 15 1.1.1.8 mrg key <AB05> {[ Ukrainian_i, Ukrainian_I ]}; 16 1.1 mrg }; 17 1.1 mrg 18 1.1 mrg partial alphanumeric_keys 19 1.1.1.3 ghen xkb_symbols "legacy" { 20 1.1.1.3 ghen include "by(basic)" 21 1.1.1.4 mrg name[Group1]= "Belarusian (legacy)"; 22 1.1.1.5 mrg 23 1.1.1.8 mrg key <AE03> {[ 3, numbersign ]}; 24 1.1.1.8 mrg key <AE04> {[ 4, asterisk ]}; 25 1.1.1.8 mrg key <AE05> {[ 5, colon ]}; 26 1.1.1.8 mrg key <AE06> {[ 6, comma ]}; 27 1.1.1.8 mrg key <AE07> {[ 7, period ]}; 28 1.1.1.8 mrg key <AE08> {[ 8, semicolon ]}; 29 1.1.1.8 mrg key <AB10> {[ slash, question ]}; 30 1.1.1.8 mrg key <BKSL> {[ backslash, bar ]}; 31 1.1 mrg }; 32 1.1 mrg 33 1.1 mrg partial alphanumeric_keys 34 1.1 mrg xkb_symbols "latin" { 35 1.1.1.3 ghen include "latin" 36 1.1.1.4 mrg name[Group1]= "Belarusian (Latin)"; 37 1.1.1.5 mrg 38 1.1.1.8 mrg key <AD02> {[ w, W, scaron, Scaron ]}; 39 1.1.1.8 mrg key <AD07> {[ u, U, ubreve, Ubreve ]}; 40 1.1.1.8 mrg key <AC02> {[ s, S, sacute, Sacute ]}; 41 1.1.1.8 mrg key <AC09> {[ l, L, lstroke, Lstroke ]}; 42 1.1.1.8 mrg key <AB01> {[ z, Z, zacute, Zacute ]}; 43 1.1.1.8 mrg key <AB02> {[ x, X, zcaron, Zcaron ]}; 44 1.1.1.8 mrg key <AB03> {[ c, C, cacute, Cacute ]}; 45 1.1.1.8 mrg key <AB04> {[ v, V, ccaron, Ccaron ]}; 46 1.1.1.8 mrg key <AB06> {[ n, N, nacute, Nacute ]}; 47 1.1.1.5 mrg 48 1.1.1.3 ghen include "level3(ralt_switch)" 49 1.1 mrg }; 50 1.1.1.6 mrg 51 1.1.1.6 mrg // Russian layout with Belarusian symbols on third level. 52 1.1.1.6 mrg partial alphanumeric_keys 53 1.1.1.6 mrg xkb_symbols "ru" { 54 1.1.1.6 mrg include "ru(winkeys)" 55 1.1.1.6 mrg name[Group1]= "Russian (Belarus)"; 56 1.1.1.6 mrg 57 1.1.1.8 mrg key <AB05> {[ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ]}; 58 1.1.1.8 mrg key <AD09> {[ Cyrillic_shcha, Cyrillic_SHCHA, Byelorussian_shortu, Byelorussian_SHORTU ]}; 59 1.1.1.8 mrg key <AD12> {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U2019, apostrophe ]}; 60 1.1.1.6 mrg 61 1.1.1.6 mrg include "level3(ralt_switch)" 62 1.1.1.6 mrg }; 63 1.1.1.6 mrg 64 1.1.1.8 mrg // Belarusian layout extended with other East Slavic symbols (Russian, Ukrainian). 65 1.1.1.6 mrg partial alphanumeric_keys 66 1.1.1.6 mrg xkb_symbols "intl" { 67 1.1.1.6 mrg include "by(basic)" 68 1.1.1.6 mrg name[Group1]= "Belarusian (intl.)"; 69 1.1.1.6 mrg 70 1.1.1.6 mrg // Russian 71 1.1.1.8 mrg key <AB05> {[ Ukrainian_i, Ukrainian_I, Cyrillic_i, Cyrillic_I ]}; 72 1.1.1.8 mrg key <AD09> {[ Byelorussian_shortu, Byelorussian_SHORTU, Cyrillic_shcha, Cyrillic_SHCHA ]}; 73 1.1.1.8 mrg key <AD12> {[ U2019, apostrophe, Cyrillic_hardsign, Cyrillic_HARDSIGN ]}; 74 1.1.1.8 mrg 75 1.1.1.8 mrg // Ukrainian (Yi is usually on <AD12>, but it is already taken in our case). 76 1.1.1.8 mrg key <AC11> {[ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ]}; 77 1.1.1.8 mrg key <AD11> {[ Cyrillic_ha, Cyrillic_HA, Ukrainian_yi, Ukrainian_YI ]}; 78 1.1.1.8 mrg key <BKSL> {[ backslash, bar, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ]}; 79 1.1.1.8 mrg 80 1.1.1.8 mrg include "level3(ralt_switch)" 81 1.1.1.8 mrg }; 82 1.1.1.8 mrg 83 1.1.1.8 mrg partial alphanumeric_keys 84 1.1.1.8 mrg xkb_symbols "phonetic" { 85 1.1.1.8 mrg include "ru(phonetic)" 86 1.1.1.8 mrg name[Group1]= "Belarusian (phonetic)"; 87 1.1.1.8 mrg 88 1.1.1.8 mrg // Mostly same as good old YAWERTY layout, but with correct 89 1.1.1.8 mrg // Belarusian i and (u-short) instead of (shcha). We also 90 1.1.1.8 mrg // keep originals on level3 just in case. 91 1.1.1.8 mrg key <AD12> {[ Byelorussian_shortu, Byelorussian_SHORTU, Cyrillic_shcha, Cyrillic_SHCHA ]}; 92 1.1.1.8 mrg key <LatI> {[ Ukrainian_i, Ukrainian_I, Cyrillic_i, Cyrillic_I ]}; 93 1.1.1.8 mrg 94 1.1.1.8 mrg // Lets also add level3+u to enable another way to input u-short 95 1.1.1.8 mrg key <LatU> {[ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ]}; 96 1.1.1.8 mrg 97 1.1.1.8 mrg // Since we already enable level3 lets also do alternative 98 1.1.1.8 mrg // means for io and hardsign. 99 1.1.1.8 mrg key <LatE> {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ]}; 100 1.1.1.8 mrg key <LatX> {[ Cyrillic_softsign, Cyrillic_SOFTSIGN, Cyrillic_hardsign, Cyrillic_HARDSIGN ]}; 101 1.1.1.6 mrg 102 1.1.1.6 mrg include "level3(ralt_switch)" 103 1.1.1.6 mrg }; 104