differences between en_US keyboard and Russian keybaord
xkb_symbols {
// Describes the differences between a very simple en_US
// keyboard and a very simple Russian keybaord
// key <CAPS> { [ ISO_Next_Group, Caps_Lock ]};
key <CAPS> { [ ISO_Next_Group ]};
name[Group1]= "US/ASCII";
name[Group2]= "KOI8-R";
name[Group3]= "Cyrillic";
key <TLDE> { [ grave, asciitilde ],
[ 0xa3, 0xb3 ],
[ Cyrillic_io, Cyrillic_IO ] };
key <LSGT> { [ less, greater ],
[ bar, brokenbar ] };
key <AD01> { [ q, Q ],
[ 0xca, 0xea ],
[ Cyrillic_shorti, Cyrillic_SHORTI ] };
key <AE01> { [ 1, exclam ],
[ exclam, 1 ],
[ exclam, 1 ] };
key <AB01> { [ z, Z ],
[ 0xd1, 0xf1 ],
[ Cyrillic_ya, Cyrillic_YA ] };
key <AC02> { [ s, S ],
[ 0xd9, 0xf9 ],
[ Cyrillic_yeru, Cyrillic_YERU ] };
key <AC01> { [ a, A ],
[ 0xc6, 0xe6 ],
[ Cyrillic_ef, Cyrillic_EF ] };
key <AD02> { [ w, W ],
[ 0xc3, 0xe3 ],
[ Cyrillic_tse, Cyrillic_TSE ] };
key <AE02> { [ 2, at ],
[ quotedbl, 2 ],
[ quotedbl, 2 ] };
key <AB03> { [ c, C ],
[ 0xd3, 0xf3 ],
[ Cyrillic_es, Cyrillic_ES ] };
key <AB02> { [ x, X ],
[ 0xde, 0xfe ],
[ Cyrillic_che, Cyrillic_CHE ] };
key <AC03> { [ d, D ],
[ 0xd7, 0xf7 ],
[ Cyrillic_ve, Cyrillic_VE ] };
key <AD03> { [ e, E ],
[ 0xd5, 0xf5 ],
[ Cyrillic_u, Cyrillic_U ] };
key <AE04> { [ 4, dollar ],
[ asterisk, 4 ],
[ asterisk, 4 ] };
key <AE03> { [ 3, numbersign ],
[ apostrophe, 3 ],
[ apostrophe, 3 ] };
key <AB04> { [ v, V ],
[ 0xcd, 0xed ],
[ Cyrillic_em, Cyrillic_EM ] };
key <AC04> { [ f, F ],
[ 0xc1, 0xe1 ],
[ Cyrillic_a, Cyrillic_A ] };
key <AD05> { [ t, T ],
[ 0xc5, 0xe5 ],
[ Cyrillic_ie, Cyrillic_IE ] };
key <AD04> { [ r, R ],
[ 0xcb, 0xeb ],
[ Cyrillic_ka, Cyrillic_KA ] };
key <AE05> { [ 5, percent ],
[ colon, 5 ],
[ colon, 5 ] };
key <AB06> { [ n, N ],
[ 0xd4, 0xf4 ],
[ Cyrillic_te, Cyrillic_TE ] };
key <AB05> { [ b, B ],
[ 0xc9, 0xe9 ],
[ Cyrillic_i, Cyrillic_I ] };
key <AC06> { [ h, H ],
[ 0xd2, 0xf2 ],
[ Cyrillic_er, Cyrillic_ER ] };
key <AC05> { [ g, G ],
[ 0xd0, 0xf0 ],
[ Cyrillic_pe, Cyrillic_PE ] };
key <AD06> { [ y, Y ],
[ 0xce, 0xee ],
[ Cyrillic_en, Cyrillic_EN ] };
key <AE06> { [ 6, asciicircum ],
[ comma, 6 ],
[ comma, 6 ] };
key <AB07> { [ m, M ],
[ 0xd8, 0xf8 ],
[Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
key <AC07> { [ j, J ],
[ 0xcf, 0xef ],
[ Cyrillic_o, Cyrillic_O ] };
key <AD07> { [ u, U ],
[ 0xc7, 0xe7 ],
[ Cyrillic_ghe, Cyrillic_GHE ] };
key <AE07> { [ 7, ampersand ],
[ period, 7 ],
[ period, 7 ] };
key <AE08> { [ 8, asterisk ],
[ semicolon, 8 ],
[ semicolon, 8 ] };
key <AB08> { [ comma, less ],
[ 0xc2, 0xe2 ],
[ Cyrillic_be, Cyrillic_BE ] };
key <AC08> { [ k, K ],
[ 0xcc, 0xec ],
[ Cyrillic_el, Cyrillic_EL ] };
key <AD08> { [ i, I ],
[ 0xdb, 0xfb ],
[ Cyrillic_sha, Cyrillic_SHA ] };
key <AD09> { [ o, O ],
[ 0xdd, 0xfd ],
[ Cyrillic_shcha, Cyrillic_SHCHA ] };
key <AE10> { [ 0, parenright ],
[ parenright, 0 ],
[ parenright, 0 ] };
key <AE09> { [ 9, parenleft ],
[ parenleft, 9 ],
[ parenleft, 9 ] };
key <AB09> { [ period, greater ],
[ 0xc0, 0xe0 ],
[ Cyrillic_yu, Cyrillic_YU ] };
key <AB10> { [ slash, question ],
[ slash, question ] };
key <AC09> { [ l, L ],
[ 0xc4, 0xe4 ],
[ Cyrillic_de, Cyrillic_DE ] };
key <AC10> { [ semicolon, colon ],
[ 0xd6, 0xf6 ],
[ Cyrillic_zhe, Cyrillic_ZHE ] };
key <AD10> { [ p, P ],
[ 0xda, 0xfa ],
[ Cyrillic_ze, Cyrillic_ZE ] };
key <AE11> { [ minus, underscore ],
[ minus, underscore ] };
key <AC11> { [ apostrophe, quotedbl ],
[ 0xdc, 0xfc ],
[ Cyrillic_e, Cyrillic_E ] };
key <AD11> { [ bracketleft, braceleft ],
[ 0xc8, 0xe8 ],
[ Cyrillic_ha, Cyrillic_HA ] };
key <AE12> { [ equal, plus ],
[ equal, plus ] };
key <AD12> { [ bracketright, braceright ],
[ 0xdf, 0xff ],
[Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
key <BKSL> { [ backslash, bar ],
[ backslash, bar ] };
// Begin modifier mappings
modifier_map Shift { Shift_L };
modifier_map Lock { Caps_Lock, ISO_Lock };
modifier_map Control{ Control_L };
modifier_map Mod3 { Mode_switch };
};