hu revision 9184b9c8
1154daed1Smrg// New style XKB layout for some widely used Hungarian keyboard layouts
2154daed1Smrg//
3154daed1Smrg// Based on old style 'xkb/symbols/hu"
4154daed1Smrg//
55a35480eSmrg// (C) 2002-2004 Soós Péter <sp@osb.hu>
6c067fea9Sghen// (C) 2010 Andras Timar <timar@fsf.hu>
7154daed1Smrg//
8154daed1Smrg// Permission is granted to anyone to use, distribute and modify
9154daed1Smrg// this file in any way, provided that the above copyright notice
10154daed1Smrg// is left intact and the author of the modification summarizes
11154daed1Smrg// the changes in this header.
12154daed1Smrg//
13154daed1Smrg// This file is distributed without any expressed or implied warranty.
14154daed1Smrg//
15154daed1Smrg// Changes:
16154daed1Smrg//  2004-04-17 - Moved to new style (only Unicode based layouts)
17154daed1Smrg//             - Added consistent dead key support
18154daed1Smrg//             - Fixed abovedot
19154daed1Smrg//             - Added adiaeresis
20154daed1Smrg//             - Added EuroSign and cent symbol
21c067fea9Sghen//  2010-04-23 - Added doublelowquotemark
22c067fea9Sghen//             - Added rightdoublequotemark
23c067fea9Sghen//             - Added endash
24c067fea9Sghen//  2010-05-13 - Added ellipsis
25154daed1Smrg
26154daed1Smrg
27154daed1Smrg// Default layout
28797b363dSmrgdefault  partial
29154daed1Smrgxkb_symbols "basic" {
30154daed1Smrg    include "hu(102_qwertz_comma_dead)"
31bfd7cbc1Smrg    name[Group1] = "Hungarian";
32154daed1Smrg};
33154daed1Smrg
34154daed1Smrg// Standard layout
35154daed1Smrgpartial
36154daed1Smrgxkb_symbols "standard" {
37154daed1Smrg    include "hu(102_qwertz_comma_dead)"
38bfd7cbc1Smrg    name[Group1] = "Hungarian (standard)";
39154daed1Smrg};
40154daed1Smrg
41154daed1Smrg// Standard layout without dead key support
42154daed1Smrgpartial
43154daed1Smrgxkb_symbols "nodeadkeys" {
44154daed1Smrg    include "hu(102_qwertz_comma_nodead)"
459184b9c8Smrg    name[Group1] = "Hungarian (no dead keys)";
46154daed1Smrg};
47154daed1Smrg
48154daed1Smrg// Qwerty layout
49154daed1Smrgpartial
50154daed1Smrgxkb_symbols "qwerty" {
51154daed1Smrg    include "hu(101_qwerty_comma_dead)"
529184b9c8Smrg    name[Group1] = "Hungarian (QWERTY)";
53154daed1Smrg};
54154daed1Smrg
55154daed1Smrg// Main layouts
56154daed1Smrg
57154daed1Smrg// 101_qwertz_comma_dead
58154daed1Smrg// 101 key qwertz layout
59154daed1Smrg// with decimal comma on keypad
60154daed1Smrg// and with dead key support
61154daed1Smrgpartial
62154daed1Smrgxkb_symbols "101_qwertz_comma_dead" {
639184b9c8Smrg    name[Group1] = "Hungarian (101/QWERTZ/comma/dead keys)";
64154daed1Smrg    include "latin"
65154daed1Smrg    include "hu(def_101)"
66154daed1Smrg    include "hu(def_qwertz)"
67154daed1Smrg    include "kpdl(comma)"
68154daed1Smrg    include "hu(def_dead)"
69154daed1Smrg    include "hu(def_common)"
70154daed1Smrg    include "level3(ralt_switch)"
71154daed1Smrg};
72154daed1Smrg
73154daed1Smrg// 101_qwertz_comma_nodead
74154daed1Smrg// 101 key qwertz layout
75154daed1Smrg// with decimal comma on keypad
76154daed1Smrg// and without dead key support
77154daed1Smrgpartial
78154daed1Smrgxkb_symbols "101_qwertz_comma_nodead" {
799184b9c8Smrg    name[Group1] = "Hungarian (101/QWERTZ/comma/no dead keys)";
80154daed1Smrg    include "latin"
81154daed1Smrg    include "hu(def_101)"
82154daed1Smrg    include "hu(def_qwertz)"
83154daed1Smrg    include "kpdl(comma)"
84154daed1Smrg    include "hu(def_nodead)"
85154daed1Smrg    include "hu(def_common)"
86154daed1Smrg    include "level3(ralt_switch)"
87154daed1Smrg};
88154daed1Smrg
89154daed1Smrg// 101_qwertz_dot_dead
90154daed1Smrg// 101 key qwertz layout
91154daed1Smrg// with decimal dot on keypad
92154daed1Smrg// and with dead key support
93154daed1Smrgpartial
94154daed1Smrgxkb_symbols "101_qwertz_dot_dead" {
959184b9c8Smrg    name[Group1] = "Hungarian (101/QWERTZ/dot/dead keys)";
96154daed1Smrg    include "latin"
97154daed1Smrg    include "hu(def_101)"
98154daed1Smrg    include "hu(def_qwertz)"
99154daed1Smrg    include "hu(def_dot)"
100154daed1Smrg    include "hu(def_dead)"
101154daed1Smrg    include "hu(def_common)"
102154daed1Smrg    include "level3(ralt_switch)"
103154daed1Smrg};
104154daed1Smrg
105154daed1Smrg// 101_qwertz_dot_nodead
106154daed1Smrg// 101 key qwertz layout
107154daed1Smrg// with decimal dot on keypad
108154daed1Smrg// and without dead key support
109154daed1Smrgpartial
110154daed1Smrgxkb_symbols "101_qwertz_dot_nodead" {
1119184b9c8Smrg    name[Group1] = "Hungarian (101/QWERTZ/dot/no dead keys)";
112154daed1Smrg    include "latin"
113154daed1Smrg    include "hu(def_101)"
114154daed1Smrg    include "hu(def_qwertz)"
115154daed1Smrg    include "hu(def_dot)"
116154daed1Smrg    include "hu(def_nodead)"
117154daed1Smrg    include "hu(def_common)"
118154daed1Smrg    include "level3(ralt_switch)"
119154daed1Smrg};
120154daed1Smrg
121154daed1Smrg// 101_qwerty_comma_dead
122154daed1Smrg// 101 key qwerty layout
123154daed1Smrg// with decimal comma on keypad
124154daed1Smrg// and with dead key support
125154daed1Smrgpartial
126154daed1Smrgxkb_symbols "101_qwerty_comma_dead" {
1279184b9c8Smrg    name[Group1] = "Hungarian (101/QWERTY/comma/dead keys)";
128154daed1Smrg    include "latin"
129154daed1Smrg    include "hu(def_101)"
130154daed1Smrg    include "hu(def_qwerty)"
131154daed1Smrg    include "kpdl(comma)"
132154daed1Smrg    include "hu(def_dead)"
133154daed1Smrg    include "hu(def_common)"
134154daed1Smrg    include "level3(ralt_switch)"
135154daed1Smrg};
136154daed1Smrg
137154daed1Smrg// 101_qwerty_comma_nodead
138154daed1Smrg// 101 key qwerty layout
139154daed1Smrg// with decimal comma on keypad
140154daed1Smrg// and without dead key support
141154daed1Smrgpartial
142154daed1Smrgxkb_symbols "101_qwerty_comma_nodead" {
1439184b9c8Smrg    name[Group1] = "Hungarian (101/QWERTY/comma/no dead keys)";
144154daed1Smrg    include "latin"
145154daed1Smrg    include "hu(def_101)"
146154daed1Smrg    include "hu(def_qwerty)"
147154daed1Smrg    include "kpdl(comma)"
148154daed1Smrg    include "hu(def_nodead)"
149154daed1Smrg    include "hu(def_common)"
150154daed1Smrg    include "level3(ralt_switch)"
151154daed1Smrg};
152154daed1Smrg
153154daed1Smrg// 101_qwerty_dot_dead
154154daed1Smrg// 101 key qwerty layout
155154daed1Smrg// with decimal dot on keypad
156154daed1Smrg// and with dead key support
157154daed1Smrgpartial
158154daed1Smrgxkb_symbols "101_qwerty_dot_dead" {
1599184b9c8Smrg    name[Group1] = "Hungarian (101/QWERTY/dot/dead keys)";
160154daed1Smrg    include "latin"
161154daed1Smrg    include "hu(def_101)"
162154daed1Smrg    include "hu(def_qwerty)"
163154daed1Smrg    include "hu(def_dot)"
164154daed1Smrg    include "hu(def_dead)"
165154daed1Smrg    include "hu(def_common)"
166154daed1Smrg    include "level3(ralt_switch)"
167154daed1Smrg};
168154daed1Smrg
169154daed1Smrg// 101_qwerty_dot_nodead
170154daed1Smrg// 101 key qwerty layout
171154daed1Smrg// with decimal dot on keypad
172154daed1Smrg// and without dead key support
173154daed1Smrgpartial
174154daed1Smrgxkb_symbols "101_qwerty_dot_nodead" {
1759184b9c8Smrg    name[Group1] = "Hungarian (101/QWERTY/dot/no dead keys)";
176154daed1Smrg    include "latin"
177154daed1Smrg    include "hu(def_101)"
178154daed1Smrg    include "hu(def_qwerty)"
179154daed1Smrg    include "hu(def_dot)"
180154daed1Smrg    include "hu(def_nodead)"
181154daed1Smrg    include "hu(def_common)"
182154daed1Smrg    include "level3(ralt_switch)"
183154daed1Smrg};
184154daed1Smrg
185154daed1Smrg// 102_qwertz_comma_dead
186154daed1Smrg// 102 key qwertz layout
187154daed1Smrg// with decimal comma on keypad
188154daed1Smrg// and with dead key support
189154daed1Smrgpartial
190154daed1Smrgxkb_symbols "102_qwertz_comma_dead" {
1919184b9c8Smrg    name[Group1] = "Hungarian (102/QWERTZ/comma/dead keys)";
192154daed1Smrg    include "latin"
193154daed1Smrg    include "hu(def_102)"
194154daed1Smrg    include "hu(def_qwertz)"
195154daed1Smrg    include "kpdl(comma)"
196154daed1Smrg    include "hu(def_dead)"
197154daed1Smrg    include "hu(def_common)"
198154daed1Smrg    include "level3(ralt_switch)"
199154daed1Smrg};
200154daed1Smrg
201154daed1Smrg// 102_qwertz_comma_nodead
202154daed1Smrg// 102 key qwertz layout
203154daed1Smrg// with decimal comma on keypad
204154daed1Smrg// and without dead key support
205154daed1Smrgpartial
206154daed1Smrgxkb_symbols "102_qwertz_comma_nodead" {
2079184b9c8Smrg    name[Group1] = "Hungarian (102/QWERTZ/comma/no dead keys)";
208154daed1Smrg    include "latin"
209154daed1Smrg    include "hu(def_102)"
210154daed1Smrg    include "hu(def_qwertz)"
211154daed1Smrg    include "kpdl(comma)"
212154daed1Smrg    include "hu(def_nodead)"
213154daed1Smrg    include "hu(def_common)"
214154daed1Smrg    include "level3(ralt_switch)"
215154daed1Smrg};
216154daed1Smrg
217154daed1Smrg// 102_qwertz_dot_dead
218154daed1Smrg// 102 key qwertz layout
219154daed1Smrg// with decimal dot on keypad
220154daed1Smrg// and with dead key support
221154daed1Smrgpartial
222154daed1Smrgxkb_symbols "102_qwertz_dot_dead" {
2239184b9c8Smrg    name[Group1] = "Hungarian (102/QWERTZ/dot/dead keys)";
224154daed1Smrg    include "latin"
225154daed1Smrg    include "hu(def_102)"
226154daed1Smrg    include "hu(def_qwertz)"
227154daed1Smrg    include "hu(def_dot)"
228154daed1Smrg    include "hu(def_dead)"
229154daed1Smrg    include "hu(def_common)"
230154daed1Smrg    include "level3(ralt_switch)"
231154daed1Smrg};
232154daed1Smrg
233154daed1Smrg// 102_qwertz_dot_nodead
234154daed1Smrg// 102 key qwertz layout
235154daed1Smrg// with decimal dot on keypad
236154daed1Smrg// and without dead key support
237154daed1Smrgpartial
238154daed1Smrgxkb_symbols "102_qwertz_dot_nodead" {
2399184b9c8Smrg    name[Group1] = "Hungarian (102/QWERTZ/dot/no dead keys)";
240154daed1Smrg    include "latin"
241154daed1Smrg    include "hu(def_102)"
242154daed1Smrg    include "hu(def_qwertz)"
243154daed1Smrg    include "hu(def_dot)"
244154daed1Smrg    include "hu(def_nodead)"
245154daed1Smrg    include "hu(def_common)"
246154daed1Smrg    include "level3(ralt_switch)"
247154daed1Smrg};
248154daed1Smrg
249154daed1Smrg// 102_qwerty_comma_dead
250154daed1Smrg// 102 key qwerty layout
251154daed1Smrg// with decimal comma on keypad
252154daed1Smrg// and with dead key support
253154daed1Smrgpartial
254154daed1Smrgxkb_symbols "102_qwerty_comma_dead" {
2559184b9c8Smrg    name[Group1] = "Hungarian (102/QWERTY/comma/dead keys)";
256154daed1Smrg    include "latin"
257154daed1Smrg    include "hu(def_102)"
258154daed1Smrg    include "hu(def_qwerty)"
259154daed1Smrg    include "kpdl(comma)"
260154daed1Smrg    include "hu(def_dead)"
261154daed1Smrg    include "hu(def_common)"
262154daed1Smrg    include "level3(ralt_switch)"
263154daed1Smrg};
264154daed1Smrg
265154daed1Smrg// 102_qwerty_comma_nodead
266154daed1Smrg// 102 key qwerty layout
267154daed1Smrg// with decimal comma on keypad
268154daed1Smrg// and without dead key support
269154daed1Smrgpartial
270154daed1Smrgxkb_symbols "102_qwerty_comma_nodead" {
2719184b9c8Smrg    name[Group1] = "Hungarian (102/QWERTY/comma/no dead keys)";
272154daed1Smrg    include "latin"
273154daed1Smrg    include "hu(def_102)"
274154daed1Smrg    include "hu(def_qwerty)"
275154daed1Smrg    include "kpdl(comma)"
276154daed1Smrg    include "hu(def_nodead)"
277154daed1Smrg    include "hu(def_common)"
278154daed1Smrg    include "level3(ralt_switch)"
279154daed1Smrg};
280154daed1Smrg
281154daed1Smrg// 102_qwerty_dot_dead
282154daed1Smrg// 102 key qwerty layout
283154daed1Smrg// with decimal dot on keypad
284154daed1Smrg// and with dead key support
285154daed1Smrgpartial
286154daed1Smrgxkb_symbols "102_qwerty_dot_dead" {
2879184b9c8Smrg    name[Group1] = "Hungarian (102/QWERTY/dot/dead keys)";
288154daed1Smrg    include "latin"
289154daed1Smrg    include "hu(def_102)"
290154daed1Smrg    include "hu(def_qwerty)"
291154daed1Smrg    include "hu(def_dot)"
292154daed1Smrg    include "hu(def_dead)"
293154daed1Smrg    include "hu(def_common)"
294154daed1Smrg    include "level3(ralt_switch)"
295154daed1Smrg};
296154daed1Smrg
297154daed1Smrg// 102_qwerty_dot_nodead
298154daed1Smrg// 102 key qwerty layout
299154daed1Smrg// with decimal dot on keypad
300154daed1Smrg// and without dead key support
301154daed1Smrgpartial
302154daed1Smrgxkb_symbols "102_qwerty_dot_nodead" {
3039184b9c8Smrg    name[Group1] = "Hungarian (102/QWERTY/dot/no dead keys)";
304154daed1Smrg    include "latin"
305154daed1Smrg    include "hu(def_102)"
306154daed1Smrg    include "hu(def_qwerty)"
307154daed1Smrg    include "hu(def_dot)"
308154daed1Smrg    include "hu(def_nodead)"
309154daed1Smrg    include "hu(def_common)"
310154daed1Smrg    include "level3(ralt_switch)"
311154daed1Smrg};
312154daed1Smrg
313154daed1Smrg// Partial layouts
314154daed1Smrg
315154daed1Smrg// def_102:
316154daed1Smrg// The standard Hungarian 102 key layout
317154daed1Smrghidden partial alphanumeric_keys
318154daed1Smrgxkb_symbols "def_102" {
319154daed1Smrg    key <TLDE>  { [            0,      section,           notsign                  ] };
320154daed1Smrg    key <LSGT>  { [       iacute,       Iacute,              less,         greater ] };
321154daed1Smrg
322154daed1Smrg};
323154daed1Smrg
324154daed1Smrg// def_101:
325154daed1Smrg// An alternative layout for 101 key keyboards
326154daed1Smrghidden partial alphanumeric_keys
327154daed1Smrgxkb_symbols "def_101" {
328154daed1Smrg    key <TLDE>  { [       iacute,       Iacute,                 0,         section ] };
329154daed1Smrg    key <LSGT>  { [         less,      greater                                     ] };
330154daed1Smrg};
331154daed1Smrg
332154daed1Smrg// def_qwertz:
333154daed1Smrg// The standard Hungaryan qwertz layout
334154daed1Smrghidden partial alphanumeric_keys
335154daed1Smrgxkb_symbols "def_qwertz" {
336c067fea9Sghen    key <AD06>  { [            z,            Z,           endash                   ] };
337154daed1Smrg    key <AB01>  { [            y,            Y,           greater                  ] };
338154daed1Smrg};
339154daed1Smrg
340154daed1Smrg
341154daed1Smrg// def_qwerty:
342154daed1Smrg// The qwerty layout for people who familiar with the standard US layout
343154daed1Smrghidden partial alphanumeric_keys
344154daed1Smrgxkb_symbols "def_qwerty" {
345c067fea9Sghen    key <AD06>  { [            y,            Y,           endash                   ] };
346154daed1Smrg    key <AB01>  { [            z,            Z,           greater                  ] };
347154daed1Smrg};
348154daed1Smrg
349154daed1Smrg// def_dot: 	 
350154daed1Smrg// The Hungarian standard is the comma on the keypad not decimal dot, 	 
351154daed1Smrg// but programmers hate it 	 
352154daed1Smrghidden partial keypad_keys 	 
353154daed1Smrgxkb_symbols "def_dot" { 	 
354154daed1Smrg    key <KPDL>  { [    KP_Delete,   KP_Decimal                                     ] }; 	 
355154daed1Smrg}; 	 
356797b363dSmrg
357154daed1Smrg
358154daed1Smrg// def_dead:
359154daed1Smrg// Dead keys support part
360154daed1Smrghidden partial alphanumeric_keys
361154daed1Smrgxkb_symbols "def_dead" {
362154daed1Smrg    key <AE01>  { [            1,   apostrophe,        asciitilde,      dead_tilde ] };
363154daed1Smrg    key <AE02>  { [            2,     quotedbl,        dead_caron,           caron ] };
364154daed1Smrg    key <AE03>  { [            3,         plus,       asciicircum, dead_circumflex ] };
365154daed1Smrg    key <AE04>  { [            4,       exclam,        dead_breve,           breve ] };
366154daed1Smrg    key <AE05>  { [            5,      percent,    dead_abovering,          degree ] };
367154daed1Smrg    key <AE06>  { [            6,        slash,       dead_ogonek,          ogonek ] };
368154daed1Smrg    key <AE07>  { [            7,        equal,             grave,      dead_grave ] };
369154daed1Smrg    key <AE08>  { [            8,    parenleft,     dead_abovedot,        abovedot ] };
370154daed1Smrg    key <AE09>  { [            9,   parenright,        dead_acute,           acute ] };
371154daed1Smrg    key <AE10>  { [   odiaeresis,   Odiaeresis,  dead_doubleacute,     doubleacute ] };
372154daed1Smrg    key <AE11>  { [   udiaeresis,   Udiaeresis,    dead_diaeresis,       diaeresis ] };
373154daed1Smrg    key <AE12>  { [       oacute,       Oacute,      dead_cedilla,         cedilla ] };
374154daed1Smrg};
375154daed1Smrg
376154daed1Smrg// def_nodead:
377154daed1Smrg// Without dead keys support
378154daed1Smrghidden partial alphanumeric_keys
379154daed1Smrgxkb_symbols "def_nodead" {
380154daed1Smrg    key <AE01>  { [            1,   apostrophe,        asciitilde                  ] };
381154daed1Smrg    key <AE02>  { [            2,     quotedbl,             caron                  ] };
382154daed1Smrg    key <AE03>  { [            3,         plus,       asciicircum                  ] };
383154daed1Smrg    key <AE04>  { [            4,       exclam,             breve                  ] };
384154daed1Smrg    key <AE05>  { [            5,      percent,            degree                  ] };
385154daed1Smrg    key <AE06>  { [            6,        slash,            ogonek                  ] };
386154daed1Smrg    key <AE07>  { [            7,        equal,             grave                  ] };
387154daed1Smrg    key <AE08>  { [            8,    parenleft,          abovedot                  ] };
388154daed1Smrg    key <AE09>  { [            9,   parenright,             acute                  ] };
389154daed1Smrg    key <AE10>  { [   odiaeresis,   Odiaeresis,       doubleacute                  ] };
390154daed1Smrg    key <AE11>  { [   udiaeresis,   Udiaeresis,         diaeresis                  ] };
391154daed1Smrg    key <AE12>  { [       oacute,       Oacute,           cedilla                  ] };
392154daed1Smrg};
393154daed1Smrg
394154daed1Smrg
395154daed1Smrg// def_common:
396154daed1Smrg// The common part of all Hungarian layout above
397154daed1Smrghidden partial alphanumeric_keys
398154daed1Smrgxkb_symbols "def_common" {
399154daed1Smrg    key <AD01>  { [            q,            Q,         backslash                  ] };
400154daed1Smrg    key <AD02>  { [            w,            W,               bar                  ] };
401797b363dSmrg    key <AD03>  { [            e,            E,        Adiaeresis                  ] };
402154daed1Smrg    key <AD07>  { [            u,            U,          EuroSign                  ] };
403154daed1Smrg    key <AD08>  { [            i,            I,            Iacute,          iacute ] };
404c067fea9Sghen    key <AD09>	{ [            o,            O,        doublelowquotemark          ] };
405c067fea9Sghen    key <AD10>	{ [            p,            P,        rightdoublequotemark        ] };
406154daed1Smrg    key <AD11>  { [ odoubleacute, Odoubleacute,          division                  ] };
407154daed1Smrg    key <AD12>  { [       uacute,       Uacute,          multiply                  ] };
408154daed1Smrg
409154daed1Smrg    key <AC01>  { [            a,            A,        adiaeresis,      Adiaeresis ] };
410154daed1Smrg    key <AC02>  { [            s,            S,           dstroke                  ] };
411154daed1Smrg    key <AC03>  { [            d,            D,           Dstroke                  ] };
412154daed1Smrg    key <AC04>  { [            f,            F,       bracketleft                  ] };
413154daed1Smrg    key <AC05>  { [            g,            G,      bracketright                  ] };
414154daed1Smrg    key <AC07>  { [            j,            J,            iacute,          Iacute ] };
415154daed1Smrg    key <AC08>  { [            k,            K,           lstroke                  ] };
416154daed1Smrg    key <AC09>  { [            l,            L,           Lstroke                  ] };
417154daed1Smrg    key <AC10>  { [       eacute,       Eacute,            dollar,            cent ] };
418154daed1Smrg    key <AC11>  { [       aacute,       Aacute,            ssharp                  ] };
419154daed1Smrg
420154daed1Smrg    key <BKSL>  { [ udoubleacute, Udoubleacute,          currency                  ] };
421154daed1Smrg
422154daed1Smrg    key <AB02>  { [            x,            X,        numbersign                  ] };
423154daed1Smrg    key <AB03>  { [            c,            C,         ampersand                  ] };
424154daed1Smrg    key <AB04>  { [            v,            V,                at                  ] };
425154daed1Smrg    key <AB05>  { [            b,            B,         braceleft                  ] };
426154daed1Smrg    key <AB06>  { [            n,            N,        braceright                  ] };
427154daed1Smrg    key <AB07>  { [            m,            M,              less                  ] };
428154daed1Smrg    key <AB08>  { [        comma,     question,         semicolon                  ] };
429bfd7cbc1Smrg    key <AB09>  { [       period,        colon,           greater                  ] };
430154daed1Smrg    key <AB10>  { [        minus,   underscore,          asterisk                  ] };
431154daed1Smrg
432154daed1Smrg};
433