added in(mal_enhanced)
[xorg/xkeyboard-config] / symbols / hu
1 // New style XKB layout for some widely used Hungarian keyboard layouts
2 //
3 // Based on old style 'xkb/symbols/hu"
4 //
5 // (C) 2002-2004 Soós Péter <sp@osb.hu>
6 // (C) 2010 Andras Timar <timar@fsf.hu>
7 //
8 // Permission is granted to anyone to use, distribute and modify
9 // this file in any way, provided that the above copyright notice
10 // is left intact and the author of the modification summarizes
11 // the changes in this header.
12 //
13 // This file is distributed without any expressed or implied warranty.
14 //
15 // Changes:
16 //  2004-04-17 - Moved to new style (only Unicode based layouts)
17 //             - Added consistent dead key support
18 //             - Fixed abovedot
19 //             - Added adiaeresis
20 //             - Added EuroSign and cent symbol
21 //  2010-04-23 - Added doublelowquotemark
22 //             - Added rightdoublequotemark
23 //             - Added endash
24 //  2010-05-13 - Added ellipsis
25
26
27 // Default layout
28 default partial
29 xkb_symbols "basic" {
30     include "hu(102_qwertz_comma_dead)"
31     name[Group1] = "Hungary";
32 };
33
34 // Standard layout
35 partial
36 xkb_symbols "standard" {
37     include "hu(102_qwertz_comma_dead)"
38     name[Group1] = "Hungary - Standard";
39 };
40
41 // Standard layout without dead key support
42 partial
43 xkb_symbols "nodeadkeys" {
44     include "hu(102_qwertz_comma_nodead)"
45     name[Group1] = "Hungary - Eliminate dead keys";
46 };
47
48 // Qwerty layout
49 partial
50 xkb_symbols "qwerty" {
51     include "hu(101_qwerty_comma_dead)"
52     name[Group1] = "Hungary - qwerty";
53 };
54
55 // Main layouts
56
57 // 101_qwertz_comma_dead
58 // 101 key qwertz layout
59 // with decimal comma on keypad
60 // and with dead key support
61 partial
62 xkb_symbols "101_qwertz_comma_dead" {
63     name[Group1] = "Hungary - 101/qwertz/comma/Dead keys";
64     include "latin"
65     include "hu(def_101)"
66     include "hu(def_qwertz)"
67     include "kpdl(comma)"
68     include "hu(def_dead)"
69     include "hu(def_common)"
70     include "level3(ralt_switch)"
71 };
72
73 // 101_qwertz_comma_nodead
74 // 101 key qwertz layout
75 // with decimal comma on keypad
76 // and without dead key support
77 partial
78 xkb_symbols "101_qwertz_comma_nodead" {
79     name[Group1] = "Hungary - 101/qwertz/comma/Eliminate dead keys";
80     include "latin"
81     include "hu(def_101)"
82     include "hu(def_qwertz)"
83     include "kpdl(comma)"
84     include "hu(def_nodead)"
85     include "hu(def_common)"
86     include "level3(ralt_switch)"
87 };
88
89 // 101_qwertz_dot_dead
90 // 101 key qwertz layout
91 // with decimal dot on keypad
92 // and with dead key support
93 partial
94 xkb_symbols "101_qwertz_dot_dead" {
95     name[Group1] = "Hungary - 101/qwertz/dot/Dead keys";
96     include "latin"
97     include "hu(def_101)"
98     include "hu(def_qwertz)"
99     include "hu(def_dot)"
100     include "hu(def_dead)"
101     include "hu(def_common)"
102     include "level3(ralt_switch)"
103 };
104
105 // 101_qwertz_dot_nodead
106 // 101 key qwertz layout
107 // with decimal dot on keypad
108 // and without dead key support
109 partial
110 xkb_symbols "101_qwertz_dot_nodead" {
111     name[Group1] = "Hungary - 101/qwertz/dot/Eliminate dead keys";
112     include "latin"
113     include "hu(def_101)"
114     include "hu(def_qwertz)"
115     include "hu(def_dot)"
116     include "hu(def_nodead)"
117     include "hu(def_common)"
118     include "level3(ralt_switch)"
119 };
120
121 // 101_qwerty_comma_dead
122 // 101 key qwerty layout
123 // with decimal comma on keypad
124 // and with dead key support
125 partial
126 xkb_symbols "101_qwerty_comma_dead" {
127     name[Group1] = "Hungary - 101/qwerty/comma/Dead keys";
128     include "latin"
129     include "hu(def_101)"
130     include "hu(def_qwerty)"
131     include "kpdl(comma)"
132     include "hu(def_dead)"
133     include "hu(def_common)"
134     include "level3(ralt_switch)"
135 };
136
137 // 101_qwerty_comma_nodead
138 // 101 key qwerty layout
139 // with decimal comma on keypad
140 // and without dead key support
141 partial
142 xkb_symbols "101_qwerty_comma_nodead" {
143     name[Group1] = "Hungary - 101/qwerty/comma/Eliminate dead keys";
144     include "latin"
145     include "hu(def_101)"
146     include "hu(def_qwerty)"
147     include "kpdl(comma)"
148     include "hu(def_nodead)"
149     include "hu(def_common)"
150     include "level3(ralt_switch)"
151 };
152
153 // 101_qwerty_dot_dead
154 // 101 key qwerty layout
155 // with decimal dot on keypad
156 // and with dead key support
157 partial
158 xkb_symbols "101_qwerty_dot_dead" {
159     name[Group1] = "Hungary - 101/qwerty/dot/Dead keys";
160     include "latin"
161     include "hu(def_101)"
162     include "hu(def_qwerty)"
163     include "hu(def_dot)"
164     include "hu(def_dead)"
165     include "hu(def_common)"
166     include "level3(ralt_switch)"
167 };
168
169 // 101_qwerty_dot_nodead
170 // 101 key qwerty layout
171 // with decimal dot on keypad
172 // and without dead key support
173 partial
174 xkb_symbols "101_qwerty_dot_nodead" {
175     name[Group1] = "Hungary - 101/qwerty/dot/Eliminate dead keys";
176     include "latin"
177     include "hu(def_101)"
178     include "hu(def_qwerty)"
179     include "hu(def_dot)"
180     include "hu(def_nodead)"
181     include "hu(def_common)"
182     include "level3(ralt_switch)"
183 };
184
185 // 102_qwertz_comma_dead
186 // 102 key qwertz layout
187 // with decimal comma on keypad
188 // and with dead key support
189 partial
190 xkb_symbols "102_qwertz_comma_dead" {
191     name[Group1] = "Hungary - 102/qwertz/comma/Dead keys";
192     include "latin"
193     include "hu(def_102)"
194     include "hu(def_qwertz)"
195     include "kpdl(comma)"
196     include "hu(def_dead)"
197     include "hu(def_common)"
198     include "level3(ralt_switch)"
199 };
200
201 // 102_qwertz_comma_nodead
202 // 102 key qwertz layout
203 // with decimal comma on keypad
204 // and without dead key support
205 partial
206 xkb_symbols "102_qwertz_comma_nodead" {
207     name[Group1] = "Hungary - 102/qwertz/comma/Eliminate dead keys";
208     include "latin"
209     include "hu(def_102)"
210     include "hu(def_qwertz)"
211     include "kpdl(comma)"
212     include "hu(def_nodead)"
213     include "hu(def_common)"
214     include "level3(ralt_switch)"
215 };
216
217 // 102_qwertz_dot_dead
218 // 102 key qwertz layout
219 // with decimal dot on keypad
220 // and with dead key support
221 partial
222 xkb_symbols "102_qwertz_dot_dead" {
223     name[Group1] = "Hungary - 102/qwertz/dot/Dead keys";
224     include "latin"
225     include "hu(def_102)"
226     include "hu(def_qwertz)"
227     include "hu(def_dot)"
228     include "hu(def_dead)"
229     include "hu(def_common)"
230     include "level3(ralt_switch)"
231 };
232
233 // 102_qwertz_dot_nodead
234 // 102 key qwertz layout
235 // with decimal dot on keypad
236 // and without dead key support
237 partial
238 xkb_symbols "102_qwertz_dot_nodead" {
239     name[Group1] = "Hungary - 102/qwertz/dot/Eliminate dead keys";
240     include "latin"
241     include "hu(def_102)"
242     include "hu(def_qwertz)"
243     include "hu(def_dot)"
244     include "hu(def_nodead)"
245     include "hu(def_common)"
246     include "level3(ralt_switch)"
247 };
248
249 // 102_qwerty_comma_dead
250 // 102 key qwerty layout
251 // with decimal comma on keypad
252 // and with dead key support
253 partial
254 xkb_symbols "102_qwerty_comma_dead" {
255     name[Group1] = "Hungary - 102/qwerty/comma/Dead keys";
256     include "latin"
257     include "hu(def_102)"
258     include "hu(def_qwerty)"
259     include "kpdl(comma)"
260     include "hu(def_dead)"
261     include "hu(def_common)"
262     include "level3(ralt_switch)"
263 };
264
265 // 102_qwerty_comma_nodead
266 // 102 key qwerty layout
267 // with decimal comma on keypad
268 // and without dead key support
269 partial
270 xkb_symbols "102_qwerty_comma_nodead" {
271     name[Group1] = "Hungary - 102/qwerty/comma/Eliminate dead keys";
272     include "latin"
273     include "hu(def_102)"
274     include "hu(def_qwerty)"
275     include "kpdl(comma)"
276     include "hu(def_nodead)"
277     include "hu(def_common)"
278     include "level3(ralt_switch)"
279 };
280
281 // 102_qwerty_dot_dead
282 // 102 key qwerty layout
283 // with decimal dot on keypad
284 // and with dead key support
285 partial
286 xkb_symbols "102_qwerty_dot_dead" {
287     name[Group1] = "Hungary - 102/qwerty/dot/Dead keys";
288     include "latin"
289     include "hu(def_102)"
290     include "hu(def_qwerty)"
291     include "hu(def_dot)"
292     include "hu(def_dead)"
293     include "hu(def_common)"
294     include "level3(ralt_switch)"
295 };
296
297 // 102_qwerty_dot_nodead
298 // 102 key qwerty layout
299 // with decimal dot on keypad
300 // and without dead key support
301 partial
302 xkb_symbols "102_qwerty_dot_nodead" {
303     name[Group1] = "Hungary - 102/qwerty/dot/Eliminate dead keys";
304     include "latin"
305     include "hu(def_102)"
306     include "hu(def_qwerty)"
307     include "hu(def_dot)"
308     include "hu(def_nodead)"
309     include "hu(def_common)"
310     include "level3(ralt_switch)"
311 };
312
313 // Partial layouts
314
315 // def_102:
316 // The standard Hungarian 102 key layout
317 hidden partial alphanumeric_keys
318 xkb_symbols "def_102" {
319     key <TLDE>  { [            0,      section,           notsign                  ] };
320     key <LSGT>  { [       iacute,       Iacute,              less,         greater ] };
321
322 };
323
324 // def_101:
325 // An alternative layout for 101 key keyboards
326 hidden partial alphanumeric_keys
327 xkb_symbols "def_101" {
328     key <TLDE>  { [       iacute,       Iacute,                 0,         section ] };
329     key <LSGT>  { [         less,      greater                                     ] };
330 };
331
332 // def_qwertz:
333 // The standard Hungaryan qwertz layout
334 hidden partial alphanumeric_keys
335 xkb_symbols "def_qwertz" {
336     key <AD06>  { [            z,            Z,           endash                   ] };
337     key <AB01>  { [            y,            Y,           greater                  ] };
338 };
339
340
341 // def_qwerty:
342 // The qwerty layout for people who familiar with the standard US layout
343 hidden partial alphanumeric_keys
344 xkb_symbols "def_qwerty" {
345     key <AD06>  { [            y,            Y,           endash                   ] };
346     key <AB01>  { [            z,            Z,           greater                  ] };
347 };
348
349 // def_dot:      
350 // The Hungarian standard is the comma on the keypad not decimal dot,    
351 // but programmers hate it       
352 hidden partial keypad_keys       
353 xkb_symbols "def_dot" {          
354     key <KPDL>  { [    KP_Delete,   KP_Decimal                                     ] };          
355 };       
356  
357
358 // def_dead:
359 // Dead keys support part
360 hidden partial alphanumeric_keys
361 xkb_symbols "def_dead" {
362     key <AE01>  { [            1,   apostrophe,        asciitilde,      dead_tilde ] };
363     key <AE02>  { [            2,     quotedbl,        dead_caron,           caron ] };
364     key <AE03>  { [            3,         plus,       asciicircum, dead_circumflex ] };
365     key <AE04>  { [            4,       exclam,        dead_breve,           breve ] };
366     key <AE05>  { [            5,      percent,    dead_abovering,          degree ] };
367     key <AE06>  { [            6,        slash,       dead_ogonek,          ogonek ] };
368     key <AE07>  { [            7,        equal,             grave,      dead_grave ] };
369     key <AE08>  { [            8,    parenleft,     dead_abovedot,        abovedot ] };
370     key <AE09>  { [            9,   parenright,        dead_acute,           acute ] };
371     key <AE10>  { [   odiaeresis,   Odiaeresis,  dead_doubleacute,     doubleacute ] };
372     key <AE11>  { [   udiaeresis,   Udiaeresis,    dead_diaeresis,       diaeresis ] };
373     key <AE12>  { [       oacute,       Oacute,      dead_cedilla,         cedilla ] };
374 };
375
376 // def_nodead:
377 // Without dead keys support
378 hidden partial alphanumeric_keys
379 xkb_symbols "def_nodead" {
380     key <AE01>  { [            1,   apostrophe,        asciitilde                  ] };
381     key <AE02>  { [            2,     quotedbl,             caron                  ] };
382     key <AE03>  { [            3,         plus,       asciicircum                  ] };
383     key <AE04>  { [            4,       exclam,             breve                  ] };
384     key <AE05>  { [            5,      percent,            degree                  ] };
385     key <AE06>  { [            6,        slash,            ogonek                  ] };
386     key <AE07>  { [            7,        equal,             grave                  ] };
387     key <AE08>  { [            8,    parenleft,          abovedot                  ] };
388     key <AE09>  { [            9,   parenright,             acute                  ] };
389     key <AE10>  { [   odiaeresis,   Odiaeresis,       doubleacute                  ] };
390     key <AE11>  { [   udiaeresis,   Udiaeresis,         diaeresis                  ] };
391     key <AE12>  { [       oacute,       Oacute,           cedilla                  ] };
392 };
393
394
395 // def_common:
396 // The common part of all Hungarian layout above
397 hidden partial alphanumeric_keys
398 xkb_symbols "def_common" {
399     key <AD01>  { [            q,            Q,         backslash                  ] };
400     key <AD02>  { [            w,            W,               bar                  ] };
401     key <AD07>  { [            u,            U,          EuroSign                  ] };
402     key <AD08>  { [            i,            I,            Iacute,          iacute ] };
403     key <AD09>  { [            o,            O,        doublelowquotemark          ] };
404     key <AD10>  { [            p,            P,        rightdoublequotemark        ] };
405     key <AD11>  { [ odoubleacute, Odoubleacute,          division                  ] };
406     key <AD12>  { [       uacute,       Uacute,          multiply                  ] };
407
408     key <AC01>  { [            a,            A,        adiaeresis,      Adiaeresis ] };
409     key <AC02>  { [            s,            S,           dstroke                  ] };
410     key <AC03>  { [            d,            D,           Dstroke                  ] };
411     key <AC04>  { [            f,            F,       bracketleft                  ] };
412     key <AC05>  { [            g,            G,      bracketright                  ] };
413     key <AC07>  { [            j,            J,            iacute,          Iacute ] };
414     key <AC08>  { [            k,            K,           lstroke                  ] };
415     key <AC09>  { [            l,            L,           Lstroke                  ] };
416     key <AC10>  { [       eacute,       Eacute,            dollar,            cent ] };
417     key <AC11>  { [       aacute,       Aacute,            ssharp                  ] };
418
419     key <BKSL>  { [ udoubleacute, Udoubleacute,          currency                  ] };
420
421     key <AB02>  { [            x,            X,        numbersign                  ] };
422     key <AB03>  { [            c,            C,         ampersand                  ] };
423     key <AB04>  { [            v,            V,                at                  ] };
424     key <AB05>  { [            b,            B,         braceleft                  ] };
425     key <AB06>  { [            n,            N,        braceright                  ] };
426     key <AB07>  { [            m,            M,              less                  ] };
427     key <AB08>  { [        comma,     question,         semicolon                  ] };
428     key <AB09>  { [       period,        colon,          ellipsis                  ] };
429     key <AB10>  { [        minus,   underscore,          asterisk                  ] };
430
431 };