1bb3a541cSmrg// Belarusian standard keyboard, by Alexander Mikhailian <mikhailian@altern.org>. 246185892Smrg// Reworked to use Russian keymap as base and winkeys by default, 346185892Smrg// by Paul Lubetsky <vegeek@gmail.com>, see https://bugs.freedesktop.org/23604. 446185892Smrg 546185892Smrg// Added Belarusian-Russian and Russian-Belarusian variants, 646185892Smrg// by Pavel Senchanka <pavel.senchanka@gmail.com> 7154daed1Smrg 88157b447Smrgdefault partial alphanumeric_keys 9154daed1Smrgxkb_symbols "basic" { 10c067fea9Sghen include "ru(winkeys)" 11bfd7cbc1Smrg name[Group1]= "Belarusian"; 12154daed1Smrg 1346185892Smrg key <AD09> {[ Byelorussian_shortu, Byelorussian_SHORTU ]}; 1446185892Smrg key <AD12> {[ apostrophe, apostrophe ]}; 1546185892Smrg key <AB05> {[ Ukrainian_i, Ukrainian_I ]}; 16154daed1Smrg}; 17154daed1Smrg 18154daed1Smrgpartial alphanumeric_keys 19c067fea9Sghenxkb_symbols "legacy" { 20c067fea9Sghen include "by(basic)" 21bfd7cbc1Smrg name[Group1]= "Belarusian (legacy)"; 22797b363dSmrg 2346185892Smrg key <AE03> {[ 3, numbersign ]}; 2446185892Smrg key <AE04> {[ 4, asterisk ]}; 2546185892Smrg key <AE05> {[ 5, colon ]}; 2646185892Smrg key <AE06> {[ 6, comma ]}; 2746185892Smrg key <AE07> {[ 7, period ]}; 2846185892Smrg key <AE08> {[ 8, semicolon ]}; 2946185892Smrg key <AB10> {[ slash, question ]}; 3046185892Smrg key <BKSL> {[ backslash, bar ]}; 31154daed1Smrg}; 32154daed1Smrg 33154daed1Smrgpartial alphanumeric_keys 34154daed1Smrgxkb_symbols "latin" { 35c067fea9Sghen include "latin" 36bfd7cbc1Smrg name[Group1]= "Belarusian (Latin)"; 37797b363dSmrg 3846185892Smrg key <AD02> {[ w, W, scaron, Scaron ]}; 3946185892Smrg key <AD07> {[ u, U, ubreve, Ubreve ]}; 4046185892Smrg key <AC02> {[ s, S, sacute, Sacute ]}; 4146185892Smrg key <AC09> {[ l, L, lstroke, Lstroke ]}; 4246185892Smrg key <AB01> {[ z, Z, zacute, Zacute ]}; 4346185892Smrg key <AB02> {[ x, X, zcaron, Zcaron ]}; 4446185892Smrg key <AB03> {[ c, C, cacute, Cacute ]}; 4546185892Smrg key <AB04> {[ v, V, ccaron, Ccaron ]}; 4646185892Smrg key <AB06> {[ n, N, nacute, Nacute ]}; 47797b363dSmrg 48c067fea9Sghen include "level3(ralt_switch)" 49154daed1Smrg}; 508157b447Smrg 518157b447Smrg// Russian layout with Belarusian symbols on third level. 528157b447Smrgpartial alphanumeric_keys 538157b447Smrgxkb_symbols "ru" { 548157b447Smrg include "ru(winkeys)" 558157b447Smrg name[Group1]= "Russian (Belarus)"; 568157b447Smrg 5746185892Smrg key <AB05> {[ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ]}; 5846185892Smrg key <AD09> {[ Cyrillic_shcha, Cyrillic_SHCHA, Byelorussian_shortu, Byelorussian_SHORTU ]}; 5946185892Smrg key <AD12> {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U2019, apostrophe ]}; 608157b447Smrg 618157b447Smrg include "level3(ralt_switch)" 628157b447Smrg}; 638157b447Smrg 6446185892Smrg// Belarusian layout extended with other East Slavic symbols (Russian, Ukrainian). 658157b447Smrgpartial alphanumeric_keys 668157b447Smrgxkb_symbols "intl" { 678157b447Smrg include "by(basic)" 688157b447Smrg name[Group1]= "Belarusian (intl.)"; 698157b447Smrg 708157b447Smrg // Russian 7146185892Smrg key <AB05> {[ Ukrainian_i, Ukrainian_I, Cyrillic_i, Cyrillic_I ]}; 7246185892Smrg key <AD09> {[ Byelorussian_shortu, Byelorussian_SHORTU, Cyrillic_shcha, Cyrillic_SHCHA ]}; 7346185892Smrg key <AD12> {[ U2019, apostrophe, Cyrillic_hardsign, Cyrillic_HARDSIGN ]}; 7446185892Smrg 7546185892Smrg // Ukrainian (Yi is usually on <AD12>, but it is already taken in our case). 7646185892Smrg key <AC11> {[ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ]}; 7746185892Smrg key <AD11> {[ Cyrillic_ha, Cyrillic_HA, Ukrainian_yi, Ukrainian_YI ]}; 7846185892Smrg key <BKSL> {[ backslash, bar, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ]}; 7946185892Smrg 8046185892Smrg include "level3(ralt_switch)" 8146185892Smrg}; 8246185892Smrg 8346185892Smrgpartial alphanumeric_keys 8446185892Smrgxkb_symbols "phonetic" { 8546185892Smrg include "ru(phonetic)" 8646185892Smrg name[Group1]= "Belarusian (phonetic)"; 8746185892Smrg 8846185892Smrg // Mostly same as good old YAWERTY layout, but with correct 8946185892Smrg // Belarusian i and ў (u-short) instead of щ (shcha). We also 9046185892Smrg // keep originals on level3 just in case. 9146185892Smrg key <AD12> {[ Byelorussian_shortu, Byelorussian_SHORTU, Cyrillic_shcha, Cyrillic_SHCHA ]}; 9246185892Smrg key <LatI> {[ Ukrainian_i, Ukrainian_I, Cyrillic_i, Cyrillic_I ]}; 9346185892Smrg 9446185892Smrg // Lets also add level3+u to enable another way to input u-short 9546185892Smrg key <LatU> {[ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ]}; 9646185892Smrg 9746185892Smrg // Since we already enable level3 lets also do alternative 9846185892Smrg // means for io and hardsign. 9946185892Smrg key <LatE> {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ]}; 10046185892Smrg key <LatX> {[ Cyrillic_softsign, Cyrillic_SOFTSIGN, Cyrillic_hardsign, Cyrillic_HARDSIGN ]}; 1018157b447Smrg 1028157b447Smrg include "level3(ralt_switch)" 1038157b447Smrg}; 104