summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules/base.xml12
-rw-r--r--symbols/by37
2 files changed, 47 insertions, 2 deletions
diff --git a/rules/base.xml b/rules/base.xml
index 37a17633..86d2edb2 100644
--- a/rules/base.xml
+++ b/rules/base.xml
@@ -1783,6 +1783,18 @@
<description>Belarusian (Latin)</description>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>ru</name>
+ <description>Russian (Belarus)</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>intl</name>
+ <description>Belarusian (intl.)</description>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
diff --git a/symbols/by b/symbols/by
index d82bcf57..27a3207d 100644
--- a/symbols/by
+++ b/symbols/by
@@ -1,8 +1,8 @@
// based on
-// belarusian standard keyboard
+// 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 third level with russian symbols
+// Added Belarusian-Russian and Russian-Belarusian variants, by Pavel Senchanka <pavel.senchanka@gmail.com>
// See freedesktop.org bug #23604
default partial alphanumeric_keys
@@ -49,3 +49,36 @@ xkb_symbols "latin" {
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)"
+};