Home | History | Annotate | Line # | Download | only in symbols
rs revision 1.1
      1  1.1  mrg // Bosnian, Croatian, Serbian and Slovenian XKB keyboard mapping
      2  1.1  mrg // (derived from "Danube" D.2)
      3  1.1  mrg //
      4  1.1  mrg // Danube D.2 from 2003-05-12 is available at http://srpski.org/dunav/
      5  1.1  mrg //
      6  1.1  mrg // Original authors:
      7  1.1  mrg //  Danilo Segan ( ) <danilo (a] kvota.net>
      8  1.1  mrg //  Chusslove Illich ( ) <chaslav (a] sezampro.yu>
      9  1.1  mrg //
     10  1.1  mrg // Danilo Segan <danilo (a] kvota.net>:
     11  1.1  mrg // - Modified for inclusion in XFree86
     12  1.1  mrg // - Further modifications on 2005-08-18 to support Bosnian, Croatian
     13  1.1  mrg //   and Slovenian in xkeyboard-config
     14  1.1  mrg //  
     15  1.1  mrg // $XKeyboardConfig: xkeyboard-config/symbols/rs,v 1.1 2007-10-04 21:46:58 svu Exp $
     16  1.1  mrg 
     17  1.1  mrg default partial alphanumeric_keys
     18  1.1  mrg xkb_symbols "basic" {
     19  1.1  mrg 
     20  1.1  mrg   name[Group1]= "Serbia";
     21  1.1  mrg 
     22  1.1  mrg   include "rs(level3)"
     23  1.1  mrg   include "rs(common)"
     24  1.1  mrg   include "rs(cyralpha)"
     25  1.1  mrg   include "level3(ralt_switch)"
     26  1.1  mrg };
     27  1.1  mrg 
     28  1.1  mrg 
     29  1.1  mrg partial alphanumeric_keys
     30  1.1  mrg xkb_symbols "latin" {
     31  1.1  mrg 
     32  1.1  mrg   name[Group1]= "Serbia - Latin";
     33  1.1  mrg 
     34  1.1  mrg   include "latin(type3)"
     35  1.1  mrg   include "rs(latalpha)"
     36  1.1  mrg   include "rs(level3)"
     37  1.1  mrg   include "rs(common)"
     38  1.1  mrg   include "level3(ralt_switch)"
     39  1.1  mrg };
     40  1.1  mrg 
     41  1.1  mrg 
     42  1.1  mrg partial alphanumeric_keys
     43  1.1  mrg xkb_symbols "yz" {
     44  1.1  mrg   // Cyrillic_zhe and Cyrillic_ze swapped.
     45  1.1  mrg 
     46  1.1  mrg   name[Group1]= "Serbia - Z and ZHE swapped";
     47  1.1  mrg 
     48  1.1  mrg   include "rs(basic)"
     49  1.1  mrg 
     50  1.1  mrg   key <AD06> {   [ Cyrillic_zhe,        Cyrillic_ZHE,   any,any ]   }; // y
     51  1.1  mrg   key <AB01> {   [ Cyrillic_ze,         Cyrillic_ZE,    any,any ]   }; // z
     52  1.1  mrg };
     53  1.1  mrg 
     54  1.1  mrg partial hidden alphanumeric_keys
     55  1.1  mrg xkb_symbols "common" {
     56  1.1  mrg   // "Common" keys: keys which are same for both latin and cyrillic keyboards
     57  1.1  mrg 
     58  1.1  mrg   key.type[Group1] = "FOUR_LEVEL";
     59  1.1  mrg 
     60  1.1  mrg   key <TLDE> {   [ quoteleft,           asciitilde,    any,any ]   }; //
     61  1.1  mrg   key <AE01> {   [ 1,                   exclam,        any,any ]   }; //
     62  1.1  mrg   key <AE02> {   [ 2,                   quotedbl,      any,any ]   }; //
     63  1.1  mrg   key <AE03> {   [ 3,                   numbersign,    any,any ]   }; //
     64  1.1  mrg   key <AE04> {   [ 4,                   dollar,        any,any ]   }; //
     65  1.1  mrg   key <AE05> {   [ 5,                   percent,       any,any ]   }; //
     66  1.1  mrg   key <AE06> {   [ 6,                   ampersand,     any,any ]   }; //
     67  1.1  mrg   key <AE07> {   [ 7,                   slash,         any,any ]   }; //
     68  1.1  mrg   key <AE08> {   [ 8,                   parenleft,     any,any ]   }; //
     69  1.1  mrg   key <AE09> {   [ 9,                   parenright,    any,any ]   }; //
     70  1.1  mrg   key <AE10> {   [ 0,                   equal,         any,any ]   }; //
     71  1.1  mrg   key <AE11> {   [ apostrophe,          question,      any,any ]   }; //
     72  1.1  mrg   key <AE12> {   [ plus,                asterisk,      any,any ]   }; //
     73  1.1  mrg 
     74  1.1  mrg   key <AB08> {   [ comma,               semicolon,     any,any ]   }; //
     75  1.1  mrg   key <AB09> {   [ period,              colon,         any,any ]   }; //
     76  1.1  mrg   key <AB10> {   [ minus,               underscore,    any,any ]   }; //
     77  1.1  mrg 
     78  1.1  mrg   include "kpdl(comma)"
     79  1.1  mrg };
     80  1.1  mrg 
     81  1.1  mrg partial hidden alphanumeric_keys
     82  1.1  mrg xkb_symbols "cyralpha" {
     83  1.1  mrg 
     84  1.1  mrg   key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
     85  1.1  mrg 
     86  1.1  mrg   key <AD01> {   [ Cyrillic_lje,        Cyrillic_LJE,   any,any ]   }; // q
     87  1.1  mrg   key <AD02> {   [ Cyrillic_nje,        Cyrillic_NJE,   any,any ]   }; // w
     88  1.1  mrg   key <AD03> {   [ Cyrillic_ie,         Cyrillic_IE,    any,any ]   }; // e
     89  1.1  mrg   key <AD04> {   [ Cyrillic_er,         Cyrillic_ER,    any,any ]   }; // r
     90  1.1  mrg   key <AD05> {   [ Cyrillic_te,         Cyrillic_TE,    any,any ]   }; // t
     91  1.1  mrg   key <AD06> {   [ Cyrillic_ze,         Cyrillic_ZE,    any,any ]   }; // y
     92  1.1  mrg   key <AD07> {   [ Cyrillic_u,          Cyrillic_U,     any,any ]   }; // u
     93  1.1  mrg   key <AD08> {   [ Cyrillic_i,          Cyrillic_I,     any,any ]   }; // i
     94  1.1  mrg   key <AD09> {   [ Cyrillic_o,          Cyrillic_O,     any,any ]   }; // o
     95  1.1  mrg   key <AD10> {   [ Cyrillic_pe,         Cyrillic_PE,    any,any ]   }; // p
     96  1.1  mrg   key <AD11> {   [ Cyrillic_sha,        Cyrillic_SHA,   any,any ]   }; // [ {
     97  1.1  mrg   key <AD12> {   [ Serbian_dje,         Serbian_DJE,    any,any ]   }; // ] }
     98  1.1  mrg 
     99  1.1  mrg   key <AC01> {   [ Cyrillic_a,          Cyrillic_A,     any,any ]   }; // a
    100  1.1  mrg   key <AC02> {   [ Cyrillic_es,         Cyrillic_ES,    any,any ]   }; // s
    101  1.1  mrg   key <AC03> {   [ Cyrillic_de,         Cyrillic_DE,    any,any ]   }; // d
    102  1.1  mrg   key <AC04> {   [ Cyrillic_ef,         Cyrillic_EF,    any,any ]   }; // f
    103  1.1  mrg   key <AC05> {   [ Cyrillic_ghe,        Cyrillic_GHE,   any,any ]   }; // g
    104  1.1  mrg   key <AC06> {   [ Cyrillic_ha,         Cyrillic_HA,    any,any ]   }; // h
    105  1.1  mrg   key <AC07> {   [ Cyrillic_je,         Cyrillic_JE,    any,any ]   }; // j
    106  1.1  mrg   key <AC08> {   [ Cyrillic_ka,         Cyrillic_KA,    any,any ]   }; // k
    107  1.1  mrg   key <AC09> {   [ Cyrillic_el,         Cyrillic_EL,    any,any ]   }; // l
    108  1.1  mrg   key <AC10> {   [ Cyrillic_che,        Cyrillic_CHE,   any,any ]   }; // ; :
    109  1.1  mrg   key <AC11> {   [ Serbian_tshe,        Serbian_TSHE,   any,any ]   }; // ' "
    110  1.1  mrg   key <BKSL> {   [ Cyrillic_zhe,        Cyrillic_ZHE,   any,any ]   }; // \ |
    111  1.1  mrg 
    112  1.1  mrg   key <AB01> {   [ Cyrillic_zhe,        Cyrillic_ZHE,   any,any ]   }; // z
    113  1.1  mrg   key <AB02> {   [ Cyrillic_dzhe,       Cyrillic_DZHE,  any,any ]   }; // x
    114  1.1  mrg   key <AB03> {   [ Cyrillic_tse,        Cyrillic_TSE,   any,any ]   }; // c
    115  1.1  mrg   key <AB04> {   [ Cyrillic_ve,         Cyrillic_VE,    any,any ]   }; // v
    116  1.1  mrg   key <AB05> {   [ Cyrillic_be,         Cyrillic_BE,    any,any ]   }; // b
    117  1.1  mrg   key <AB06> {   [ Cyrillic_en,         Cyrillic_EN,    any,any ]   }; // n
    118  1.1  mrg   key <AB07> {   [ Cyrillic_em,         Cyrillic_EM,    any,any ]   }; // m
    119  1.1  mrg };
    120  1.1  mrg 
    121  1.1  mrg 
    122  1.1  mrg partial hidden alphanumeric_keys
    123  1.1  mrg xkb_symbols "latalpha" {
    124  1.1  mrg 
    125  1.1  mrg   key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
    126  1.1  mrg 
    127  1.1  mrg   key <AD11> {   [ scaron,              Scaron,        any,any ]   }; //
    128  1.1  mrg   key <AD12> {   [ dstroke,             Dstroke,       any,any ]   }; //
    129  1.1  mrg 
    130  1.1  mrg   key <AC10> {   [ ccaron,              Ccaron,        any,any ]   }; //
    131  1.1  mrg   key <AC11> {   [ cacute,              Cacute,        any,any ]   }; //
    132  1.1  mrg   key <BKSL> {   [ zcaron,              Zcaron,        any,any ]   }; //
    133  1.1  mrg 
    134  1.1  mrg };
    135  1.1  mrg 
    136  1.1  mrg partial hidden alphanumeric_keys
    137  1.1  mrg xkb_symbols "twoletter" {
    138  1.1  mrg   // These are letters which are written in latin transcription with two-characters.
    139  1.1  mrg 
    140  1.1  mrg   key <AD01> {   type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
    141  1.1  mrg                  [ U1C9,                U1C8,         any,   U1C7 ]   }; // q
    142  1.1  mrg   key <AD02> {   type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
    143  1.1  mrg                  [ U1CC,                U1CB,         any,   U1CA ]   }; // w
    144  1.1  mrg   key <AB02> {   type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
    145  1.1  mrg                  [ U1C6,                U1C5,         any,   U1C4 ]   }; // x
    146  1.1  mrg 
    147  1.1  mrg   // Also replace letter Y with Zcaron, since Y is of no use any longer
    148  1.1  mrg   key <AB01> {   [ zcaron,              Zcaron,        any,any ]   }; //
    149  1.1  mrg };
    150  1.1  mrg 
    151  1.1  mrg partial hidden alphanumeric_keys
    152  1.1  mrg xkb_symbols "level3" {
    153  1.1  mrg   key <TLDE> {   [ any,any,     notsign,             notsign     ]   }; // ` ~
    154  1.1  mrg   key <AE01> {   [ any,any,     dead_tilde,          asciitilde  ]   }; // 1 !
    155  1.1  mrg   key <AE02> {   [ any,any,     dead_caron,          caron 	 ]   }; // 2 @
    156  1.1  mrg   key <AE03> {   [ any,any,     dead_circumflex,     asciicircum ]   }; // 3 #
    157  1.1  mrg   key <AE04> {   [ any,any,     dead_breve,          breve 	 ]   }; // 4 $
    158  1.1  mrg   key <AE05> {   [ any,any,     dead_abovering,      degree	 ]   }; // 5 %
    159  1.1  mrg   key <AE06> {   [ any,any,     dead_ogonek,         ogonek	 ]   }; // 6 ^
    160  1.1  mrg   key <AE07> {   [ any,any,     dead_grave,          grave 	 ]   }; // 7 &
    161  1.1  mrg   key <AE08> {   [ any,any,     dead_abovedot,       abovedot 	 ]   }; // 8 *
    162  1.1  mrg   key <AE09> {   [ any,any,     dead_acute,          apostrophe  ]   }; // 9 (
    163  1.1  mrg   key <AE10> {   [ any,any,     dead_doubleacute,    doubleacute ]   }; // 0 )
    164  1.1  mrg   key <AE11> {   [ any,any,     dead_diaeresis,      diaeresis 	 ]   }; // - _
    165  1.1  mrg   key <AE12> {   [ any,any,     dead_cedilla,        cedilla 	 ]   }; // = +
    166  1.1  mrg 
    167  1.1  mrg   key <AD01> {   [ any,any,     backslash,           Greek_OMEGA ]   }; // q
    168  1.1  mrg   key <AD02> {   [ any,any,     bar,                 Lstroke 	 ]   }; // w
    169  1.1  mrg   key <AD03> {   [ any,any,     EuroSign,            EuroSign 	 ]   }; // e
    170  1.1  mrg   key <AD04> {   [ any,any,     paragraph,           registered  ]   }; // r
    171  1.1  mrg   key <AD05> {   [ any,any,     tslash,              Tslash 	 ]   }; // t // ALPHABETIC
    172  1.1  mrg   key <AD06> {   [ any,any,     leftarrow,           yen 	 ]   }; // y
    173  1.1  mrg   key <AD07> {   [ any,any,     downarrow,           uparrow 	 ]   }; // u
    174  1.1  mrg   key <AD08> {   [ any,any,     rightarrow,          idotless 	 ]   }; // i
    175  1.1  mrg   key <AD09> {   [ any,any,     oslash,              Ooblique 	 ]   }; // o // ALPHABETIC
    176  1.1  mrg   key <AD10> {   [ any,any,     thorn,               THORN 	 ]   }; // p // ALPHABETIC
    177  1.1  mrg   key <AD11> {   [ any,any,     division,            dead_abovering ]   }; // [
    178  1.1  mrg   key <AD12> {   [ any,any,     multiply,            dead_macron ]   }; // ]
    179  1.1  mrg 
    180  1.1  mrg   key <AC01> {   [ any,any,     ae,            	     AE               ]   }; // a // ALPHABETIC
    181  1.1  mrg   key <AC02> {   [ any,any,     doublelowquotemark,  guillemotright   ]   }; // s
    182  1.1  mrg   key <AC03> {   [ any,any,     leftdoublequotemark, guillemotleft    ]   }; // d
    183  1.1  mrg   key <AC04> {   [ any,any,     bracketleft,         ordfeminine      ]   }; // f
    184  1.1  mrg   key <AC05> {   [ any,any,     bracketright,        ENG 	      ]   }; // g
    185  1.1  mrg   key <AC06> {   [ any,any,     hstroke,             Hstroke 	      ]   }; // h // ALPHABETIC
    186  1.1  mrg   key <AC07> {   [ any,any,     NoSymbol,            NoSymbol 	      ]   }; // j
    187  1.1  mrg   key <AC08> {   [ any,any,     lstroke,             ampersand 	      ]   }; // k
    188  1.1  mrg   key <AC09> {   [ any,any,     lstroke,             Lstroke 	      ]   }; // l
    189  1.1  mrg   key <AC10> {   [ any,any,     dead_acute,          dead_doubleacute ]   }; // ;
    190  1.1  mrg   key <AC11> {   [ any,any,     ssharp,              dead_caron       ]   }; // '
    191  1.1  mrg   key <BKSL> {   [ any,any,     currency,            dead_breve       ]   }; // \
    192  1.1  mrg 
    193  1.1  mrg   key <AB01> {   [ any,any,     leftsinglequotemark, guillemotright   ]   }; // z
    194  1.1  mrg   key <AB02> {   [ any,any,     rightsinglequotemark,guillemotleft    ]   }; // x
    195  1.1  mrg   key <AB03> {   [ any,any,     cent,                copyright 	      ]   }; // c
    196  1.1  mrg   key <AB04> {   [ any,any,     at,                  grave 	      ]   }; // v
    197  1.1  mrg   key <AB05> {   [ any,any,     braceleft,           apostrophe       ]   }; // b
    198  1.1  mrg   key <AB06> {   [ any,any,     braceright,          braceright       ]   }; // n
    199  1.1  mrg   key <AB07> {   [ any,any,     asciicircum,         masculine 	      ]   }; // m
    200  1.1  mrg   key <AB08> {   [ any,any,     less,                multiply 	      ]   }; // , <
    201  1.1  mrg   key <AB09> {   [ any,any,     greater,             division 	      ]   }; // . >
    202  1.1  mrg   key <AB10> {   [ any,any,     emdash,              endash   	      ]   }; // / ?
    203  1.1  mrg 
    204  1.1  mrg };
    205  1.1  mrg 
    206  1.1  mrg partial alphanumeric_keys
    207  1.1  mrg xkb_symbols "latinunicode" {
    208  1.1  mrg   // This mapping supports the Unicode characters 0x1c4-0x1cc (dz, lj, and nj
    209  1.1  mrg   // as single character). You get the title form with AltGr+Shift.
    210  1.1  mrg 
    211  1.1  mrg   name[Group1]= "Serbia - Latin Unicode";
    212  1.1  mrg 
    213  1.1  mrg   include "rs(latin)"
    214  1.1  mrg   include "rs(twoletter)"
    215  1.1  mrg };
    216  1.1  mrg 
    217  1.1  mrg partial alphanumeric_keys
    218  1.1  mrg xkb_symbols "latinyz" {
    219  1.1  mrg   // For those who insist on using "english-position" Z and Y.
    220  1.1  mrg 
    221  1.1  mrg   name[Group1]= "Serbia - Latin qwerty";
    222  1.1  mrg 
    223  1.1  mrg   include "rs(latin)"
    224  1.1  mrg 
    225  1.1  mrg   key <AD06> {   [ y,                   Y,             any,any ]   }; // y
    226  1.1  mrg   key <AB01> {   [ z,                   Z,             any,any ]   }; // z
    227  1.1  mrg };
    228  1.1  mrg 
    229  1.1  mrg partial alphanumeric_keys
    230  1.1  mrg xkb_symbols "latinunicodeyz" {
    231  1.1  mrg   // Unicode, ZHE and Z swapped.
    232  1.1  mrg 
    233  1.1  mrg   name[Group1]= "Serbia - Latin Unicode qwerty";
    234  1.1  mrg 
    235  1.1  mrg   include "rs(latinunicode)"
    236  1.1  mrg 
    237  1.1  mrg   key <AD06> {   [ zcaron,              Zcaron,        any,any ]   }; // y
    238  1.1  mrg   key <AB01> {   [ z,                   Z,             any,any ]   }; // z
    239  1.1  mrg };
    240  1.1  mrg 
    241  1.1  mrg xkb_symbols "alternatequotes" {
    242  1.1  mrg   // Another acceptable pair of quotes for Serbian 
    243  1.1  mrg 
    244  1.1  mrg   name[Group1]= "Serbia - With guillemets";
    245  1.1  mrg 
    246  1.1  mrg   include "rs(basic)"
    247  1.1  mrg 
    248  1.1  mrg   key <AC02> {   [ any,any,     guillemotright, NoSymbol ]   }; // s
    249  1.1  mrg   key <AC03> {   [ any,any,     guillemotleft,  NoSymbol ]   }; // d
    250  1.1  mrg };
    251  1.1  mrg 
    252  1.1  mrg xkb_symbols "latinalternatequotes" {
    253  1.1  mrg   // Another acceptable pair of quotes for Serbian 
    254  1.1  mrg 
    255  1.1  mrg   name[Group1]= "Serbia - Latin with guillemets";
    256  1.1  mrg 
    257  1.1  mrg   include "rs(latin)"
    258  1.1  mrg 
    259  1.1  mrg   key <AC02> {   [ any,any,     guillemotright, NoSymbol ]   }; // s
    260  1.1  mrg   key <AC03> {   [ any,any,     guillemotleft,  NoSymbol ]   }; // d
    261  1.1  mrg };
    262