rs revision c067fea9
1154daed1Smrg// Bosnian, Croatian, Serbian and Slovenian XKB keyboard mapping 2154daed1Smrg// (derived from "Danube" D.2) 3154daed1Smrg// 4154daed1Smrg// Danube D.2 from 2003-05-12 is available at http://srpski.org/dunav/ 5154daed1Smrg// 6154daed1Smrg// Original authors: 7154daed1Smrg// Danilo Segan (Данило Шеган) <danilo@kvota.net> 8154daed1Smrg// Chusslove Illich (Часлав Илић) <chaslav@sezampro.yu> 9154daed1Smrg// 10154daed1Smrg// Danilo Segan <danilo@kvota.net>: 11154daed1Smrg// - Modified for inclusion in XFree86 12154daed1Smrg// - Further modifications on 2005-08-18 to support Bosnian, Croatian 13154daed1Smrg// and Slovenian in xkeyboard-config 14154daed1Smrg// 155a35480eSmrg// $XKeyboardConfig$ 16154daed1Smrg 17154daed1Smrgdefault partial alphanumeric_keys 18154daed1Smrgxkb_symbols "basic" { 19154daed1Smrg 20154daed1Smrg name[Group1]= "Serbia"; 21154daed1Smrg 22c067fea9Sghen include "rs(cyrlevel3)" 23154daed1Smrg include "rs(common)" 24154daed1Smrg include "rs(cyralpha)" 25154daed1Smrg include "level3(ralt_switch)" 26154daed1Smrg}; 27154daed1Smrg 28154daed1Smrg 29154daed1Smrgpartial alphanumeric_keys 30154daed1Smrgxkb_symbols "latin" { 31154daed1Smrg 32154daed1Smrg name[Group1]= "Serbia - Latin"; 33154daed1Smrg 34154daed1Smrg include "latin(type3)" 35154daed1Smrg include "rs(latalpha)" 36c067fea9Sghen include "rs(latlevel3)" 37154daed1Smrg include "rs(common)" 38154daed1Smrg include "level3(ralt_switch)" 39154daed1Smrg}; 40154daed1Smrg 41154daed1Smrg 42154daed1Smrgpartial alphanumeric_keys 43154daed1Smrgxkb_symbols "yz" { 44154daed1Smrg // Cyrillic_zhe and Cyrillic_ze swapped. 45154daed1Smrg 46154daed1Smrg name[Group1]= "Serbia - Z and ZHE swapped"; 47154daed1Smrg 48154daed1Smrg include "rs(basic)" 49154daed1Smrg 50154daed1Smrg key <AD06> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // y 51154daed1Smrg key <AB01> { [ Cyrillic_ze, Cyrillic_ZE, any,any ] }; // z 52154daed1Smrg}; 53154daed1Smrg 54154daed1Smrgpartial hidden alphanumeric_keys 55154daed1Smrgxkb_symbols "common" { 56154daed1Smrg // "Common" keys: keys which are same for both latin and cyrillic keyboards 57154daed1Smrg 58154daed1Smrg key.type[Group1] = "FOUR_LEVEL"; 59154daed1Smrg 60154daed1Smrg key <TLDE> { [ quoteleft, asciitilde, any,any ] }; // 61154daed1Smrg key <AE01> { [ 1, exclam, any,any ] }; // 62154daed1Smrg key <AE02> { [ 2, quotedbl, any,any ] }; // 63154daed1Smrg key <AE03> { [ 3, numbersign, any,any ] }; // 64154daed1Smrg key <AE04> { [ 4, dollar, any,any ] }; // 65154daed1Smrg key <AE05> { [ 5, percent, any,any ] }; // 66154daed1Smrg key <AE06> { [ 6, ampersand, any,any ] }; // 67154daed1Smrg key <AE07> { [ 7, slash, any,any ] }; // 68154daed1Smrg key <AE08> { [ 8, parenleft, any,any ] }; // 69154daed1Smrg key <AE09> { [ 9, parenright, any,any ] }; // 70154daed1Smrg key <AE10> { [ 0, equal, any,any ] }; // 71154daed1Smrg key <AE11> { [ apostrophe, question, any,any ] }; // 72154daed1Smrg key <AE12> { [ plus, asterisk, any,any ] }; // 73154daed1Smrg 74154daed1Smrg key <AB08> { [ comma, semicolon, any,any ] }; // 75154daed1Smrg key <AB09> { [ period, colon, any,any ] }; // 76154daed1Smrg key <AB10> { [ minus, underscore, any,any ] }; // 77154daed1Smrg 78154daed1Smrg include "kpdl(comma)" 79154daed1Smrg}; 80154daed1Smrg 81154daed1Smrgpartial hidden alphanumeric_keys 82154daed1Smrgxkb_symbols "cyralpha" { 83154daed1Smrg 84154daed1Smrg key.type[Group1] = "FOUR_LEVEL_ALPHABETIC"; 85154daed1Smrg 86154daed1Smrg key <AD01> { [ Cyrillic_lje, Cyrillic_LJE, any,any ] }; // q 87154daed1Smrg key <AD02> { [ Cyrillic_nje, Cyrillic_NJE, any,any ] }; // w 88154daed1Smrg key <AD03> { [ Cyrillic_ie, Cyrillic_IE, any,any ] }; // e 89154daed1Smrg key <AD04> { [ Cyrillic_er, Cyrillic_ER, any,any ] }; // r 90154daed1Smrg key <AD05> { [ Cyrillic_te, Cyrillic_TE, any,any ] }; // t 91154daed1Smrg key <AD06> { [ Cyrillic_ze, Cyrillic_ZE, any,any ] }; // y 92154daed1Smrg key <AD07> { [ Cyrillic_u, Cyrillic_U, any,any ] }; // u 93154daed1Smrg key <AD08> { [ Cyrillic_i, Cyrillic_I, any,any ] }; // i 94154daed1Smrg key <AD09> { [ Cyrillic_o, Cyrillic_O, any,any ] }; // o 95154daed1Smrg key <AD10> { [ Cyrillic_pe, Cyrillic_PE, any,any ] }; // p 96154daed1Smrg key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, any,any ] }; // [ { 97154daed1Smrg key <AD12> { [ Serbian_dje, Serbian_DJE, any,any ] }; // ] } 98154daed1Smrg 99154daed1Smrg key <AC01> { [ Cyrillic_a, Cyrillic_A, any,any ] }; // a 100154daed1Smrg key <AC02> { [ Cyrillic_es, Cyrillic_ES, any,any ] }; // s 101154daed1Smrg key <AC03> { [ Cyrillic_de, Cyrillic_DE, any,any ] }; // d 102154daed1Smrg key <AC04> { [ Cyrillic_ef, Cyrillic_EF, any,any ] }; // f 103154daed1Smrg key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE, any,any ] }; // g 104154daed1Smrg key <AC06> { [ Cyrillic_ha, Cyrillic_HA, any,any ] }; // h 105154daed1Smrg key <AC07> { [ Cyrillic_je, Cyrillic_JE, any,any ] }; // j 106154daed1Smrg key <AC08> { [ Cyrillic_ka, Cyrillic_KA, any,any ] }; // k 107154daed1Smrg key <AC09> { [ Cyrillic_el, Cyrillic_EL, any,any ] }; // l 108154daed1Smrg key <AC10> { [ Cyrillic_che, Cyrillic_CHE, any,any ] }; // ; : 109154daed1Smrg key <AC11> { [ Serbian_tshe, Serbian_TSHE, any,any ] }; // ' " 110154daed1Smrg key <BKSL> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // \ | 111154daed1Smrg 112154daed1Smrg key <AB01> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // z 113154daed1Smrg key <AB02> { [ Cyrillic_dzhe, Cyrillic_DZHE, any,any ] }; // x 114154daed1Smrg key <AB03> { [ Cyrillic_tse, Cyrillic_TSE, any,any ] }; // c 115154daed1Smrg key <AB04> { [ Cyrillic_ve, Cyrillic_VE, any,any ] }; // v 116154daed1Smrg key <AB05> { [ Cyrillic_be, Cyrillic_BE, any,any ] }; // b 117154daed1Smrg key <AB06> { [ Cyrillic_en, Cyrillic_EN, any,any ] }; // n 118154daed1Smrg key <AB07> { [ Cyrillic_em, Cyrillic_EM, any,any ] }; // m 119154daed1Smrg}; 120154daed1Smrg 121154daed1Smrg 122154daed1Smrgpartial hidden alphanumeric_keys 123154daed1Smrgxkb_symbols "latalpha" { 124154daed1Smrg 125154daed1Smrg key.type[Group1] = "FOUR_LEVEL_ALPHABETIC"; 126154daed1Smrg 127154daed1Smrg key <AD11> { [ scaron, Scaron, any,any ] }; // 128154daed1Smrg key <AD12> { [ dstroke, Dstroke, any,any ] }; // 129154daed1Smrg 130154daed1Smrg key <AC10> { [ ccaron, Ccaron, any,any ] }; // 131154daed1Smrg key <AC11> { [ cacute, Cacute, any,any ] }; // 132154daed1Smrg key <BKSL> { [ zcaron, Zcaron, any,any ] }; // 133154daed1Smrg 134154daed1Smrg}; 135154daed1Smrg 136154daed1Smrgpartial hidden alphanumeric_keys 137154daed1Smrgxkb_symbols "twoletter" { 138154daed1Smrg // These are letters which are written in latin transcription with two-characters. 139154daed1Smrg 140154daed1Smrg key <AD01> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC", 141154daed1Smrg [ U1C9, U1C8, any, U1C7 ] }; // q 142154daed1Smrg key <AD02> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC", 143154daed1Smrg [ U1CC, U1CB, any, U1CA ] }; // w 144154daed1Smrg key <AB02> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC", 145154daed1Smrg [ U1C6, U1C5, any, U1C4 ] }; // x 146154daed1Smrg 147154daed1Smrg // Also replace letter Y with Zcaron, since Y is of no use any longer 148154daed1Smrg key <AB01> { [ zcaron, Zcaron, any,any ] }; // 149154daed1Smrg}; 150154daed1Smrg 151154daed1Smrgpartial hidden alphanumeric_keys 152c067fea9Sghenxkb_symbols "latlevel3" { 153154daed1Smrg key <TLDE> { [ any,any, notsign, notsign ] }; // ` ~ 154154daed1Smrg key <AE01> { [ any,any, dead_tilde, asciitilde ] }; // 1 ! 155154daed1Smrg key <AE02> { [ any,any, dead_caron, caron ] }; // 2 @ 156154daed1Smrg key <AE03> { [ any,any, dead_circumflex, asciicircum ] }; // 3 # 157154daed1Smrg key <AE04> { [ any,any, dead_breve, breve ] }; // 4 $ 158154daed1Smrg key <AE05> { [ any,any, dead_abovering, degree ] }; // 5 % 159154daed1Smrg key <AE06> { [ any,any, dead_ogonek, ogonek ] }; // 6 ^ 160154daed1Smrg key <AE07> { [ any,any, dead_grave, grave ] }; // 7 & 161154daed1Smrg key <AE08> { [ any,any, dead_abovedot, abovedot ] }; // 8 * 162154daed1Smrg key <AE09> { [ any,any, dead_acute, apostrophe ] }; // 9 ( 163154daed1Smrg key <AE10> { [ any,any, dead_doubleacute, doubleacute ] }; // 0 ) 164154daed1Smrg key <AE11> { [ any,any, dead_diaeresis, diaeresis ] }; // - _ 165154daed1Smrg key <AE12> { [ any,any, dead_cedilla, cedilla ] }; // = + 166154daed1Smrg 167154daed1Smrg key <AD01> { [ any,any, backslash, Greek_OMEGA ] }; // q 168154daed1Smrg key <AD02> { [ any,any, bar, Lstroke ] }; // w 169154daed1Smrg key <AD03> { [ any,any, EuroSign, EuroSign ] }; // e 170154daed1Smrg key <AD04> { [ any,any, paragraph, registered ] }; // r 171154daed1Smrg key <AD05> { [ any,any, tslash, Tslash ] }; // t // ALPHABETIC 172154daed1Smrg key <AD06> { [ any,any, leftarrow, yen ] }; // y 173154daed1Smrg key <AD07> { [ any,any, downarrow, uparrow ] }; // u 174154daed1Smrg key <AD08> { [ any,any, rightarrow, idotless ] }; // i 175154daed1Smrg key <AD09> { [ any,any, oslash, Ooblique ] }; // o // ALPHABETIC 176154daed1Smrg key <AD10> { [ any,any, thorn, THORN ] }; // p // ALPHABETIC 177154daed1Smrg key <AD11> { [ any,any, division, dead_abovering ] }; // [ 178154daed1Smrg key <AD12> { [ any,any, multiply, dead_macron ] }; // ] 179154daed1Smrg 180154daed1Smrg key <AC01> { [ any,any, ae, AE ] }; // a // ALPHABETIC 181154daed1Smrg key <AC02> { [ any,any, doublelowquotemark, guillemotright ] }; // s 182154daed1Smrg key <AC03> { [ any,any, leftdoublequotemark, guillemotleft ] }; // d 183154daed1Smrg key <AC04> { [ any,any, bracketleft, ordfeminine ] }; // f 184154daed1Smrg key <AC05> { [ any,any, bracketright, ENG ] }; // g 185154daed1Smrg key <AC06> { [ any,any, hstroke, Hstroke ] }; // h // ALPHABETIC 186154daed1Smrg key <AC07> { [ any,any, NoSymbol, NoSymbol ] }; // j 187154daed1Smrg key <AC08> { [ any,any, lstroke, ampersand ] }; // k 188154daed1Smrg key <AC09> { [ any,any, lstroke, Lstroke ] }; // l 189154daed1Smrg key <AC10> { [ any,any, dead_acute, dead_doubleacute ] }; // ; 190154daed1Smrg key <AC11> { [ any,any, ssharp, dead_caron ] }; // ' 191154daed1Smrg key <BKSL> { [ any,any, currency, dead_breve ] }; // \ 192154daed1Smrg 193154daed1Smrg key <AB01> { [ any,any, leftsinglequotemark, guillemotright ] }; // z 194154daed1Smrg key <AB02> { [ any,any, rightsinglequotemark,guillemotleft ] }; // x 195154daed1Smrg key <AB03> { [ any,any, cent, copyright ] }; // c 196154daed1Smrg key <AB04> { [ any,any, at, grave ] }; // v 197154daed1Smrg key <AB05> { [ any,any, braceleft, apostrophe ] }; // b 198154daed1Smrg key <AB06> { [ any,any, braceright, braceright ] }; // n 199154daed1Smrg key <AB07> { [ any,any, asciicircum, masculine ] }; // m 200154daed1Smrg key <AB08> { [ any,any, less, multiply ] }; // , < 201154daed1Smrg key <AB09> { [ any,any, greater, division ] }; // . > 202154daed1Smrg key <AB10> { [ any,any, emdash, endash ] }; // / ? 203154daed1Smrg 204154daed1Smrg}; 205154daed1Smrg 206c067fea9Sghenpartial hidden alphanumeric_keys 207c067fea9Sghenxkb_symbols "cyrlevel3" { 208c067fea9Sghen key <TLDE> { [ any,any, degree, notsign ] }; // ` ~ 209c067fea9Sghen key <AE03> { [ any,any, dead_circumflex, NoSymbol ] }; // 3 # 210c067fea9Sghen key <AE07> { [ any,any, dead_grave, NoSymbol ] }; // 7 & 211c067fea9Sghen key <AE08> { [ any,any, dead_doublegrave, NoSymbol ] }; // 8 * 212c067fea9Sghen key <AE09> { [ any,any, dead_acute, NoSymbol ] }; // 9 ( 213c067fea9Sghen key <AE10> { [ any,any, dead_invertedbreve, NoSymbol ] }; // 0 ) 214c067fea9Sghen key <AE11> { [ any,any, dead_macron, NoSymbol ] }; // - _ 215c067fea9Sghen 216c067fea9Sghen key <AD01> { [ any,any, backslash, NoSymbol ] }; // q 217c067fea9Sghen key <AD02> { [ any,any, bar, NoSymbol ] }; // w 218c067fea9Sghen key <AD03> { [ any,any, EuroSign, sterling ] }; // e 219c067fea9Sghen key <AD04> { [ any,any, paragraph, registered ] }; // r 220c067fea9Sghen key <AD05> { [ any,any, ellipsis, NoSymbol ] }; // t // ALPHABETIC 221c067fea9Sghen key <AD06> { [ any,any, leftarrow, yen ] }; // y 222c067fea9Sghen key <AD07> { [ any,any, downarrow, uparrow ] }; // u 223c067fea9Sghen key <AD08> { [ any,any, rightarrow, NoSymbol ] }; // i 224c067fea9Sghen key <AD09> { [ any,any, section, NoSymbol ] }; // o // ALPHABETIC 225c067fea9Sghen key <AD11> { [ any,any, division, NoSymbol ] }; // [ 226c067fea9Sghen key <AD12> { [ any,any, multiply, NoSymbol ] }; // ] 227c067fea9Sghen 228c067fea9Sghen key <AC02> { [ any,any, doublelowquotemark, guillemotright ] }; // s 229c067fea9Sghen key <AC03> { [ any,any, leftdoublequotemark, guillemotleft ] }; // d 230c067fea9Sghen key <AC04> { [ any,any, bracketleft, NoSymbol ] }; // f 231c067fea9Sghen key <AC05> { [ any,any, bracketright, NoSymbol ] }; // g 232c067fea9Sghen key <BKSL> { [ any,any, currency, NoSymbol ] }; // \ 233c067fea9Sghen 234c067fea9Sghen key <AB01> { [ any,any, leftsinglequotemark, NoSymbol ] }; // z 235c067fea9Sghen key <AB02> { [ any,any, rightsinglequotemark,NoSymbol ] }; // x 236c067fea9Sghen key <AB03> { [ any,any, cent, copyright ] }; // c 237c067fea9Sghen key <AB04> { [ any,any, at, NoSymbol ] }; // v 238c067fea9Sghen key <AB05> { [ any,any, braceleft, NoSymbol ] }; // b 239c067fea9Sghen key <AB06> { [ any,any, braceright, NoSymbol ] }; // n 240c067fea9Sghen key <AB07> { [ any,any, asciicircum, NoSymbol ] }; // m 241c067fea9Sghen key <AB08> { [ any,any, less, NoSymbol ] }; // , < 242c067fea9Sghen key <AB09> { [ any,any, greater, NoSymbol ] }; // . > 243c067fea9Sghen key <AB10> { [ any,any, emdash, endash ] }; // / ? 244c067fea9Sghen}; 245c067fea9Sghen 246154daed1Smrgpartial alphanumeric_keys 247154daed1Smrgxkb_symbols "latinunicode" { 248154daed1Smrg // This mapping supports the Unicode characters 0x1c4-0x1cc (dz, lj, and nj 249154daed1Smrg // as single character). You get the title form with AltGr+Shift. 250154daed1Smrg 251154daed1Smrg name[Group1]= "Serbia - Latin Unicode"; 252154daed1Smrg 253154daed1Smrg include "rs(latin)" 254154daed1Smrg include "rs(twoletter)" 255154daed1Smrg}; 256154daed1Smrg 257154daed1Smrgpartial alphanumeric_keys 258154daed1Smrgxkb_symbols "latinyz" { 259154daed1Smrg // For those who insist on using "english-position" Z and Y. 260154daed1Smrg 261154daed1Smrg name[Group1]= "Serbia - Latin qwerty"; 262154daed1Smrg 263154daed1Smrg include "rs(latin)" 264154daed1Smrg 265154daed1Smrg key <AD06> { [ y, Y, any,any ] }; // y 266154daed1Smrg key <AB01> { [ z, Z, any,any ] }; // z 267154daed1Smrg}; 268154daed1Smrg 269154daed1Smrgpartial alphanumeric_keys 270154daed1Smrgxkb_symbols "latinunicodeyz" { 271154daed1Smrg // Unicode, ZHE and Z swapped. 272154daed1Smrg 273154daed1Smrg name[Group1]= "Serbia - Latin Unicode qwerty"; 274154daed1Smrg 275154daed1Smrg include "rs(latinunicode)" 276154daed1Smrg 277154daed1Smrg key <AD06> { [ zcaron, Zcaron, any,any ] }; // y 278154daed1Smrg key <AB01> { [ z, Z, any,any ] }; // z 279154daed1Smrg}; 280154daed1Smrg 281154daed1Smrgxkb_symbols "alternatequotes" { 282154daed1Smrg // Another acceptable »pair of quotes« for Serbian 283154daed1Smrg 284154daed1Smrg name[Group1]= "Serbia - With guillemets"; 285154daed1Smrg 286154daed1Smrg include "rs(basic)" 287154daed1Smrg 288154daed1Smrg key <AC02> { [ any,any, guillemotright, NoSymbol ] }; // s 289154daed1Smrg key <AC03> { [ any,any, guillemotleft, NoSymbol ] }; // d 290154daed1Smrg}; 291154daed1Smrg 292154daed1Smrgxkb_symbols "latinalternatequotes" { 293154daed1Smrg // Another acceptable »pair of quotes« for Serbian 294154daed1Smrg 295154daed1Smrg name[Group1]= "Serbia - Latin with guillemets"; 296154daed1Smrg 297154daed1Smrg include "rs(latin)" 298154daed1Smrg 299154daed1Smrg key <AC02> { [ any,any, guillemotright, NoSymbol ] }; // s 300154daed1Smrg key <AC03> { [ any,any, guillemotleft, NoSymbol ] }; // d 301154daed1Smrg}; 302c067fea9Sghen 303c067fea9Sghenxkb_symbols "rue" { 304c067fea9Sghen // Homophonic layout for Pannonian Rusyn (spoken mainly in Serbia and 305c067fea9Sghen // Croatia by the Rusyn people), based on Ukrainian homophonic. 306c067fea9Sghen // Author: Ljubomir J. Papuga (Любомир Я. Папуґа) <papuga.rs@gmail.com> 307c067fea9Sghen 308c067fea9Sghen name[Group1]= "Serbia - Pannonian Rusyn Homophonic"; 309c067fea9Sghen 310c067fea9Sghen include "ua(homophonic)" 311c067fea9Sghen 312c067fea9Sghen key <TLDE> { [ grave, asciitilde ] }; 313c067fea9Sghen key <AE03> { [ 3, doublelowquotemark ] }; 314c067fea9Sghen key <AE04> { [ 4, rightdoublequotemark ] }; 315c067fea9Sghen key <AE07> { [ 7, EuroSign ] }; 316c067fea9Sghen key <AE11> { [ 0x002D, emdash ] }; 317c067fea9Sghen key <AE12> { [ equal, plus ] }; 318c067fea9Sghen 319c067fea9Sghen key <AD02> { [ Ukrainian_ie, Ukrainian_IE ] }; 320c067fea9Sghen key <AD06> { [ Cyrillic_yu, Cyrillic_YU ] }; 321c067fea9Sghen key <AD08> { [ Cyrillic_i, Cyrillic_I ] }; 322c067fea9Sghen key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] }; 323c067fea9Sghen key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; 324c067fea9Sghen 325c067fea9Sghen key <LSGT> { [ Ukrainian_yi, Ukrainian_YI ] }; 326c067fea9Sghen key <AB08> { [ comma, semicolon ] }; 327c067fea9Sghen key <AB09> { [ period, colon ] }; 328c067fea9Sghen}; 329