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