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