diff options
-rw-r--r-- | rules/base.xml | 12 | ||||
-rw-r--r-- | symbols/by | 37 |
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> @@ -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)" +}; |