hu revision 154daed1
1// New style XKB layout for some widely used Hungarian keyboard layouts
2//
3// Based on old style 'xkb/symbols/hu"
4//
5// $XKeyboardConfig: xkeyboard-config/symbols/hu,v 1.9 2007/07/15 22:12:12 svu Exp $
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
24default partial
25xkb_symbols "basic" {
26    include "hu(102_qwertz_comma_dead)"
27    name[Group1] = "Hungary";
28};
29
30// Standard layout
31partial
32xkb_symbols "standard" {
33    include "hu(102_qwertz_comma_dead)"
34    name[Group1] = "Hungary - Standard";
35};
36
37// Standard layout without dead key support
38partial
39xkb_symbols "nodeadkeys" {
40    include "hu(102_qwertz_comma_nodead)"
41    name[Group1] = "Hungary - Eliminate dead keys";
42};
43
44// Qwerty layout
45partial
46xkb_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
57partial
58xkb_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
73partial
74xkb_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
89partial
90xkb_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
105partial
106xkb_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
121partial
122xkb_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
137partial
138xkb_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
153partial
154xkb_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
169partial
170xkb_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
185partial
186xkb_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
201partial
202xkb_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
217partial
218xkb_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
233partial
234xkb_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
249partial
250xkb_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
265partial
266xkb_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
281partial
282xkb_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
297partial
298xkb_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
313hidden partial alphanumeric_keys
314xkb_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
322hidden partial alphanumeric_keys
323xkb_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
330hidden partial alphanumeric_keys
331xkb_symbols "def_qwertz" {
332    key <AD06>  { [            z,            Z                                     ] };
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
339hidden partial alphanumeric_keys
340xkb_symbols "def_qwerty" {
341    key <AD06>  { [            y,            Y                                     ] };
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 	 
348hidden partial keypad_keys 	 
349xkb_symbols "def_dot" { 	 
350    key <KPDL>  { [    KP_Delete,   KP_Decimal                                     ] }; 	 
351}; 	 
352 
353
354// def_dead:
355// Dead keys support part
356hidden partial alphanumeric_keys
357xkb_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
374hidden partial alphanumeric_keys
375xkb_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
393hidden partial alphanumeric_keys
394xkb_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 <AD11>  { [ odoubleacute, Odoubleacute,          division                  ] };
400    key <AD12>  { [       uacute,       Uacute,          multiply                  ] };
401
402    key <AC01>  { [            a,            A,        adiaeresis,      Adiaeresis ] };
403    key <AC02>  { [            s,            S,           dstroke                  ] };
404    key <AC03>  { [            d,            D,           Dstroke                  ] };
405    key <AC04>  { [            f,            F,       bracketleft                  ] };
406    key <AC05>  { [            g,            G,      bracketright                  ] };
407    key <AC07>  { [            j,            J,            iacute,          Iacute ] };
408    key <AC08>  { [            k,            K,           lstroke                  ] };
409    key <AC09>  { [            l,            L,           Lstroke                  ] };
410    key <AC10>  { [       eacute,       Eacute,            dollar,            cent ] };
411    key <AC11>  { [       aacute,       Aacute,            ssharp                  ] };
412
413    key <BKSL>  { [ udoubleacute, Udoubleacute,          currency                  ] };
414
415    key <AB02>  { [            x,            X,        numbersign                  ] };
416    key <AB03>  { [            c,            C,         ampersand                  ] };
417    key <AB04>  { [            v,            V,                at                  ] };
418    key <AB05>  { [            b,            B,         braceleft                  ] };
419    key <AB06>  { [            n,            N,        braceright                  ] };
420    key <AB07>  { [            m,            M,              less                  ] };
421    key <AB08>  { [        comma,     question,         semicolon                  ] };
422    key <AB09>  { [       period,        colon,           greater                  ] };
423    key <AB10>  { [        minus,   underscore,          asterisk                  ] };
424
425};
426