rs revision 5a35480e
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
22154daed1Smrg  include "rs(level3)"
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)"
36154daed1Smrg  include "rs(level3)"
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
152154daed1Smrgxkb_symbols "level3" {
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
206154daed1Smrgpartial alphanumeric_keys
207154daed1Smrgxkb_symbols "latinunicode" {
208154daed1Smrg  // This mapping supports the Unicode characters 0x1c4-0x1cc (dz, lj, and nj
209154daed1Smrg  // as single character). You get the title form with AltGr+Shift.
210154daed1Smrg
211154daed1Smrg  name[Group1]= "Serbia - Latin Unicode";
212154daed1Smrg
213154daed1Smrg  include "rs(latin)"
214154daed1Smrg  include "rs(twoletter)"
215154daed1Smrg};
216154daed1Smrg
217154daed1Smrgpartial alphanumeric_keys
218154daed1Smrgxkb_symbols "latinyz" {
219154daed1Smrg  // For those who insist on using "english-position" Z and Y.
220154daed1Smrg
221154daed1Smrg  name[Group1]= "Serbia - Latin qwerty";
222154daed1Smrg
223154daed1Smrg  include "rs(latin)"
224154daed1Smrg
225154daed1Smrg  key <AD06> {   [ y,                   Y,             any,any ]   }; // y
226154daed1Smrg  key <AB01> {   [ z,                   Z,             any,any ]   }; // z
227154daed1Smrg};
228154daed1Smrg
229154daed1Smrgpartial alphanumeric_keys
230154daed1Smrgxkb_symbols "latinunicodeyz" {
231154daed1Smrg  // Unicode, ZHE and Z swapped.
232154daed1Smrg
233154daed1Smrg  name[Group1]= "Serbia - Latin Unicode qwerty";
234154daed1Smrg
235154daed1Smrg  include "rs(latinunicode)"
236154daed1Smrg
237154daed1Smrg  key <AD06> {   [ zcaron,              Zcaron,        any,any ]   }; // y
238154daed1Smrg  key <AB01> {   [ z,                   Z,             any,any ]   }; // z
239154daed1Smrg};
240154daed1Smrg
241154daed1Smrgxkb_symbols "alternatequotes" {
242154daed1Smrg  // Another acceptable »pair of quotes« for Serbian 
243154daed1Smrg
244154daed1Smrg  name[Group1]= "Serbia - With guillemets";
245154daed1Smrg
246154daed1Smrg  include "rs(basic)"
247154daed1Smrg
248154daed1Smrg  key <AC02> {   [ any,any,     guillemotright, NoSymbol ]   }; // s
249154daed1Smrg  key <AC03> {   [ any,any,     guillemotleft,  NoSymbol ]   }; // d
250154daed1Smrg};
251154daed1Smrg
252154daed1Smrgxkb_symbols "latinalternatequotes" {
253154daed1Smrg  // Another acceptable »pair of quotes« for Serbian 
254154daed1Smrg
255154daed1Smrg  name[Group1]= "Serbia - Latin with guillemets";
256154daed1Smrg
257154daed1Smrg  include "rs(latin)"
258154daed1Smrg
259154daed1Smrg  key <AC02> {   [ any,any,     guillemotright, NoSymbol ]   }; // s
260154daed1Smrg  key <AC03> {   [ any,any,     guillemotleft,  NoSymbol ]   }; // d
261154daed1Smrg};
262