Home | History | Annotate | Download | only in symbols
      1 // Keyboard layouts for Russia.
      2 // AEN <aen (a] logic.ru>
      3 // 2001/12/23 by Leon Kanter <leon (a] blackcatlinux.com>
      4 // 2005/12/09 Valery Inozemtsev <shrek (a] altlinux.ru>
      5 
      6 // Windows layout
      7 default  partial alphanumeric_keys
      8 xkb_symbols "winkeys" {
      9 
     10     include "ru(common)"
     11     name[Group1]= "Russian";
     12 
     13     key <AE03> { [           3,  numerosign  ] };
     14     key <AE04> { [           4,   semicolon  ] };
     15     key <AE05> { [           5,     percent  ] };
     16     key <AE06> { [           6,       colon  ] };
     17     key <AE07> { [           7,    question  ] };
     18     key <AE08> { [           8,    asterisk  ] };
     19 
     20     key <AB10> { [      period,       comma  ] };
     21     key <BKSL> { [   backslash,       slash  ] };
     22 };
     23 
     24 hidden partial alphanumeric_keys
     25 xkb_symbols "common" {
     26 
     27     key <AE01> { [           1,      exclam  ] };
     28     key <AE02> { [           2,    quotedbl  ] };
     29     key <AE03> { [           3,  numbersign  ] };
     30     key <AE04> { [           4,    asterisk  ] };
     31     key <AE05> { [           5,       colon  ] };
     32     key <AE06> { [           6,       comma  ] };
     33     key <AE07> { [           7,      period  ] };
     34     key <AE08> { [           8,   semicolon  ] };
     35     key <AE09> { [           9,   parenleft  ] };
     36     key <AE10> { [           0,  parenright  ] };
     37     key <AE11> { [       minus,  underscore  ] };
     38     key <AE12> { [       equal,        plus  ] };
     39     key <BKSL> { [   backslash,         bar  ] };
     40 
     41     key <AB10> { [       slash,    question  ] };
     42     key <LSGT> { [       slash,         bar  ] };
     43 
     44     key <TLDE> { [       Cyrillic_io,       Cyrillic_IO  ] };
     45     key <AD01> { [   Cyrillic_shorti,   Cyrillic_SHORTI  ] };
     46     key <AD02> { [      Cyrillic_tse,      Cyrillic_TSE  ] };
     47     key <AD03> { [        Cyrillic_u,        Cyrillic_U  ] };
     48     key <AD04> { [       Cyrillic_ka,       Cyrillic_KA  ] };
     49     key <AD05> { [       Cyrillic_ie,       Cyrillic_IE  ] };
     50     key <AD06> { [       Cyrillic_en,       Cyrillic_EN  ] };
     51     key <AD07> { [      Cyrillic_ghe,      Cyrillic_GHE  ] };
     52     key <AD08> { [      Cyrillic_sha,      Cyrillic_SHA  ] };
     53     key <AD09> { [    Cyrillic_shcha,    Cyrillic_SHCHA  ] };
     54     key <AD10> { [       Cyrillic_ze,       Cyrillic_ZE  ] };
     55     key <AD11> { [       Cyrillic_ha,       Cyrillic_HA  ] };
     56     key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN  ] };
     57 
     58     key <AC01> { [       Cyrillic_ef,       Cyrillic_EF  ] };
     59     key <AC02> { [     Cyrillic_yeru,     Cyrillic_YERU  ] };
     60     key <AC03> { [       Cyrillic_ve,       Cyrillic_VE  ] };
     61     key <AC04> { [        Cyrillic_a,        Cyrillic_A  ] };
     62     key <AC05> { [       Cyrillic_pe,       Cyrillic_PE  ] };
     63     key <AC06> { [       Cyrillic_er,       Cyrillic_ER  ] };
     64     key <AC07> { [        Cyrillic_o,        Cyrillic_O  ] };
     65     key <AC08> { [       Cyrillic_el,       Cyrillic_EL  ] };
     66     key <AC09> { [       Cyrillic_de,       Cyrillic_DE  ] };
     67     key <AC10> { [      Cyrillic_zhe,      Cyrillic_ZHE  ] };
     68     key <AC11> { [        Cyrillic_e,        Cyrillic_E  ] };
     69 
     70     key <AB01> { [       Cyrillic_ya,       Cyrillic_YA  ] };
     71     key <AB02> { [      Cyrillic_che,      Cyrillic_CHE  ] };
     72     key <AB03> { [       Cyrillic_es,       Cyrillic_ES  ] };
     73     key <AB04> { [       Cyrillic_em,       Cyrillic_EM  ] };
     74     key <AB05> { [        Cyrillic_i,        Cyrillic_I  ] };
     75     key <AB06> { [       Cyrillic_te,       Cyrillic_TE  ] };
     76     key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN  ] };
     77     key <AB08> { [       Cyrillic_be,       Cyrillic_BE  ] };
     78     key <AB09> { [       Cyrillic_yu,       Cyrillic_YU  ] };
     79 
     80     include "kpdl(comma)"
     81 };
     82 
     83 partial alphanumeric_keys
     84 xkb_symbols "legacy" {
     85 
     86     include "ru(common)"
     87     name[Group1]= "Russian (legacy)";
     88 };
     89 
     90 partial alphanumeric_keys
     91 xkb_symbols "olpc" {
     92 
     93     include "ru(common)"
     94 
     95     key <TLDE> { [  0x01000451,   0x01000401,       grave  ] };  // , 
     96     key <AE03> { [           3,   numbersign,  0x01002116  ] };  // 
     97     key <AE04> { [           4,       dollar,   semicolon  ] };
     98     key <AE06> { [           6,  asciicircum,       colon  ] };
     99     key <AE07> { [           7,    ampersand               ] };
    100     key <AE09> { [           9,    parenleft,       acute  ] };
    101     key <AC12> { [   backslash,          bar,       slash  ] };
    102 
    103     include "group(olpc)"
    104 };
    105 
    106 partial alphanumeric_keys
    107 xkb_symbols "typewriter" {
    108 
    109     include "ru(common)"
    110     name[Group1]= "Russian (typewriter)";
    111 
    112     key <TLDE> { [         bar,        plus  ] };
    113     key <AE01> { [  numerosign,           1  ] };
    114     key <AE02> { [       minus,           2  ] };
    115     key <AE03> { [       slash,           3  ] };
    116     key <AE04> { [    quotedbl,           4  ] };
    117     key <AE05> { [       colon,           5  ] };
    118     key <AE06> { [       comma,           6  ] };
    119     key <AE07> { [      period,           7  ] };
    120     key <AE08> { [  underscore,           8  ] };
    121     key <AE09> { [    question,           9  ] };
    122     key <AE10> { [     percent,           0  ] };
    123     key <AE11> { [      exclam,       equal  ] };
    124     key <AE12> { [   semicolon,   backslash  ] };
    125 
    126     key <BKSL> { [  parenright,   parenleft  ] };
    127 
    128     key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN  ] };
    129     key <AB10> { [       Cyrillic_io,       Cyrillic_IO  ] };
    130 };
    131 
    132 partial alphanumeric_keys
    133 xkb_symbols "typewriter-legacy" {
    134 
    135     include "ru(common)"
    136     name[Group1]= "Russian (typewriter, legacy)";
    137 
    138     key <TLDE> { [  apostrophe,    quotedbl  ] };
    139     key <AE01> { [      exclam,           1  ] };
    140     key <AE02> { [  numerosign,           2  ] };
    141     key <AE03> { [       slash,           3  ] };
    142     key <AE04> { [   semicolon,           4  ] };
    143     key <AE05> { [       colon,           5  ] };
    144     key <AE06> { [       comma,           6  ] };
    145     key <AE07> { [      period,           7  ] };
    146     key <AE08> { [  underscore,           8  ] };
    147     key <AE09> { [    question,           9  ] };
    148     key <AE10> { [     percent,           0  ] };
    149 
    150     key <BKSL> { [   parenleft,  parenright  ] };
    151 
    152     key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN  ] };
    153     key <AB10> { [       Cyrillic_io,       Cyrillic_IO  ] };
    154 };
    155 
    156 partial alphanumeric_keys
    157 xkb_symbols "phonetic" {
    158 
    159     name[Group1]= "Russian (phonetic)";
    160 
    161     key <AE01> { [           1,      exclam  ] };
    162     key <AE02> { [           2,          at  ] };
    163     key <AE03> { [           3, Cyrillic_io  ] };
    164     key <AE04> { [           4, Cyrillic_IO  ] };
    165     key <AE05> { [           5, Cyrillic_hardsign  ] };
    166     key <AE06> { [           6, Cyrillic_HARDSIGN  ] };
    167     key <AE07> { [           7,   ampersand  ] };
    168     key <AE08> { [           8,    asterisk  ] };
    169     key <AE09> { [           9,   parenleft  ] };
    170     key <AE10> { [           0,  parenright  ] };
    171     key <AE11> { [       minus,  underscore  ] };
    172 
    173     key <AB09> { [      period,     greater  ] };
    174     key <AB10> { [       slash,    question  ] };
    175     key <AB08> { [       comma,        less  ] };
    176     key <AC10> { [   semicolon,       colon  ] };
    177     key <AC11> { [  apostrophe,    quotedbl  ] };
    178     key <LSGT> { [         bar,   brokenbar  ] };
    179 
    180     key <TLDE> { [       Cyrillic_yu,       Cyrillic_YU  ] };
    181     key <LatQ> { [       Cyrillic_ya,       Cyrillic_YA  ] };
    182     key <LatZ> { [       Cyrillic_ze,       Cyrillic_ZE  ] };
    183     key <LatS> { [       Cyrillic_es,       Cyrillic_ES  ] };
    184     key <LatA> { [        Cyrillic_a,        Cyrillic_A  ] };
    185     key <LatW> { [       Cyrillic_ve,       Cyrillic_VE  ] };
    186     key <LatC> { [      Cyrillic_tse,      Cyrillic_TSE  ] };
    187     key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN  ] };
    188     key <LatD> { [       Cyrillic_de,       Cyrillic_DE  ] };
    189     key <LatE> { [       Cyrillic_ie,       Cyrillic_IE  ] };
    190     key <LatV> { [      Cyrillic_zhe,      Cyrillic_ZHE  ] };
    191     key <LatF> { [       Cyrillic_ef,       Cyrillic_EF  ] };
    192     key <LatT> { [       Cyrillic_te,       Cyrillic_TE  ] };
    193     key <LatR> { [       Cyrillic_er,       Cyrillic_ER  ] };
    194     key <LatN> { [       Cyrillic_en,       Cyrillic_EN  ] };
    195     key <LatB> { [       Cyrillic_be,       Cyrillic_BE  ] };
    196     key <LatH> { [       Cyrillic_ha,       Cyrillic_HA  ] };
    197     key <LatG> { [      Cyrillic_ghe,      Cyrillic_GHE  ] };
    198     key <LatY> { [     Cyrillic_yeru,     Cyrillic_YERU  ] };
    199     key <LatM> { [       Cyrillic_em,       Cyrillic_EM  ] };
    200     key <LatJ> { [   Cyrillic_shorti,   Cyrillic_SHORTI  ] };
    201     key <LatU> { [        Cyrillic_u,        Cyrillic_U  ] };
    202     key <LatK> { [       Cyrillic_ka,       Cyrillic_KA  ] };
    203     key <LatI> { [        Cyrillic_i,        Cyrillic_I  ] };
    204     key <LatO> { [        Cyrillic_o,        Cyrillic_O  ] };
    205     key <LatL> { [       Cyrillic_el,       Cyrillic_EL  ] };
    206     key <LatP> { [       Cyrillic_pe,       Cyrillic_PE  ] };
    207 
    208     key <AD11> { [      Cyrillic_sha,      Cyrillic_SHA  ] };
    209     key <AE12> { [      Cyrillic_che,      Cyrillic_CHE  ] };
    210     key <AD12> { [    Cyrillic_shcha,    Cyrillic_SHCHA  ] };
    211     key <BKSL> { [        Cyrillic_e,        Cyrillic_E  ] };
    212 };
    213 
    214 partial alphanumeric_keys
    215 xkb_symbols "phonetic_winkeys" {
    216 
    217     include "ru(phonetic)"
    218     name[Group1]= "Russian (phonetic WinKeys)";
    219 
    220     key <LatX> { [       Cyrillic_ha,       Cyrillic_HA  ] };
    221     key <LatH> { [      Cyrillic_che,      Cyrillic_CHE  ] };
    222     key <AE12> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN  ] };
    223 };
    224 
    225 partial alphanumeric_keys
    226 xkb_symbols "tt" {
    227 
    228     include "ru(winkeys)"
    229     name[Group1]= "Tatar";
    230 
    231     key.type[group1]="FOUR_LEVEL";
    232 
    233     key <TLDE> { [  0x010004bb,  0x010004ba,        Cyrillic_io,        Cyrillic_IO  ] };
    234     key <AD02> { [  0x010004e9,  0x010004e8,       Cyrillic_tse,       Cyrillic_TSE  ] };
    235     key <AD09> { [  0x010004d9,  0x010004d8,     Cyrillic_shcha,     Cyrillic_SHCHA  ] };
    236     key <AD12> { [  0x010004af,  0x010004ae,  Cyrillic_hardsign,  Cyrillic_HARDSIGN  ] };
    237     key <AC10> { [  0x010004a3,  0x010004a2,       Cyrillic_zhe,       Cyrillic_ZHE  ] };
    238     key <AB07> { [  0x01000497,  0x01000496,  Cyrillic_softsign,  Cyrillic_SOFTSIGN  ] };
    239 
    240     include "level3(ralt_switch)"
    241 };
    242 
    243 partial alphanumeric_keys
    244 xkb_symbols "os_legacy" {
    245 
    246     include "ru(common)"
    247     name[Group1]= "Ossetian (legacy)";
    248 
    249     key <TLDE> { [  Cyrillic_e,  Cyrillic_E                              ] };
    250     key <AC07> { [  Cyrillic_o,  Cyrillic_O,  Cyrillic_io,  Cyrillic_IO  ] };
    251     key <AC11> { [  0x010004D5,  0x010004D4                              ] };
    252 };
    253 
    254 partial alphanumeric_keys
    255 xkb_symbols "os_winkeys" {
    256 
    257     include "ru(winkeys)"
    258     name[Group1]= "Ossetian (WinKeys)";
    259 
    260     key <TLDE> { [  Cyrillic_e,  Cyrillic_E                              ] };
    261     key <AC07> { [  Cyrillic_o,  Cyrillic_O,  Cyrillic_io,  Cyrillic_IO  ] };
    262     key <AC11> { [  0x010004D5,  0x010004D4                              ] };
    263 };
    264 
    265 partial alphanumeric_keys
    266 xkb_symbols "cv" {
    267 
    268     include "ru(winkeys)"
    269     name[Group1]= "Chuvash";
    270 
    271     key.type[group1]="FOUR_LEVEL";
    272 
    273     key <AD03> { [   Cyrillic_u,   Cyrillic_U,  0x010004f3,  0x010004f2 ] };
    274     key <AD05> { [  Cyrillic_ie,  Cyrillic_IE,  0x010004d7,  0x010004d6 ] };
    275     key <AC04> { [   Cyrillic_a,   Cyrillic_A,  0x010004d1,  0x010004d0 ] };
    276     key <AB03> { [  Cyrillic_es,  Cyrillic_ES,  0x010004ab,  0x010004aa ] };
    277 
    278     include "level3(ralt_switch)"
    279 };
    280 
    281 partial alphanumeric_keys
    282 xkb_symbols "udm" {
    283 
    284     include "ru(winkeys)"
    285     name[Group1]= "Udmurt";
    286 
    287     key.type[group1]="FOUR_LEVEL";
    288 
    289     key <AE01> { [    question,      exclam,   1,   1  ] };
    290     key <AE02> { [   parenleft,    quotedbl,   2,   2  ] };
    291     key <AE03> { [  parenright,  numerosign,   3,   3  ] };
    292     key <AE04> { [       colon,   semicolon,   4,   4  ] };
    293     key <AE05> { [    asterisk,     percent,   5,   5  ] };
    294     key <AE06> { [  0x010004dd,  0x010004dc,   6,   6  ] };
    295     key <AE07> { [  0x010004e7,  0x010004e6,   7,   7  ] };
    296     key <AE08> { [  0x010004f5,  0x010004f4,   8,   8  ] };
    297     key <AE09> { [  0x010004e5,  0x010004e4,   9,   9  ] };
    298     key <AE10> { [  0x010004df,  0x010004de,   0,   0  ] };
    299 
    300     include "level3(ralt_switch)"
    301 };
    302 
    303 partial alphanumeric_keys
    304 xkb_symbols "cv_latin" {
    305 
    306     include "us(alt-intl)"
    307     name[Group1]= "Chuvash (Latin)";
    308 
    309     key.type[group1]="FOUR_LEVEL";
    310 
    311     key <AD01> { [   q,   Q,   0x01000161,   0x01000160  ] };
    312     key <AD02> { [   w,   W,   udiaeresis,   Udiaeresis  ] };
    313     key <AD03> { [   e,   E,   0x01000115,   0x01000114  ] };
    314     key <AD07> { [   u,   U,   udiaeresis,   Udiaeresis  ] };
    315     key <AD08> { [   i,   I,   0x0100012d,   0x0100012c  ] };
    316     key <AD09> { [   o,   O,   odiaeresis,   Odiaeresis  ] };
    317     key <AC01> { [   a,   A,       abreve,       Abreve  ] };
    318     key <AC02> { [   s,   S,     scedilla,     Scedilla  ] };
    319     key <AC05> { [   g,   G,       gbreve,       Gbreve  ] };
    320     key <AC07> { [   j,   J,   0x01000131,   0x01000130  ] };
    321     key <AB03> { [   c,   C,     ccedilla,     Ccedilla  ] };
    322 
    323     include "level3(ralt_switch)"
    324 };
    325 
    326 // Komi language layout
    327 // Vlad Shakhov <lumpen.intellectual (a] gmail.com>
    328 // last changes 2007/10/23
    329 partial alphanumeric_keys
    330 xkb_symbols "kom" {
    331 
    332     include "ru(winkeys)"
    333     name[Group1]= "Komi";
    334 
    335     key.type[group1]="FOUR_LEVEL_ALPHABETIC";
    336 
    337     // cyrilllic o with diaeresis
    338     key <AC07> { [  Cyrillic_o,  Cyrillic_O,        U04E7,        U04E6  ] };
    339 
    340     // hard I as additional key for soft Cyrillic_I
    341     key <AB05> { [  Cyrillic_i,  Cyrillic_I,  Ukrainian_i,  Ukrainian_I  ] };
    342 
    343     include "level3(ralt_switch)"
    344 };
    345 
    346 // Yakut language layout
    347 // 2008/04/23 Yakov Aleksandrov <bertjickty (a] yandex.ru>
    348 // 2008/04/23 Anatoliy Zhozhikov <jav (a] sitc.ru>
    349 // 2008/04/23 Aleksandr Varlamov
    350 partial alphanumeric_keys
    351 xkb_symbols "sah" {
    352 
    353     include "ru(winkeys)"
    354     name[Group1]= "Yakut";
    355 
    356     key.type[group1]="FOUR_LEVEL_ALPHABETIC";
    357 
    358     key <TLDE> { [  Cyrillic_io,      Cyrillic_IO,      U04EB,                U04EA                ] };
    359     key <AD01> { [  Cyrillic_shorti,  Cyrillic_SHORTI,  U048B,                U048A                ] };
    360     key <AD03> { [  Cyrillic_u,       Cyrillic_U,       Cyrillic_u_straight,  Cyrillic_U_straight  ] };
    361     key <AD04> { [  Cyrillic_ka,      Cyrillic_KA,      U04C4,                U04C3                ] };
    362     key <AD06> { [  Cyrillic_en,      Cyrillic_EN,      U04A5,                U04A4                ] };
    363     key <AD07> { [  Cyrillic_ghe,     Cyrillic_GHE,     U0495,                U0494                ] };
    364     key <AD10> { [  Cyrillic_ze,      Cyrillic_ZE,      U04E1,                U04E0                ] };
    365     key <AD11> { [  Cyrillic_ha,      Cyrillic_HA,      Cyrillic_shha,        Cyrillic_SHHA        ] };
    366     key <AC07> { [  Cyrillic_o,       Cyrillic_O,       Cyrillic_o_bar,       Cyrillic_O_bar       ] };
    367     key <AC10> { [  Cyrillic_zhe,     Cyrillic_ZHE,     U0461,                U0460                ] };
    368     key <AB02> { [  Cyrillic_che,     Cyrillic_CHE,     Cyrillic_u_macron,    Cyrillic_U_macron    ] };
    369     key <AB04> { [  Cyrillic_em,      Cyrillic_EM,      U04C8,                U04C7                ] };
    370     key <AB05> { [  Cyrillic_i,       Cyrillic_I,       Cyrillic_i_macron,    Cyrillic_I_macron    ] };
    371 
    372     include "level3(ralt_switch)"
    373 };
    374 
    375 
    376 //Kalmyk language layout
    377 //based on the Kalmyk language layout: http://soft.oyrat.org/
    378 //Nikolay Korneev <halmg (a] oyrat.org>
    379 //Toli Miron <mirontoli (a] gmail.com>
    380 partial alphanumeric_keys
    381 xkb_symbols "xal" {
    382 
    383     include "ru(winkeys)"
    384     name[Group1]= "Kalmyk";
    385 
    386     key.type[group1]="FOUR_LEVEL";
    387 
    388     key <AE01> { [               question,                 exclam,             1  ] };
    389     key <AE02> { [             numerosign,               quotedbl,             2  ] };
    390     key <AE03> { [    Cyrillic_u_straight,    Cyrillic_U_straight,             3  ] };
    391     key <AE04> { [         Cyrillic_schwa,         Cyrillic_SCHWA,             4  ] };
    392     key <AE05> { [               asterisk,                percent,             5  ] };
    393     key <AE06> { [  Cyrillic_en_descender,  Cyrillic_EN_descender,             6  ] };
    394     key <AE07> { [         Cyrillic_o_bar,         Cyrillic_O_bar,             7  ] };
    395     key <AE08> { [          Cyrillic_shha,          Cyrillic_SHHA,             8  ] };
    396     key <AE09> { [ Cyrillic_zhe_descender, Cyrillic_ZHE_descender,             9  ] };
    397     key <AE10> { [              semicolon,                  colon,             0  ] };
    398 
    399     key <TLDE> { [              parenleft,             parenright,   Cyrillic_io,  Cyrillic_IO    ] };
    400 
    401     key <AD02> { [           Cyrillic_tse,           Cyrillic_TSE,        dollar  ] };
    402     key <AD03> { [             Cyrillic_u,             Cyrillic_U,      EuroSign  ] };
    403     key <AD04> { [            Cyrillic_ka,            Cyrillic_KA,    registered  ] };
    404     key <AD05> { [            Cyrillic_ie,            Cyrillic_IE,     trademark  ] };
    405     key <AD11> { [            Cyrillic_ha,            Cyrillic_HA,   bracketleft  ] };
    406     key <AD12> { [      Cyrillic_hardsign,      Cyrillic_HARDSIGN,  bracketright  ] };
    407     key <AC11> { [             Cyrillic_e,             Cyrillic_E,    apostrophe  ] };
    408     key <AB03> { [            Cyrillic_es,            Cyrillic_ES,     copyright  ] };
    409     key <AB08> { [            Cyrillic_be,            Cyrillic_BE,          less  ] };
    410     key <AB09> { [            Cyrillic_yu,            Cyrillic_YU,       greater  ] };
    411 
    412     include "level3(ralt_switch)"
    413 };
    414 
    415 partial alphanumeric_keys
    416 xkb_symbols "dos" {
    417 
    418     include "ru(common)"
    419     name[Group1]= "Russian (DOS)";
    420 
    421     key <TLDE> { [   parenright,  parenleft   ] };
    422     key <AE04> { [   4,           currency    ] };
    423     key <AE09> { [   9,           question    ] };
    424     key <AE10> { [   0,           percent     ] };
    425 
    426     key <AB10> { [   Cyrillic_io, Cyrillic_IO ] };
    427 };
    428 
    429 partial alphanumeric_keys
    430 xkb_symbols "bak" {
    431 
    432     include "ru(winkeys)"
    433     name[Group1]= "Bashkirian";
    434 
    435     key.type[group1]="FOUR_LEVEL";
    436 
    437     key <TLDE> { [  0x010004d9,  0x010004d8,  Cyrillic_io,   Cyrillic_IO  ] };
    438     key <AE01> { [      exclam,    quotedbl,            1,             1  ] };
    439     key <AE02> { [  0x010004e9,  0x010004e8,            2,             2  ] };
    440     key <AE03> { [  0x010004a1,  0x010004a0,            3,             3  ] };
    441     key <AE04> { [  0x01000493,  0x01000492,            4,             4  ] };
    442     key <AE05> { [  0x010004ab,  0x010004aa,            5,             5  ] };
    443     key <AE06> { [       colon,   semicolon,            6,             6  ] };
    444     key <AE07> { [  0x01000499,  0x01000498,            7,             7  ] };
    445     key <AE08> { [  0x010004bb,  0x010004ba,            8,             8  ] };
    446     key <AE09> { [    question,   parenleft,            9,             9  ] };
    447     key <AE10> { [  numerosign,  parenright,            0,             0  ] };
    448     key <AE11> { [       minus,     percent,        minus,    underscore  ] };
    449     key <AE12> { [  0x010004af,  0x010004ae,        equal,          plus  ] };
    450     key <BKSL> { [  0x010004a3,  0x010004a2,    backslash,         slash  ] };
    451 
    452     include "level3(ralt_switch)"
    453 };
    454 
    455 // Serbian characters are added as third-level symbols to Russian keyboard layout.
    456 partial alphanumeric_keys
    457 xkb_symbols "srp" {
    458 
    459     include "ru(common)"
    460     name[Group1]= "Serbian (Russia)";
    461 
    462     key <AE03> { [               3,      numerosign                ] };
    463     key <AE04> { [               4,       semicolon                ] };
    464     key <AE05> { [               5,         percent                ] };
    465     key <AE06> { [               6,           colon                ] };
    466     key <AE07> { [               7,        question                ] };
    467     key <AE08> { [               8,        asterisk                ] };
    468     key <AB10> { [          period,           comma                ] };
    469     key <BKSL> { [       backslash,           slash                ] };
    470     key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI,  U458,  U408  ] };
    471     key <AD06> { [     Cyrillic_en,     Cyrillic_EN,  U45A,  U40A  ] };
    472     key <AC08> { [     Cyrillic_el,     Cyrillic_EL,  U459,  U409  ] };
    473     key <AC09> { [     Cyrillic_de,     Cyrillic_DE,  U45F,  U40F  ] };
    474     key <AC10> { [    Cyrillic_zhe,    Cyrillic_ZHE,  U452,  U402  ] };
    475     key <AB02> { [    Cyrillic_che,    Cyrillic_CHE,  U45B,  U40B  ] };
    476 
    477     include "level3(ralt_switch)"
    478 };
    479 
    480 // Mari language layout
    481 // http://www.marlamuter.ru/
    482 partial alphanumeric_keys
    483 xkb_symbols "chm" {
    484 
    485     include "ru(common)"
    486     name[Group1]= "Mari";
    487 
    488     key.type[group1]="FOUR_LEVEL_ALPHABETIC";
    489 
    490     key <AC04> { [   Cyrillic_a,   Cyrillic_A,   U04D3,   U04D2  ] };
    491     key <AD03> { [   Cyrillic_u,   Cyrillic_U,   U04F1,   U04F0  ] };
    492     key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, U04F9,   U04F8  ] };
    493     key <AD06> { [   Cyrillic_en,  Cyrillic_EN,  U04A5,   U04A4  ] };
    494     key <AC11> { [   Cyrillic_e,   Cyrillic_E,   U04E9,   U04E8  ] };
    495     key <AC10> { [  Cyrillic_zhe,  Cyrillic_ZHE, U04EB,   U04EA  ] };
    496     key <AC01> { [   Cyrillic_ef,  Cyrillic_EF,  UF537,   UF536  ] };
    497 
    498     include "level3(ralt_switch)"
    499 };
    500 
    501 // EXTRAS:
    502 
    503 // Church Slavonic language layout
    504 // based on the Russian standard keyboard
    505 // by Aleksandr Andreev and Yuri Shardt
    506 // last changes 2010/08/01; contact <aleksandr.andreev (a] gmail.com>
    507 partial alphanumeric_keys
    508 xkb_symbols "chu" {
    509 
    510     name[Group1]= "Church Slavonic";
    511 
    512     key <TLDE> { [  U0457,  U0407,  U0482,  U20DD  ] };  //    e.g:  where the last is a combining ten thousands sign
    513     key <AE01> { [  U0461,  U0460,  U047D,  U047C  ] };  //    
    514     key <AE02> { [  U0454,  U0404,  U0465,  U0464  ] };  //    
    515     key <AE03> { [  U046F,  U046E,  U0469,  U0468  ] };  //    
    516     key <AE04> { [  U0471,  U0470,  U046D,  U046C  ] };  //    
    517     key <AE05> { [  U0473,  U0472,  UA657,  UA656  ] };  //   iotified A
    518     key <AE06> { [  U0475,  U0474,  U0477,  U0476  ] };  //    
    519     key <AE07> { [  U047B,  U047A,  UA64D,  UA64C  ] };  //    
    520     key <AE08> { [  U047F,  U047E,  U046B,  U046A  ] };  //    
    521     key <AE09> { [  U0455,  U0405,parenleft,U002A  ] };  //   ( *
    522     key <AE10> { [Cyrillic_u,Cyrillic_U,parenright,U0488]};  //   ) NB: for digraph Ouk, use Cyrillic_o + Cyrillic_u
    523     key <AE11> { [  U0483,  U0486,  U0487,  U005F  ] };  //   , _ (titlo, psili, pokrytie, underscore)
    524     key <AE12> { [  U0301,  U0300,  U0484,  UA67E  ] };  //     (oxia, varia, kamora, kavyka)
    525 
    526     key <AD01> { [  Cyrillic_shorti,  Cyrillic_SHORTI,  U0456  ] };
    527     key <AD02> { [     Cyrillic_tse,     Cyrillic_TSE,  U2DF0  ] };
    528     key <AD03> { [            UA64B,            UA64A,  U2DF9  ] };  // Cyrillic monograph Uk (not U)!
    529     key <AD04> { [      Cyrillic_ka,      Cyrillic_KA,  U2DE6  ] };
    530     key <AD05> { [      Cyrillic_ie,      Cyrillic_IE,  U2DF7  ] };
    531     key <AD06> { [      Cyrillic_en,      Cyrillic_EN,  U2DE9  ] };
    532     key <AD07> { [     Cyrillic_ghe,     Cyrillic_GHE,  U2DE2  ] };
    533     key <AD08> { [     Cyrillic_sha,     Cyrillic_SHA,  U2DF2  ] };
    534     key <AD09> { [   Cyrillic_shcha,   Cyrillic_SHCHA,  U2DF3  ] };
    535     key <AD10> { [      Cyrillic_ze,      Cyrillic_ZE,  U2DE5  ] };
    536     key <AD11> { [      Cyrillic_ha,      Cyrillic_HA,  U2DEF  ] };
    537     key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN,  UA67D  ] };  // Payerok
    538     key <BKSL> { [        backslash,            slash,  colon,  question ] };  // \ / : ? NB: for Slavonic question, use semicolon
    539 
    540     key <AC01> { [      Cyrillic_ef,      Cyrillic_EF          ] };
    541     key <AC02> { [    Cyrillic_yeru,    Cyrillic_YERU          ] };
    542     key <AC03> { [      Cyrillic_ve,      Cyrillic_VE,  U2DE1  ] };
    543     key <AC04> { [       Cyrillic_a,       Cyrillic_A,  U2DF6  ] };
    544     key <AC05> { [      Cyrillic_pe,      Cyrillic_PE,  U2DEB  ] };
    545     key <AC06> { [      Cyrillic_er,      Cyrillic_ER,  U2DEC  ] };
    546     key <AC07> { [       Cyrillic_o,       Cyrillic_O,  U2DEA  ] };
    547     key <AC08> { [      Cyrillic_el,      Cyrillic_EL,  U2DE7  ] };
    548     key <AC09> { [      Cyrillic_de,      Cyrillic_DE,  U2DE3  ] };
    549     key <AC10> { [     Cyrillic_zhe,     Cyrillic_ZHE,  U2DE4  ] };
    550     key <AC11> { [            U0463,            U0462,  U2DFA  ] };  // Yat
    551 
    552     key <AB01> { [            U0467,            U0466,  U2DFD  ] };  // Small Yus
    553     key <AB02> { [     Cyrillic_che,     Cyrillic_CHE,  U2DF1  ] };
    554     key <AB03> { [      Cyrillic_es,      Cyrillic_ES,  U2DED  ] };
    555     key <AB04> { [      Cyrillic_em,      Cyrillic_EM,  U2DE8  ] };
    556     key <AB05> { [       Cyrillic_i,       Cyrillic_I          ] };
    557     key <AB06> { [      Cyrillic_te,      Cyrillic_TE,  U2DEE  ] };
    558     key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN          ] };
    559     key <AB08> { [      Cyrillic_be,      Cyrillic_BE,  U2DE0  ] };
    560     key <AB09> { [      Cyrillic_yu,      Cyrillic_YU,  U2DFB  ] };
    561     key <AB10> { [           period,            comma, semicolon, exclam  ] };
    562 };
    563 
    564 
    565 // RUU (Russian-Ukrainian United keyboard layout).
    566 // This is a modified Russian standard keyboard, with the third level containing
    567 // Ukrainian and Belorusian alphabetic letters and commonly used Unicode symbols.
    568 // For a description see http://wiki.opennet.ru/RUU [in Russian].
    569 // Vasyl V. Vercynskyj <fuckel (a] ukr.net>
    570 // last changes 2011/05/11
    571 //
    572 // 
    573 //  ' ~  !   "      ;   %   :   ?   *   ( {  ) }  _   +          
    574 //      1   2   3   4 $  5   6 <  7 >  8   9 [  0 ]  -   =  Backspace
    575 // 
    576 //                                                     Enter 
    577 //  Tab                                                   
    578 //       
    579 //  Caps                                              |        
    580 //  Lock                                             / \       
    581 // 
    582 //                                              ,                  
    583 //   Shift                                  . /      Shift     
    584 // 
    585 //                                                                              
    586 //  Ctrl   Meta    Alt                  Space              AltGr  Menu   Ctrl  
    587 // 
    588 partial alphanumeric_keys
    589 xkb_symbols "ruu" {
    590 
    591     include "ru(common)"
    592     name[Group1]= "Russian (with Ukrainian-Belorussian layout)";
    593 
    594     key <TLDE> { [  U2019,  apostrophe,         U0301,  asciitilde  ] };  // Apostrophe and Stress symbol
    595     key <AE01> { [      1,      exclam,         U00F7,       U2248  ] };  // Division Sign and Almost Equal To
    596     key <AE02> { [      2,    quotedbl,      currency,    infinity  ] };
    597     key <AE03> { [      3,  numerosign,         U00A7,       U20B4  ] };  // Paragraph and Hryvnia sign
    598     key <AE04> { [      4,   semicolon,        dollar,    EuroSign  ] };
    599     key <AE05> { [      5,     percent,        degree,       U2030  ] };  // Per Mille Sign
    600     key <AE06> { [      6,       colon,          less,       U2264  ] };  // Less-Than Or Equal To
    601     key <AE07> { [      7,    question,       greater,       U2265  ] };  // Greater-Than Or Equal To
    602     key <AE08> { [      8,    asterisk, enfilledcircbullet,  U00D7  ] };  // Multiplication Sign
    603     key <AE09> { [      9,   parenleft,   bracketleft,   braceleft  ] };
    604     key <AE10> { [      0,  parenright,  bracketright,  braceright  ] };
    605     key <AE11> { [  minus,  underscore,        emdash,      endash  ] };
    606     key <AE12> { [  equal,        plus,      notequal,   plusminus  ] };
    607 
    608     key <AD03> { [        Cyrillic_u,        Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] };
    609     key <AD04> { [       Cyrillic_ka,       Cyrillic_KA,    registered                        ] };  // Registered tm
    610     key <AD05> { [       Cyrillic_ie,       Cyrillic_IE,   Cyrillic_io,          Cyrillic_IO  ] };
    611     key <AD07> { [      Cyrillic_ghe,      Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
    612     key <AD10> { [       Cyrillic_ze,       Cyrillic_ZE,         U00B6                        ] };  // Pilcrow Sign
    613     key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN,  Ukrainian_yi,         Ukrainian_YI  ] };
    614 
    615     key <AC02> { [     Cyrillic_yeru,     Cyrillic_YERU,   Ukrainian_i,          Ukrainian_I  ] };
    616     key <AC11> { [        Cyrillic_e,        Cyrillic_E,  Ukrainian_ie,         Ukrainian_IE  ] };
    617     key <BKSL> { [             slash,               bar,     backslash,                U00A6  ] };  // Broken Bar
    618 
    619     key <AB03> { [       Cyrillic_es,       Cyrillic_ES,      copyright                       ] };
    620     key <AB06> { [       Cyrillic_te,       Cyrillic_TE,      trademark                       ] };
    621     key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN,          U00B5                       ] };  // Micro Sign
    622     key <AB08> { [       Cyrillic_be,       Cyrillic_BE,  guillemotleft,  doublelowquotemark  ] };
    623     key <AB09> { [       Cyrillic_yu,       Cyrillic_YU, guillemotright, leftdoublequotemark  ] };
    624     key <AB10> { [            period,             comma,          slash,            ellipsis  ] };
    625 
    626     include "level3(ralt_switch)"
    627 };
    628 
    629 partial alphanumeric_keys
    630 	xkb_symbols "sun_type6" {
    631 	include "sun_vndr/ru(sun_type6)"
    632 };
    633 
    634 // Apple layout
    635 partial alphanumeric_keys
    636 xkb_symbols "mac" {
    637 
    638     include "ru(common)"
    639     name[Group1]= "Russian (Macintosh)";
    640 
    641     key <LSGT> { [          less,      greater  ] };
    642     key <AE02> { [             2,     quotedbl  ] };
    643     key <AE03> { [             3,   numerosign  ] };
    644     key <AE04> { [             4,      percent  ] };
    645     key <AE05> { [             5,        colon  ] };
    646     key <AE06> { [             6,        comma  ] };
    647     key <AE07> { [             7,       period  ] };
    648     key <AE08> { [             8,    semicolon  ] };
    649     key <TLDE> { [  bracketright,  bracketleft  ] };
    650     key <BKSL> { [   Cyrillic_io,  Cyrillic_IO  ] };
    651 };
    652