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