1// based on 2// belarusian standard keyboard 3// Alexander Mikhailian <mikhailian@altern.org> 4// Reworked to use winkeys by default and russian keymap as base by Paul Lubetsky <vegeek@gmail.com> 5// Added Belarusian-Russian and Russian-Belarusian variants, by Pavel Senchanka <pavel.senchanka@gmail.com> 6// See freedesktop.org bug #23604 7 8default partial alphanumeric_keys 9xkb_symbols "basic" { 10 include "ru(winkeys)" 11 name[Group1]= "Belarusian"; 12 13 key <AD09> { [ Byelorussian_shortu, Byelorussian_SHORTU ] }; 14 key <AD12> { [ apostrophe, apostrophe ] }; 15 key <AB05> { [ Ukrainian_i, Ukrainian_I ] }; 16}; 17 18partial alphanumeric_keys 19xkb_symbols "legacy" { 20 include "by(basic)" 21 name[Group1]= "Belarusian (legacy)"; 22 23 key <AE03> { [ 3, numbersign ] }; 24 key <AE04> { [ 4, asterisk ] }; 25 key <AE05> { [ 5, colon ] }; 26 key <AE06> { [ 6, comma ] }; 27 key <AE07> { [ 7, period ] }; 28 key <AE08> { [ 8, semicolon ] }; 29 key <AB10> { [ slash, question ] }; 30 key <BKSL> { [ backslash, bar ] }; 31}; 32 33// based on a keyboard map from an 'xkb/symbols/iso3335-3' file 34 35partial alphanumeric_keys 36xkb_symbols "latin" { 37 include "latin" 38 name[Group1]= "Belarusian (Latin)"; 39 40 key <AD02> { [ w, W, scaron, Scaron ] }; 41 key <AD07> { [ u, U, ubreve, Ubreve ] }; 42 key <AC02> { [ s, S, sacute, Sacute ] }; 43 key <AC09> { [ l, L, lstroke, Lstroke ] }; 44 key <AB01> { [ z, Z, zacute, Zacute ] }; 45 key <AB02> { [ x, X, zcaron, Zcaron ] }; 46 key <AB03> { [ c, C, cacute, Cacute ] }; 47 key <AB04> { [ v, V, ccaron, Ccaron ] }; 48 key <AB06> { [ n, N, nacute, Nacute ] }; 49 50 include "level3(ralt_switch)" 51}; 52 53// Russian layout with Belarusian symbols on third level. 54partial alphanumeric_keys 55xkb_symbols "ru" { 56 include "ru(winkeys)" 57 name[Group1]= "Russian (Belarus)"; 58 59 key <AB05> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; 60 key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, Byelorussian_shortu, Byelorussian_SHORTU ] }; 61 key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, U2019, apostrophe ] }; 62 63 include "level3(ralt_switch)" 64}; 65 66// Belarusian layout extended with other East Slavic language symbols 67// (Russian, Ukrainian). 68partial alphanumeric_keys 69xkb_symbols "intl" { 70 include "by(basic)" 71 name[Group1]= "Belarusian (intl.)"; 72 73 // Russian 74 key <AB05> { [ Ukrainian_i, Ukrainian_I, Cyrillic_i, Cyrillic_I ] }; 75 key <AD09> { [ Byelorussian_shortu, Byelorussian_SHORTU, Cyrillic_shcha, Cyrillic_SHCHA ] }; 76 key <AD12> { [ U2019, apostrophe, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; 77 78 // Ukrainian (Yi is usually on <AD12>, but is it taken in our case). 79 key <AC11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] }; 80 key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Ukrainian_yi, Ukrainian_YI ] }; 81 key <BKSL> { [ backslash, bar, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; 82 83 include "level3(ralt_switch)" 84}; 85