by revision 1.1.1.6 1 // based on
2 // belarusian standard keyboard
3 // Alexander Mikhailian <mikhailian (a] altern.org>
4 // Reworked to use winkeys by default and russian keymap as base by Paul Lubetsky <vegeek (a] gmail.com>
5 // Added Belarusian-Russian and Russian-Belarusian variants, by Pavel Senchanka <pavel.senchanka (a] gmail.com>
6 // See freedesktop.org bug #23604
7
8 default partial alphanumeric_keys
9 xkb_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
18 partial alphanumeric_keys
19 xkb_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
35 partial alphanumeric_keys
36 xkb_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.
54 partial alphanumeric_keys
55 xkb_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).
68 partial alphanumeric_keys
69 xkb_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