summaryrefslogtreecommitdiff
path: root/symbols/by
blob: 8457e4661a5fb8754d82d6c49001de446023640e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// based on
// belarusian standard keyboard
// Alexander Mikhailian <mikhailian@altern.org>
// Reworked to use winkeys by default and russian keymap as base by Paul Lubetsky <vegeek@gmail.com>
// Added Belarusian-Russian and Russian-Belarusian variants, by Pavel Senchanka <pavel.senchanka@gmail.com>
// See freedesktop.org bug #23604

default partial alphanumeric_keys
xkb_symbols "basic" {
	include "ru(winkeys)"
	name[Group1]= "Belarusian";

	key	<AD09> {	[	Byelorussian_shortu,	Byelorussian_SHORTU	]	};
	key	<AD12> {	[	apostrophe,	apostrophe	]	};
	key	<AB05> {	[	Ukrainian_i,	Ukrainian_I	]	};
};

partial alphanumeric_keys
xkb_symbols "legacy" {
	include "by(basic)"
	name[Group1]= "Belarusian (legacy)";

	key <AE03> {        [               3,      numbersign      ]       };
	key <AE04> {        [               4,        asterisk      ]       };
	key <AE05> {        [               5,           colon      ]       };
	key <AE06> {        [               6,           comma      ]       };
	key <AE07> {        [               7,          period      ]       };
	key <AE08> {        [               8,       semicolon      ]       };
	key <AB10> {        [           slash,        question      ]       };
	key <BKSL> {        [       backslash,             bar      ]       };
};

// based on a keyboard map from an 'xkb/symbols/iso3335-3' file

partial alphanumeric_keys
xkb_symbols "latin" {
	include "latin"
	name[Group1]= "Belarusian (Latin)";

	key <AD02> {        [    w,    W,    scaron,    Scaron    ]       };
	key <AD07> {        [    u,    U,    ubreve,    Ubreve    ]       };
	key <AC02> {        [    s,    S,    sacute,    Sacute    ]       };
	key <AC09> {        [    l,    L,    lstroke,   Lstroke   ]       };
	key <AB01> {        [    z,    Z,    zacute,    Zacute    ]       };
	key <AB02> {        [    x,    X,    zcaron,    Zcaron    ]       };
	key <AB03> {        [    c,    C,    cacute,    Cacute    ]       };
	key <AB04> {        [    v,    V,    ccaron,    Ccaron    ]       };
	key <AB06> {        [    n,    N,    nacute,    Nacute    ]       };

	include "level3(ralt_switch)"
};

// Russian layout with Belarusian symbols on third level.
partial alphanumeric_keys
xkb_symbols "ru" {
	include "ru(winkeys)"
	name[Group1]= "Russian (Belarus)";

	key	<AB05> { [	Cyrillic_i,		Cyrillic_I,		Ukrainian_i,			Ukrainian_I			] };
	key	<AD09> { [	Cyrillic_shcha,		Cyrillic_SHCHA, 	Byelorussian_shortu,		Byelorussian_SHORTU		] };
	key	<AD12> { [	Cyrillic_hardsign,	Cyrillic_HARDSIGN, 	U2019,				apostrophe			] };

	include "level3(ralt_switch)"
};

// Belarusian layout extended with other East Slavic language symbols
// (Russian, Ukrainian).
partial alphanumeric_keys
xkb_symbols "intl" {
	include "by(basic)"
	name[Group1]= "Belarusian (intl.)";

	// Russian
	key	<AB05> { [	Ukrainian_i,		Ukrainian_I,		Cyrillic_i,			Cyrillic_I			] };
	key	<AD09> { [	Byelorussian_shortu,	Byelorussian_SHORTU,	Cyrillic_shcha,			Cyrillic_SHCHA			] };
	key	<AD12> { [	U2019,			apostrophe,		Cyrillic_hardsign,		Cyrillic_HARDSIGN		] };

	// Ukrainian (Yi is usually on <AD12>, but is it taken in our case).
	key <AC11> { [  Cyrillic_e,   Cyrillic_E,   Ukrainian_ie,   Ukrainian_IE    ] };
	key <AD11> { [  Cyrillic_ha,  Cyrillic_HA,  Ukrainian_yi,   Ukrainian_YI  ] };
	key <BKSL> { [  backslash,    bar,    Ukrainian_ghe_with_upturn,    Ukrainian_GHE_WITH_UPTURN  ] };

	include "level3(ralt_switch)"
};