bg revision 1.1.1.4 1 //////////////////////////////////////////////////////////////////////////
2 // Copyright (C) 1999, 2000, 2007, 2009 by Anton Zinoviev <anton (a] lml.bas.bg>
3 //
4 // This software may be used, modified, copied, distributed, and sold,
5 // both in source and binary form provided that the above copyright
6 // notice and these terms are retained. The name of the author may not
7 // be used to endorse or promote products derived from this software
8 // without prior permission. THIS SOFTWARE IS PROVIDES "AS IS" AND
9 // ANY EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED. IN NO EVENT
10 // SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES ARISING IN ANY WAY OUT
11 // OF THE USE OF THIS SOFTWARE.
12 //
13 //////////////////////////////////////////////////////////////////////////
14 // Version 2.0
15
16 // The following variants are defined in this file:
17
18 // "bds" - the BDS keyboard layout compliant with the proposed
19 // Bulgarian state standard BDS 5237:2006
20
21 // "phonetic" - Bulgarian phonetic layout with traditional position of
22 // the letters.
23
24 // "bas_phonetic" - the phonetic keyboard layout compliant with the
25 // proposed Bulgarian state standard BDS 5237:2006
26
27 // "latin" - an extended variant of the QWERTY layout with symbols
28 // Bulgarian users will type while the keyboard is in Latin mode.
29
30 // The reasons behind the layout of the symbols in levels 3 and 4 are
31 // explained in http://arxiv.org/abs/0905.0484 (in Bulgarian).
32
33 // Two notes for the maintainers of xkeyboard-config:
34
35 // 1. Please do not use key names such as <LatQ> for the Bulgarian
36 // phonetic layouts. The placement of the symbols must stay always
37 // the same regardless of which one of the alias sets in
38 // xkb/keycodes/aliases is used.
39
40 // 2. The layouts should not include level3(ralt_switch).
41
42 //////////////////////////////////////////////////////////////////////////
43
44 // Describes Bulgarian keyboard "BDS" modified according to the
45 // the new state standard BDS 5237:2006 and extended with symbols in
46 // levels 3 and 4.
47 partial default alphanumeric_keys
48 xkb_symbols "bds" {
49
50 name[Group1]= "Bulgarian";
51
52 key <TLDE> { [ parenleft, parenright,
53 bracketleft, bracketright ] };
54 key <AE01> { [ 1, exclam ] };
55 key <AE02> { [ 2, question ] };
56 key <AE03> { [ 3, plus,
57 dagger, dagger ] };
58 key <AE04> { [ 4, quotedbl ] };
59 key <AE05> { [ 5, percent,
60 U2329, U232A ] };
61 key <AE06> { [ 6, equal,
62 emdash, emdash ] };
63 key <AE07> { [ 7, colon,
64 ellipsis, ellipsis ] };
65 key <AE08> { [ 8, slash,
66 U0300, U0301 ] };
67 key <AE09> { [ 9, endash ] };
68 key <AE10> { [ 0, numerosign ] };
69 key <AE11> { [ minus, dollar,
70 U2011, EuroSign ] };
71 key <AE12> { [ period, EuroSign ] };
72
73
74 key <AD01> { [ comma, Cyrillic_yeru,
75 rightsinglequotemark, leftsinglequotemark ] };
76 key <AD02> { [ Cyrillic_u, Cyrillic_U ] };
77 key <AD03> { [ Cyrillic_ie, Cyrillic_IE,
78 Cyrillic_e, Cyrillic_E ] };
79 key <AD04> { [ Cyrillic_i, Cyrillic_I,
80 U045D, U040D ] };
81 key <AD05> { [ Cyrillic_sha, Cyrillic_SHA ] };
82 key <AD06> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
83 key <AD07> { [ Cyrillic_ka, Cyrillic_KA,
84 copyright, copyright ] };
85 key <AD08> { [ Cyrillic_es, Cyrillic_ES,
86 copyright, copyright ] };
87 key <AD09> { [ Cyrillic_de, Cyrillic_DE ] };
88 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
89 key <AD11> { [ Cyrillic_tse, Cyrillic_TSE ] };
90 key <AD12> { [ semicolon, section ] };
91
92
93 key <AC01> { [ Cyrillic_softsign, U045D,
94 Cyrillic_yeru, Cyrillic_YERU ] };
95 key <AC02> { [ Cyrillic_ya, Cyrillic_YA,
96 U0463, U0462 ] };
97 key <AC03> { [ Cyrillic_a, Cyrillic_A ] };
98 key <AC04> { [ Cyrillic_o, Cyrillic_O ] };
99 key <AC05> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
100 key <AC06> { [ Cyrillic_ghe, Cyrillic_GHE ] };
101 key <AC07> { [ Cyrillic_te, Cyrillic_TE,
102 trademark, trademark ] };
103 key <AC08> { [ Cyrillic_en, Cyrillic_EN ] };
104 key <AC09> { [ Cyrillic_ve, Cyrillic_VE ] };
105 key <AC10> { [ Cyrillic_em, Cyrillic_EM ] };
106 key <AC11> { [ Cyrillic_che, Cyrillic_CHE ] };
107 key <BKSL> { [ doublelowquotemark, leftdoublequotemark,
108 guillemotleft, guillemotright ] };
109
110
111 key <LSGT> { [ U045D, U040D ] };
112 key <AB01> { [ Cyrillic_yu, Cyrillic_YU ] };
113 key <AB02> { [ Cyrillic_shorti, Cyrillic_SHORTI,
114 U046D, U046C ] };
115 key <AB03> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN,
116 U046B, U046A ] };
117 key <AB04> { [ Cyrillic_e, Cyrillic_E ] };
118 key <AB05> { [ Cyrillic_ef, Cyrillic_EF ] };
119 key <AB06> { [ Cyrillic_ha, Cyrillic_HA ] };
120 key <AB07> { [ Cyrillic_pe, Cyrillic_PE ] };
121 key <AB08> { [ Cyrillic_er, Cyrillic_ER,
122 registered, registered ] };
123 key <AB09> { [ Cyrillic_el, Cyrillic_EL ] };
124 key <AB10> { [ Cyrillic_be, Cyrillic_BE ] };
125
126
127 key <SPCE> { [ space, space,
128 nobreakspace, nobreakspace ] };
129
130
131 key <KPDL> { type[Group1] = "KEYPAD",
132 [ KP_Delete, KP_Separator ] };
133 };
134
135 // This is improved variant of the traditional Bulgarian phonetic
136 // keyboard. Some unnecessary symbols in levels 1 and 2 are replaced
137 // by more useful (the same way as in "bas_phonetic") and additional
138 // symbols in levels 3 and 4 are added.
139 partial alphanumeric_keys
140 xkb_symbols "phonetic" {
141 name[Group1]= "Bulgarian (traditional phonetic)";
142
143 key <TLDE> { [ Cyrillic_che, Cyrillic_CHE ] };
144 key <AE01> { [ 1, exclam ] };
145 key <AE02> { [ 2, at ] };
146 key <AE03> { [ 3, numerosign ] };
147 key <AE04> { [ 4, dollar,
148 EuroSign, EuroSign ] };
149 key <AE05> { [ 5, percent ] };
150 key <AE06> { [ 6, EuroSign ] };
151 key <AE07> { [ 7, section ] };
152 key <AE08> { [ 8, asterisk ] };
153 key <AE09> { [ 9, parenleft,
154 bracketleft, U2329 ] };
155 key <AE10> { [ 0, parenright,
156 bracketright, U232A ] };
157 key <AE11> { [ minus, endash,
158 U2011, U2011 ] };
159 key <AE12> { [ equal, plus,
160 emdash, dagger ] };
161
162 key <AD01> { [ Cyrillic_ya, Cyrillic_YA,
163 U0463, U0462 ] };
164 key <AD02> { [ Cyrillic_ve, Cyrillic_VE ] };
165 key <AD03> { [ Cyrillic_ie, Cyrillic_IE,
166 Cyrillic_e, Cyrillic_E ] };
167 key <AD04> { [ Cyrillic_er, Cyrillic_ER,
168 registered, registered ] };
169 key <AD05> { [ Cyrillic_te, Cyrillic_TE,
170 trademark, trademark ] };
171 key <AD06> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN,
172 U046B, U046A ] };
173 key <AD07> { [ Cyrillic_u, Cyrillic_U ] };
174 key <AD08> { [ Cyrillic_i, Cyrillic_I,
175 U045D, U040D ] };
176 key <AD09> { [ Cyrillic_o, Cyrillic_O ] };
177 key <AD10> { [ Cyrillic_pe, Cyrillic_PE ] };
178 key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
179 key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
180
181
182 key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
183 key <AC02> { [ Cyrillic_es, Cyrillic_ES,
184 copyright, copyright ] };
185 key <AC03> { [ Cyrillic_de, Cyrillic_DE ] };
186 key <AC04> { [ Cyrillic_ef, Cyrillic_EF ] };
187 key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE ] };
188 key <AC06> { [ Cyrillic_ha, Cyrillic_HA ] };
189 key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI,
190 U046D, U046C ] };
191 key <AC08> { [ Cyrillic_ka, Cyrillic_KA ] };
192 key <AC09> { [ Cyrillic_el, Cyrillic_EL ] };
193 key <AC10> { [ semicolon, colon,
194 ellipsis, ellipsis ] };
195 key <AC11> { [ apostrophe, quotedbl,
196 rightsinglequotemark, leftsinglequotemark ] };
197 key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] };
198
199
200 key <LSGT> { [ U045D, U040D ] };
201 key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ] };
202 key <AB02> { [ Cyrillic_softsign, U045D,
203 Cyrillic_yeru, Cyrillic_YERU ] };
204 key <AB03> { [ Cyrillic_tse, Cyrillic_TSE,
205 copyright, copyright ] };
206 key <AB04> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
207 key <AB05> { [ Cyrillic_be, Cyrillic_BE ] };
208 key <AB06> { [ Cyrillic_en, Cyrillic_EN ] };
209 key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
210 key <AB08> { [ comma, doublelowquotemark,
211 guillemotleft, guillemotleft ] };
212 key <AB09> { [ period, leftdoublequotemark,
213 guillemotright, guillemotright ] };
214 key <AB10> { [ slash, question,
215 U0300, U0301 ] };
216
217
218 key <SPCE> { [ space, space,
219 nobreakspace, nobreakspace ] };
220
221
222 key <KPDL> { type[Group1] = "KEYPAD",
223 [ KP_Delete, KP_Separator ] };
224
225 };
226
227 // This is the Bulgarian phonetic keyboard acording to the proposed
228 // state standard BDS 5237:2006 with additional symbols in
229 // levels 3 and 4.
230 partial alphanumeric_keys
231 xkb_symbols "bas_phonetic" {
232 include "bg(phonetic)"
233 name[Group1]= "Bulgarian (new phonetic)";
234
235 key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
236 key <AD01> { [ Cyrillic_che, Cyrillic_CHE ] };
237 key <AD02> { [ Cyrillic_sha, Cyrillic_SHA ] };
238 key <AD11> { [ Cyrillic_ya, Cyrillic_YA,
239 U0463, U0462 ] };
240 key <BKSL> { [ Cyrillic_softsign, U045D,
241 Cyrillic_yeru, Cyrillic_YERU ] };
242 key <AB02> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
243 key <AB04> { [ Cyrillic_ve, Cyrillic_VE ] };
244 };
245
246
247 // This is extended variant of the standard Latin QWERTY layout with
248 // additional symbols in levels 3 and 4.
249 partial hidden alphanumeric_keys
250 xkb_symbols "latin" {
251
252 key <TLDE> { [ grave, asciitilde,
253 U2248, U2245 ] };
254 key <AE01> { [ 1, exclam,
255 notsign, notsign ] };
256 key <AE02> { [ 2, at,
257 twosuperior, enfilledcircbullet ] };
258 key <AE03> { [ 3, numbersign,
259 threesuperior, notequal ] };
260 key <AE04> { [ 4, dollar,
261 EuroSign, sterling ] };
262 key <AE05> { [ 5, percent,
263 U2030, U2030 ] };
264 key <AE06> { [ 6, asciicircum,
265 logicaland, logicalor ] };
266 key <AE07> { [ 7, ampersand,
267 section, section ] };
268 key <AE08> { [ 8, asterisk,
269 infinity, multiply ] };
270 key <AE09> { [ 9, parenleft,
271 U2202, nabla ] };
272 key <AE10> { [ 0, parenright,
273 U2300, U2300 ] };
274 key <AE11> { [ minus, underscore,
275 U2011, endash ] };
276 key <AE12> { [ equal, plus,
277 emdash, plusminus ] };
278
279
280 key <AD01> { [ q, Q,
281 Greek_THETA, Greek_theta ] };
282 key <AD02> { [ w, W,
283 Greek_OMEGA, Greek_omega ] };
284 key <AD03> { [ e, E,
285 U2203, Greek_epsilon ] };
286 key <AD04> { [ r, R,
287 registered, Greek_rho ] };
288 key <AD05> { [ t, T,
289 trademark, Greek_tau ] };
290 key <AD06> { [ y, Y,
291 yen, Greek_upsilon ] };
292 key <AD07> { [ u, U,
293 intersection, union ] };
294 key <AD08> { [ i, I,
295 integral, Greek_iota ] };
296 key <AD09> { [ o, O,
297 degree, U222E ] };
298 key <AD10> { [ p, P,
299 Greek_PI, Greek_pi ] };
300 key <AD11> { [ bracketleft, braceleft,
301 U2286, includedin ] };
302 key <AD12> { [ bracketright, braceright,
303 U2208, U2209 ] };
304
305
306 key <AC01> { [ a, A,
307 U2200, Greek_alpha ] };
308 key <AC02> { [ s, S,
309 Greek_SIGMA, Greek_sigma ] };
310 key <AC03> { [ d, D,
311 Greek_DELTA, Greek_delta ] };
312 key <AC04> { [ f, F,
313 Greek_PHI, Greek_phi ] };
314 key <AC05> { [ g, G,
315 Greek_GAMMA, Greek_gamma ] };
316 key <AC06> { [ h, H,
317 U2225, Greek_eta ] };
318 key <AC07> { [ j, J ] };
319 key <AC08> { [ k, K,
320 U03F0, Greek_kappa ] };
321 key <AC09> { [ l, L,
322 Greek_LAMBDA, Greek_lambda ] };
323 key <AC10> { [ semicolon, colon,
324 division, division ] };
325 key <AC11> { [ apostrophe, quotedbl,
326 leftdoublequotemark, rightdoublequotemark ] };
327 key <BKSL> { [ backslash, bar,
328 identical, downtack ] };
329
330
331 key <LSGT> { [ less, greater,
332 U2266, U2267 ] };
333 key <AB01> { [ z, Z,
334 U2220, Greek_zeta ] };
335 key <AB02> { [ x, X,
336 Greek_XI, Greek_xi ] };
337 key <AB03> { [ c, C,
338 copyright, Greek_chi ] };
339 key <AB04> { [ v, V,
340 Greek_PSI, Greek_psi ] };
341 key <AB05> { [ b, B,
342 U03D1, Greek_beta ] };
343 key <AB06> { [ n, N,
344 U207F, Greek_nu ] };
345 key <AB07> { [ m, M,
346 Greek_mu, Greek_mu ] };
347 key <AB08> { [ comma, less,
348 U2266, U21D4 ] };
349 key <AB09> { [ period, greater,
350 U2267, U21D2 ] };
351 key <AB10> { [ slash, question,
352 leftsinglequotemark, rightsinglequotemark ] };
353
354
355 key <SPCE> { [ space, space,
356 nobreakspace, nobreakspace ] };
357
358
359 key <KPDL> { type[Group1] = "KEYPAD",
360 [ KP_Delete, KP_Decimal ] };
361 };
362