• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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