hu revision c067fea9
1154daed1Smrg// New style XKB layout for some widely used Hungarian keyboard layouts
2154daed1Smrg//
3154daed1Smrg// Based on old style 'xkb/symbols/hu"
4154daed1Smrg//
55a35480eSmrg// $XKeyboardConfig$
65a35480eSmrg// (C) 2002-2004 Soós Péter <sp@osb.hu>
7c067fea9Sghen// (C) 2010 Andras Timar <timar@fsf.hu>
8154daed1Smrg//
9154daed1Smrg// Permission is granted to anyone to use, distribute and modify
10154daed1Smrg// this file in any way, provided that the above copyright notice
11154daed1Smrg// is left intact and the author of the modification summarizes
12154daed1Smrg// the changes in this header.
13154daed1Smrg//
14154daed1Smrg// This file is distributed without any expressed or implied warranty.
15154daed1Smrg//
16154daed1Smrg// Changes:
17154daed1Smrg//  2004-04-17 - Moved to new style (only Unicode based layouts)
18154daed1Smrg//             - Added consistent dead key support
19154daed1Smrg//             - Fixed abovedot
20154daed1Smrg//             - Added adiaeresis
21154daed1Smrg//             - Added EuroSign and cent symbol
22c067fea9Sghen//  2010-04-23 - Added doublelowquotemark
23c067fea9Sghen//             - Added rightdoublequotemark
24c067fea9Sghen//             - Added endash
25c067fea9Sghen//  2010-05-13 - Added ellipsis
26154daed1Smrg
27154daed1Smrg
28154daed1Smrg// Default layout
29154daed1Smrgdefault partial
30154daed1Smrgxkb_symbols "basic" {
31154daed1Smrg    include "hu(102_qwertz_comma_dead)"
32154daed1Smrg    name[Group1] = "Hungary";
33154daed1Smrg};
34154daed1Smrg
35154daed1Smrg// Standard layout
36154daed1Smrgpartial
37154daed1Smrgxkb_symbols "standard" {
38154daed1Smrg    include "hu(102_qwertz_comma_dead)"
39154daed1Smrg    name[Group1] = "Hungary - Standard";
40154daed1Smrg};
41154daed1Smrg
42154daed1Smrg// Standard layout without dead key support
43154daed1Smrgpartial
44154daed1Smrgxkb_symbols "nodeadkeys" {
45154daed1Smrg    include "hu(102_qwertz_comma_nodead)"
46154daed1Smrg    name[Group1] = "Hungary - Eliminate dead keys";
47154daed1Smrg};
48154daed1Smrg
49154daed1Smrg// Qwerty layout
50154daed1Smrgpartial
51154daed1Smrgxkb_symbols "qwerty" {
52154daed1Smrg    include "hu(101_qwerty_comma_dead)"
53154daed1Smrg    name[Group1] = "Hungary - qwerty";
54154daed1Smrg};
55154daed1Smrg
56154daed1Smrg// Main layouts
57154daed1Smrg
58154daed1Smrg// 101_qwertz_comma_dead
59154daed1Smrg// 101 key qwertz layout
60154daed1Smrg// with decimal comma on keypad
61154daed1Smrg// and with dead key support
62154daed1Smrgpartial
63154daed1Smrgxkb_symbols "101_qwertz_comma_dead" {
64154daed1Smrg    name[Group1] = "Hungary - 101/qwertz/comma/Dead keys";
65154daed1Smrg    include "latin"
66154daed1Smrg    include "hu(def_101)"
67154daed1Smrg    include "hu(def_qwertz)"
68154daed1Smrg    include "kpdl(comma)"
69154daed1Smrg    include "hu(def_dead)"
70154daed1Smrg    include "hu(def_common)"
71154daed1Smrg    include "level3(ralt_switch)"
72154daed1Smrg};
73154daed1Smrg
74154daed1Smrg// 101_qwertz_comma_nodead
75154daed1Smrg// 101 key qwertz layout
76154daed1Smrg// with decimal comma on keypad
77154daed1Smrg// and without dead key support
78154daed1Smrgpartial
79154daed1Smrgxkb_symbols "101_qwertz_comma_nodead" {
80154daed1Smrg    name[Group1] = "Hungary - 101/qwertz/comma/Eliminate dead keys";
81154daed1Smrg    include "latin"
82154daed1Smrg    include "hu(def_101)"
83154daed1Smrg    include "hu(def_qwertz)"
84154daed1Smrg    include "kpdl(comma)"
85154daed1Smrg    include "hu(def_nodead)"
86154daed1Smrg    include "hu(def_common)"
87154daed1Smrg    include "level3(ralt_switch)"
88154daed1Smrg};
89154daed1Smrg
90154daed1Smrg// 101_qwertz_dot_dead
91154daed1Smrg// 101 key qwertz layout
92154daed1Smrg// with decimal dot on keypad
93154daed1Smrg// and with dead key support
94154daed1Smrgpartial
95154daed1Smrgxkb_symbols "101_qwertz_dot_dead" {
96154daed1Smrg    name[Group1] = "Hungary - 101/qwertz/dot/Dead keys";
97154daed1Smrg    include "latin"
98154daed1Smrg    include "hu(def_101)"
99154daed1Smrg    include "hu(def_qwertz)"
100154daed1Smrg    include "hu(def_dot)"
101154daed1Smrg    include "hu(def_dead)"
102154daed1Smrg    include "hu(def_common)"
103154daed1Smrg    include "level3(ralt_switch)"
104154daed1Smrg};
105154daed1Smrg
106154daed1Smrg// 101_qwertz_dot_nodead
107154daed1Smrg// 101 key qwertz layout
108154daed1Smrg// with decimal dot on keypad
109154daed1Smrg// and without dead key support
110154daed1Smrgpartial
111154daed1Smrgxkb_symbols "101_qwertz_dot_nodead" {
112154daed1Smrg    name[Group1] = "Hungary - 101/qwertz/dot/Eliminate dead keys";
113154daed1Smrg    include "latin"
114154daed1Smrg    include "hu(def_101)"
115154daed1Smrg    include "hu(def_qwertz)"
116154daed1Smrg    include "hu(def_dot)"
117154daed1Smrg    include "hu(def_nodead)"
118154daed1Smrg    include "hu(def_common)"
119154daed1Smrg    include "level3(ralt_switch)"
120154daed1Smrg};
121154daed1Smrg
122154daed1Smrg// 101_qwerty_comma_dead
123154daed1Smrg// 101 key qwerty layout
124154daed1Smrg// with decimal comma on keypad
125154daed1Smrg// and with dead key support
126154daed1Smrgpartial
127154daed1Smrgxkb_symbols "101_qwerty_comma_dead" {
128154daed1Smrg    name[Group1] = "Hungary - 101/qwerty/comma/Dead keys";
129154daed1Smrg    include "latin"
130154daed1Smrg    include "hu(def_101)"
131154daed1Smrg    include "hu(def_qwerty)"
132154daed1Smrg    include "kpdl(comma)"
133154daed1Smrg    include "hu(def_dead)"
134154daed1Smrg    include "hu(def_common)"
135154daed1Smrg    include "level3(ralt_switch)"
136154daed1Smrg};
137154daed1Smrg
138154daed1Smrg// 101_qwerty_comma_nodead
139154daed1Smrg// 101 key qwerty layout
140154daed1Smrg// with decimal comma on keypad
141154daed1Smrg// and without dead key support
142154daed1Smrgpartial
143154daed1Smrgxkb_symbols "101_qwerty_comma_nodead" {
144154daed1Smrg    name[Group1] = "Hungary - 101/qwerty/comma/Eliminate dead keys";
145154daed1Smrg    include "latin"
146154daed1Smrg    include "hu(def_101)"
147154daed1Smrg    include "hu(def_qwerty)"
148154daed1Smrg    include "kpdl(comma)"
149154daed1Smrg    include "hu(def_nodead)"
150154daed1Smrg    include "hu(def_common)"
151154daed1Smrg    include "level3(ralt_switch)"
152154daed1Smrg};
153154daed1Smrg
154154daed1Smrg// 101_qwerty_dot_dead
155154daed1Smrg// 101 key qwerty layout
156154daed1Smrg// with decimal dot on keypad
157154daed1Smrg// and with dead key support
158154daed1Smrgpartial
159154daed1Smrgxkb_symbols "101_qwerty_dot_dead" {
160154daed1Smrg    name[Group1] = "Hungary - 101/qwerty/dot/Dead keys";
161154daed1Smrg    include "latin"
162154daed1Smrg    include "hu(def_101)"
163154daed1Smrg    include "hu(def_qwerty)"
164154daed1Smrg    include "hu(def_dot)"
165154daed1Smrg    include "hu(def_dead)"
166154daed1Smrg    include "hu(def_common)"
167154daed1Smrg    include "level3(ralt_switch)"
168154daed1Smrg};
169154daed1Smrg
170154daed1Smrg// 101_qwerty_dot_nodead
171154daed1Smrg// 101 key qwerty layout
172154daed1Smrg// with decimal dot on keypad
173154daed1Smrg// and without dead key support
174154daed1Smrgpartial
175154daed1Smrgxkb_symbols "101_qwerty_dot_nodead" {
176154daed1Smrg    name[Group1] = "Hungary - 101/qwerty/dot/Eliminate dead keys";
177154daed1Smrg    include "latin"
178154daed1Smrg    include "hu(def_101)"
179154daed1Smrg    include "hu(def_qwerty)"
180154daed1Smrg    include "hu(def_dot)"
181154daed1Smrg    include "hu(def_nodead)"
182154daed1Smrg    include "hu(def_common)"
183154daed1Smrg    include "level3(ralt_switch)"
184154daed1Smrg};
185154daed1Smrg
186154daed1Smrg// 102_qwertz_comma_dead
187154daed1Smrg// 102 key qwertz layout
188154daed1Smrg// with decimal comma on keypad
189154daed1Smrg// and with dead key support
190154daed1Smrgpartial
191154daed1Smrgxkb_symbols "102_qwertz_comma_dead" {
192154daed1Smrg    name[Group1] = "Hungary - 102/qwertz/comma/Dead keys";
193154daed1Smrg    include "latin"
194154daed1Smrg    include "hu(def_102)"
195154daed1Smrg    include "hu(def_qwertz)"
196154daed1Smrg    include "kpdl(comma)"
197154daed1Smrg    include "hu(def_dead)"
198154daed1Smrg    include "hu(def_common)"
199154daed1Smrg    include "level3(ralt_switch)"
200154daed1Smrg};
201154daed1Smrg
202154daed1Smrg// 102_qwertz_comma_nodead
203154daed1Smrg// 102 key qwertz layout
204154daed1Smrg// with decimal comma on keypad
205154daed1Smrg// and without dead key support
206154daed1Smrgpartial
207154daed1Smrgxkb_symbols "102_qwertz_comma_nodead" {
208154daed1Smrg    name[Group1] = "Hungary - 102/qwertz/comma/Eliminate dead keys";
209154daed1Smrg    include "latin"
210154daed1Smrg    include "hu(def_102)"
211154daed1Smrg    include "hu(def_qwertz)"
212154daed1Smrg    include "kpdl(comma)"
213154daed1Smrg    include "hu(def_nodead)"
214154daed1Smrg    include "hu(def_common)"
215154daed1Smrg    include "level3(ralt_switch)"
216154daed1Smrg};
217154daed1Smrg
218154daed1Smrg// 102_qwertz_dot_dead
219154daed1Smrg// 102 key qwertz layout
220154daed1Smrg// with decimal dot on keypad
221154daed1Smrg// and with dead key support
222154daed1Smrgpartial
223154daed1Smrgxkb_symbols "102_qwertz_dot_dead" {
224154daed1Smrg    name[Group1] = "Hungary - 102/qwertz/dot/Dead keys";
225154daed1Smrg    include "latin"
226154daed1Smrg    include "hu(def_102)"
227154daed1Smrg    include "hu(def_qwertz)"
228154daed1Smrg    include "hu(def_dot)"
229154daed1Smrg    include "hu(def_dead)"
230154daed1Smrg    include "hu(def_common)"
231154daed1Smrg    include "level3(ralt_switch)"
232154daed1Smrg};
233154daed1Smrg
234154daed1Smrg// 102_qwertz_dot_nodead
235154daed1Smrg// 102 key qwertz layout
236154daed1Smrg// with decimal dot on keypad
237154daed1Smrg// and without dead key support
238154daed1Smrgpartial
239154daed1Smrgxkb_symbols "102_qwertz_dot_nodead" {
240154daed1Smrg    name[Group1] = "Hungary - 102/qwertz/dot/Eliminate dead keys";
241154daed1Smrg    include "latin"
242154daed1Smrg    include "hu(def_102)"
243154daed1Smrg    include "hu(def_qwertz)"
244154daed1Smrg    include "hu(def_dot)"
245154daed1Smrg    include "hu(def_nodead)"
246154daed1Smrg    include "hu(def_common)"
247154daed1Smrg    include "level3(ralt_switch)"
248154daed1Smrg};
249154daed1Smrg
250154daed1Smrg// 102_qwerty_comma_dead
251154daed1Smrg// 102 key qwerty layout
252154daed1Smrg// with decimal comma on keypad
253154daed1Smrg// and with dead key support
254154daed1Smrgpartial
255154daed1Smrgxkb_symbols "102_qwerty_comma_dead" {
256154daed1Smrg    name[Group1] = "Hungary - 102/qwerty/comma/Dead keys";
257154daed1Smrg    include "latin"
258154daed1Smrg    include "hu(def_102)"
259154daed1Smrg    include "hu(def_qwerty)"
260154daed1Smrg    include "kpdl(comma)"
261154daed1Smrg    include "hu(def_dead)"
262154daed1Smrg    include "hu(def_common)"
263154daed1Smrg    include "level3(ralt_switch)"
264154daed1Smrg};
265154daed1Smrg
266154daed1Smrg// 102_qwerty_comma_nodead
267154daed1Smrg// 102 key qwerty layout
268154daed1Smrg// with decimal comma on keypad
269154daed1Smrg// and without dead key support
270154daed1Smrgpartial
271154daed1Smrgxkb_symbols "102_qwerty_comma_nodead" {
272154daed1Smrg    name[Group1] = "Hungary - 102/qwerty/comma/Eliminate dead keys";
273154daed1Smrg    include "latin"
274154daed1Smrg    include "hu(def_102)"
275154daed1Smrg    include "hu(def_qwerty)"
276154daed1Smrg    include "kpdl(comma)"
277154daed1Smrg    include "hu(def_nodead)"
278154daed1Smrg    include "hu(def_common)"
279154daed1Smrg    include "level3(ralt_switch)"
280154daed1Smrg};
281154daed1Smrg
282154daed1Smrg// 102_qwerty_dot_dead
283154daed1Smrg// 102 key qwerty layout
284154daed1Smrg// with decimal dot on keypad
285154daed1Smrg// and with dead key support
286154daed1Smrgpartial
287154daed1Smrgxkb_symbols "102_qwerty_dot_dead" {
288154daed1Smrg    name[Group1] = "Hungary - 102/qwerty/dot/Dead keys";
289154daed1Smrg    include "latin"
290154daed1Smrg    include "hu(def_102)"
291154daed1Smrg    include "hu(def_qwerty)"
292154daed1Smrg    include "hu(def_dot)"
293154daed1Smrg    include "hu(def_dead)"
294154daed1Smrg    include "hu(def_common)"
295154daed1Smrg    include "level3(ralt_switch)"
296154daed1Smrg};
297154daed1Smrg
298154daed1Smrg// 102_qwerty_dot_nodead
299154daed1Smrg// 102 key qwerty layout
300154daed1Smrg// with decimal dot on keypad
301154daed1Smrg// and without dead key support
302154daed1Smrgpartial
303154daed1Smrgxkb_symbols "102_qwerty_dot_nodead" {
304154daed1Smrg    name[Group1] = "Hungary - 102/qwerty/dot/Eliminate dead keys";
305154daed1Smrg    include "latin"
306154daed1Smrg    include "hu(def_102)"
307154daed1Smrg    include "hu(def_qwerty)"
308154daed1Smrg    include "hu(def_dot)"
309154daed1Smrg    include "hu(def_nodead)"
310154daed1Smrg    include "hu(def_common)"
311154daed1Smrg    include "level3(ralt_switch)"
312154daed1Smrg};
313154daed1Smrg
314154daed1Smrg// Partial layouts
315154daed1Smrg
316154daed1Smrg// def_102:
317154daed1Smrg// The standard Hungarian 102 key layout
318154daed1Smrghidden partial alphanumeric_keys
319154daed1Smrgxkb_symbols "def_102" {
320154daed1Smrg    key <TLDE>  { [            0,      section,           notsign                  ] };
321154daed1Smrg    key <LSGT>  { [       iacute,       Iacute,              less,         greater ] };
322154daed1Smrg
323154daed1Smrg};
324154daed1Smrg
325154daed1Smrg// def_101:
326154daed1Smrg// An alternative layout for 101 key keyboards
327154daed1Smrghidden partial alphanumeric_keys
328154daed1Smrgxkb_symbols "def_101" {
329154daed1Smrg    key <TLDE>  { [       iacute,       Iacute,                 0,         section ] };
330154daed1Smrg    key <LSGT>  { [         less,      greater                                     ] };
331154daed1Smrg};
332154daed1Smrg
333154daed1Smrg// def_qwertz:
334154daed1Smrg// The standard Hungaryan qwertz layout
335154daed1Smrghidden partial alphanumeric_keys
336154daed1Smrgxkb_symbols "def_qwertz" {
337c067fea9Sghen    key <AD06>  { [            z,            Z,           endash                   ] };
338154daed1Smrg    key <AB01>  { [            y,            Y,           greater                  ] };
339154daed1Smrg};
340154daed1Smrg
341154daed1Smrg
342154daed1Smrg// def_qwerty:
343154daed1Smrg// The qwerty layout for people who familiar with the standard US layout
344154daed1Smrghidden partial alphanumeric_keys
345154daed1Smrgxkb_symbols "def_qwerty" {
346c067fea9Sghen    key <AD06>  { [            y,            Y,           endash                   ] };
347154daed1Smrg    key <AB01>  { [            z,            Z,           greater                  ] };
348154daed1Smrg};
349154daed1Smrg
350154daed1Smrg// def_dot: 	 
351154daed1Smrg// The Hungarian standard is the comma on the keypad not decimal dot, 	 
352154daed1Smrg// but programmers hate it 	 
353154daed1Smrghidden partial keypad_keys 	 
354154daed1Smrgxkb_symbols "def_dot" { 	 
355154daed1Smrg    key <KPDL>  { [    KP_Delete,   KP_Decimal                                     ] }; 	 
356154daed1Smrg}; 	 
357154daed1Smrg 
358154daed1Smrg
359154daed1Smrg// def_dead:
360154daed1Smrg// Dead keys support part
361154daed1Smrghidden partial alphanumeric_keys
362154daed1Smrgxkb_symbols "def_dead" {
363154daed1Smrg    key <AE01>  { [            1,   apostrophe,        asciitilde,      dead_tilde ] };
364154daed1Smrg    key <AE02>  { [            2,     quotedbl,        dead_caron,           caron ] };
365154daed1Smrg    key <AE03>  { [            3,         plus,       asciicircum, dead_circumflex ] };
366154daed1Smrg    key <AE04>  { [            4,       exclam,        dead_breve,           breve ] };
367154daed1Smrg    key <AE05>  { [            5,      percent,    dead_abovering,          degree ] };
368154daed1Smrg    key <AE06>  { [            6,        slash,       dead_ogonek,          ogonek ] };
369154daed1Smrg    key <AE07>  { [            7,        equal,             grave,      dead_grave ] };
370154daed1Smrg    key <AE08>  { [            8,    parenleft,     dead_abovedot,        abovedot ] };
371154daed1Smrg    key <AE09>  { [            9,   parenright,        dead_acute,           acute ] };
372154daed1Smrg    key <AE10>  { [   odiaeresis,   Odiaeresis,  dead_doubleacute,     doubleacute ] };
373154daed1Smrg    key <AE11>  { [   udiaeresis,   Udiaeresis,    dead_diaeresis,       diaeresis ] };
374154daed1Smrg    key <AE12>  { [       oacute,       Oacute,      dead_cedilla,         cedilla ] };
375154daed1Smrg};
376154daed1Smrg
377154daed1Smrg// def_nodead:
378154daed1Smrg// Without dead keys support
379154daed1Smrghidden partial alphanumeric_keys
380154daed1Smrgxkb_symbols "def_nodead" {
381154daed1Smrg    key <AE01>  { [            1,   apostrophe,        asciitilde                  ] };
382154daed1Smrg    key <AE02>  { [            2,     quotedbl,             caron                  ] };
383154daed1Smrg    key <AE03>  { [            3,         plus,       asciicircum                  ] };
384154daed1Smrg    key <AE04>  { [            4,       exclam,             breve                  ] };
385154daed1Smrg    key <AE05>  { [            5,      percent,            degree                  ] };
386154daed1Smrg    key <AE06>  { [            6,        slash,            ogonek                  ] };
387154daed1Smrg    key <AE07>  { [            7,        equal,             grave                  ] };
388154daed1Smrg    key <AE08>  { [            8,    parenleft,          abovedot                  ] };
389154daed1Smrg    key <AE09>  { [            9,   parenright,             acute                  ] };
390154daed1Smrg    key <AE10>  { [   odiaeresis,   Odiaeresis,       doubleacute                  ] };
391154daed1Smrg    key <AE11>  { [   udiaeresis,   Udiaeresis,         diaeresis                  ] };
392154daed1Smrg    key <AE12>  { [       oacute,       Oacute,           cedilla                  ] };
393154daed1Smrg};
394154daed1Smrg
395154daed1Smrg
396154daed1Smrg// def_common:
397154daed1Smrg// The common part of all Hungarian layout above
398154daed1Smrghidden partial alphanumeric_keys
399154daed1Smrgxkb_symbols "def_common" {
400154daed1Smrg    key <AD01>  { [            q,            Q,         backslash                  ] };
401154daed1Smrg    key <AD02>  { [            w,            W,               bar                  ] };
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                  ] };
429c067fea9Sghen    key <AB09>  { [       period,        colon,          ellipsis                  ] };
430154daed1Smrg    key <AB10>  { [        minus,   underscore,          asterisk                  ] };
431154daed1Smrg
432154daed1Smrg};
433