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
288157b447Smrgdefault 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" {
638157b447Smrg    name[Group1] = "Hungarian (QWERTZ, 101-key, 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" {
798157b447Smrg    name[Group1] = "Hungarian (QWERTZ, 101-key, 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" {
958157b447Smrg    name[Group1] = "Hungarian (QWERTZ, 101-key, 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" {
1118157b447Smrg    name[Group1] = "Hungarian (QWERTZ, 101-key, 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" {
1278157b447Smrg    name[Group1] = "Hungarian (QWERTY, 101-key, 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" {
1438157b447Smrg    name[Group1] = "Hungarian (QWERTY, 101-key, 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" {
1598157b447Smrg    name[Group1] = "Hungarian (QWERTY, 101-key, 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" {
1758157b447Smrg    name[Group1] = "Hungarian (QWERTY, 101-key, 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" {
1918157b447Smrg    name[Group1] = "Hungarian (QWERTZ, 102-key, 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" {
2078157b447Smrg    name[Group1] = "Hungarian (QWERTZ, 102-key, 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" {
2238157b447Smrg    name[Group1] = "Hungarian (QWERTZ, 102-key, 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" {
2398157b447Smrg    name[Group1] = "Hungarian (QWERTZ, 102-key, 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" {
2558157b447Smrg    name[Group1] = "Hungarian (QWERTY, 102-key, 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" {
2718157b447Smrg    name[Group1] = "Hungarian (QWERTY, 102-key, 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" {
2878157b447Smrg    name[Group1] = "Hungarian (QWERTY, 102-key, 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" {
3038157b447Smrg    name[Group1] = "Hungarian (QWERTY, 102-key, 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 ] };
4189d99ee05Smrg    key <AC11>  { [       aacute,       Aacute,            ssharp,           U1E9E ] };
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};
4332ab00627Smrg
4342ab00627Smrg// EXTRAS:
4352ab00627Smrg
4362ab00627Smrg// New style XKB layout used Old Hungarian keyboard layouts
4372ab00627Smrg//
4382ab00627Smrg// 
4392ab00627Smrg//
4402ab00627Smrg// (C) 2013 Andras Tisza
4418157b447Smrg// (C) 2017,2018,2020  Viktor Kovacs <kov.h.vik@gmail.com>
4422ab00627Smrg//
4432ab00627Smrg// Permission is granted to anyone to use, distribute and modify
4442ab00627Smrg// this file in any way, provided that the above copyright notice
4452ab00627Smrg// is left intact and the author of the modification summarizes
4462ab00627Smrg// the changes in this header.
4472ab00627Smrg//
4482ab00627Smrg// This file is distributed without any expressed or implied warranty.
4492ab00627Smrg//
4502ab00627Smrg// Changes:
4512ab00627Smrg// 2013 - Planned Old Hungarian layout
4522ab00627Smrg// 2017 - Added Old Hungarian layout
4538157b447Smrg// 2018 - Resolved several easy-to-use issue, added extra punctuation and quotation marks  
4548157b447Smrg// 2020 - Added ligature capable layout ( with Zero-widt-joiner), added copyright, copyleft symbols 
4558157b447Smrg// 2020 - Added ZWNJ key to "Old Hungarian (for ligatures)", replaced its ohu_lig id to oldhunlig, replaced its ohu_lig short description to oldhun(lig).
4568157b447Smrg// Added "oldhun_magic_numpad" for both "Old Hungarian" layouts, as a specialised numpad.
4572ab00627Smrg
4588157b447Smrg// Old Hungartian layout
4592ab00627Smrgpartial alphanumeric_keys
4602ab00627Smrgxkb_symbols "oldhun" {
4612ab00627Smrgname[Group1]="Old Hungarian";
4628157b447Smrginclude "hu(oldhun_base)"
4638157b447Smrginclude "hu(oldhun_origin)"
4648157b447Smrginclude "hu(oldhun_magic_numpad)"
4652ab00627Smrginclude "level3(ralt_switch)"
4668157b447Smrg};
4678157b447Smrg
4688157b447Smrg// Old Hungarian layout for ligatures
4698157b447Smrgpartial alphanumeric_keys
4708157b447Smrgxkb_symbols "oldhunlig" {
4718157b447Smrgname[Group1]="Old Hungarian (for ligatures)";
4728157b447Smrginclude "hu(oldhun_base)"
4738157b447Smrginclude "hu(oldhun_lig)"
4748157b447Smrginclude "hu(oldhun_magic_numpad)"
4758157b447Smrginclude "level3(ralt_switch)"
4768157b447Smrg};
4778157b447Smrg
4788157b447Smrg// The base Old Hungarian keys
4798157b447Smrg// In the remarks you can read characters displayed only Unicode point 
4808157b447Smrghidden partial alphanumeric_keys
4818157b447Smrgxkb_symbols "oldhun_base" { 
482ee0df474Smrgkey.type[Group1]="FOUR_LEVEL_ALPHABETIC";
4838157b447Smrg    key <AD01> {[ U10CCE, U10C8E, backslash ]};
4848157b447Smrg//Old-Hungarian gy, Gy    
4858157b447Smrg    key <AD02> {[ U10CF0, U10CB0 ]}; 
4868157b447Smrg//Old Hungarian zs, Zs
4878157b447Smrg    key <AD03> {[ U10CC9, U10C89, U10CCA, U10C8A ]};
4888157b447Smrg //Old Hungarian e, E, close e, close E
4898157b447Smrg    key <AD04> {[ U10CE2, U10CA2, U10CE3, U10CA3 ]};
4908157b447Smrg//Old Hungarian r, R, short r, short R    
4918157b447Smrg    key <AD05> {[ U10CE6, U10CA6, U10CF1, U10CB1 ]};
4928157b447Smrg//Old Hungarian t, T, ent-sharped sign,Ent-sharped sign    
4938157b447Smrg    key <AD06> {[ U10CEF, U10CAF ]};
4948157b447Smrg//Old Hungarian z, Z    
4958157b447Smrg    key <AD07> {[ U10CEA, U10CAA, U10CF2, U10CB2 ]};
4968157b447Smrg//Old Hungarian u, U,  Old Hungarian us, Us    
49792ddea16Smrg    key <AD08> {[ U10CD0, U10C90, U10CD1, U10C91 ]};
49892ddea16Smrg//Old Hungarian i, I, ii, II  
4998157b447Smrg    key <AD09> {[ U10CDB, U10C9B ]};
5008157b447Smrg//Old Hungarian o, O    
5018157b447Smrg    key <AD10> {[ U10CE0, U10CA0 ]};
5028157b447Smrg//Old Hungarian p, P    
5038157b447Smrg    key <AD11> {[ U10CDF, U10C9F ]};
5048157b447Smrg//Old Hungarian oee, Oee
5058157b447Smrg    key <AD12> {[ U10CEB, U10CAB, U10CD5, U10C95 ]};
5068157b447Smrg//Old Hungarian uu,Uu,unk,Unk   
5078157b447Smrg    key <AC01> {[ U10CC0, U10C80, U10CC3, U10C83 ]};
5088157b447Smrg//Old Hungarian a,A,amb,Amb    
5098157b447Smrg    key <AC02> {[ U10CE4, U10CA4, U10CE1, U10CA1 ]};
5108157b447Smrg//Old Hungarian s,S,emp,Emp    
5118157b447Smrg    key <AC03> {[ U10CC7, U10C87, U10CE7, U10CA7 ]};
5128157b447Smrg//Old Hungarian d,D, ent/ant/int, Ent/Ant/Int
5138157b447Smrg	key <AC04> {[ U10CCC, U10C8C, bracketleft ]};
5148157b447Smrg//Old Hungarian f,F    
5158157b447Smrg    key <AC05> {[ U10CCD, U10C8D, bracketright ]};
5168157b447Smrg//Old Hungarian g, G    
5178157b447Smrg    key <AC06> {[ U10CCF, U10C8F, U10CE9, U10CA9 ]};
5188157b447Smrg//Old Hungarian h, H,ech, Ech    
5198157b447Smrg    key <AC07> {[ U10CD2, U10C92, backslash ]};
5208157b447Smrg//Old Hungarian j, J    
5218157b447Smrg    key <AC08> {[ U10CD3, U10C93, U10CD4, U10C94 ]};
5228157b447Smrg//Old Hungarian open k, open K, close k, close K    
5238157b447Smrg    key <AC09> {[ U10CD6, U10C96 ]};
5248157b447Smrg//Old Hungarian l, L    
5258157b447Smrg    key <AC10> {[ U10CCB, U10C8B ]};
5268157b447Smrg//Old Hungarian ee, EE    
5278157b447Smrg    key <AC11> {[ U10CC1, U10C81, U10CC8, U10C88 ]};
5288157b447Smrg//Old Hungarian aa, AA, and And	     
5298157b447Smrg    key <BKSL> {[ U10CEC, U10CAC ]};
5308157b447Smrg//Old Hungarian ue, Ue    
5318157b447Smrg    key <AB01> {[ U10CD7, U10C97, greater ]};
5328157b447Smrg//Old Hungarian ly, Ly    
5338157b447Smrg    key <AB02> {[ U10CE5, U10CA5, numbersign ]};
5348157b447Smrg//Old Hungarian sz, Sz    
5358157b447Smrg    key <AB03> {[ U10CC4, U10C84, U10CC5, U10C85 ]};
5368157b447Smrg//Old Hungarian c,C, enc, Enc    
5378157b447Smrg    key <AB04> {[ U10CEE, U10CAE, at ]};
5388157b447Smrg//Old Hungarian v,V    
5398157b447Smrg    key <AB05> {[ U10CC2, U10C82, braceleft ]};
5408157b447Smrg//Old Hungarian b, B    
5418157b447Smrg    key <AB06> {[ U10CD9, U10C99, braceright ]};
5428157b447Smrg//Old Hungarian n, N    
5438157b447Smrg    key <AB07> {[ U10CD8, U10C98, less ]};
5448157b447Smrg//Old Hungarian m, M    
5458157b447Smrg    key <AB08> {[ U2E41, U2E2E, U204F ]};
5468157b447Smrg//reversed question mark,reversed semicolon, reversed comma    
5478157b447Smrg    key <AB09> {[ period, colon, greater ]};    
5488157b447Smrg    key <AB10> {[ minus, underscore, asterisk ]};    
5498157b447Smrg	key <LSGT> {[ U10CD1, U10C91, less ]};
5508157b447Smrg//Old Hungarian ii,II
5518157b447Smrg};
5528157b447Smrg
5538157b447Smrg//Old Hungarian layout specialised keys
5542ab00627Smrg// In the remarks you can read characters displayed only Unicode point
5558157b447Smrghidden partial alphanumeric_keys
5568157b447Smrgxkb_symbols "oldhun_origin" {
5578157b447Smrgkey.type[Group1]="FOUR_LEVEL_ALPHABETIC";
5588157b447Smrg	key <TLDE> {[ section, U200F, U200E, 0 ]};
5598157b447Smrg//Right to left mark, left to right mark
5608157b447Smrg    key <AE01> {[ U10CFA, apostrophe, U2E42, 1 ]};
561ee0df474Smrg//Old Hungarian one, reversed 9 double low quotemark
5628157b447Smrg    key <AE02> {[ U10CFB, quotedbl, U201F, 2 ]};
563ee0df474Smrg//Old Hungarian five, reversed 9 double upper quotemark
5648157b447Smrg    key <AE03> {[ U10CFC, plus, minus, 3 ]};
5652ab00627Smrg//Old Hungarian ten
5668157b447Smrg    key <AE04> {[ U10CFD, exclam, U203C, 4 ]};
567ee0df474Smrg//Old Hungarian fifty,double exclam
5688157b447Smrg    key <AE05> {[ U10CFE, percent, U2026, 5 ]};
569ee0df474Smrg//Old Hungarian hundred, triple dot
5708157b447Smrg    key <AE06> {[ U10CFF, slash, backslash, 6 ]};
5712ab00627Smrg//Old Hungarian thousand
5728157b447Smrg    key <AE07> {[ U10CC6, U10C86, equal, 7 ]};
5738157b447Smrg//Old Hungarian cs, Cs    
5748157b447Smrg    key <AE08> {[ U10CDA, U10C9A, parenleft, 8 ]};
5758157b447Smrg//Old Hungarian ny, Ny    
5768157b447Smrg    key <AE09> {[ U10CE8, U10CA8, parenright, 9 ]};
5772ab00627Smrg//Old Hungarian ty, Ty
5788157b447Smrg    key <AE10> {[ U10CDE, U10C9E, U10CDD, U10C9D ]};
5792ab00627Smrg//Old Hungarian Rudimenta oe, Oe, Nikolsburg oe, Oe
5808157b447Smrg    key <AE11> {[ U10CED, U10CAD, section ]};
5812ab00627Smrg//Old Hungarian ue , Ue
5828157b447Smrg    key <AE12> {[ U10CDC, U10C9C, copyright, U1F12F ]};
5838157b447Smrg//Old Hungarian oo, OO, copyleft    
5848157b447Smrg};
5858157b447Smrg
5868157b447Smrg//Special section for "Old Hungarian (for ligatures)" layout
5878157b447Smrg// In the remarks you can read characters displayed only Unicode point
5888157b447Smrghidden partial alphanumeric_keys
5898157b447Smrgxkb_symbols "oldhun_lig" {
5908157b447Smrgkey.type[Group1]="FOUR_LEVEL_ALPHABETIC";
5918157b447Smrg	key <TLDE> {[ U200D, U200F, U200C, 0 ]};
5928157b447Smrg//Zero-width-joiner,Right to left mark, Zero-width-non-joiner
5938157b447Smrg//Zero-width-joiner and Zero-width-non-joiner are reqired for ligatures
5948157b447Smrg    key <AE01> {[ U10CFA, apostrophe, U2E42, 1 ]};
5958157b447Smrg//Old Hungarian one, reversed 9 double low quotemark
5968157b447Smrg    key <AE02> {[ U10CFB, quotedbl, U201F, 2 ]};
5978157b447Smrg//Old Hungarian five, reversed 9 double upper quotemark
5988157b447Smrg    key <AE03> {[ U10CFC, plus, minus, 3 ]};
5998157b447Smrg//Old Hungarian ten
6008157b447Smrg    key <AE04> {[ U10CFD, exclam, U203C, 4 ]};
6018157b447Smrg//Old Hungarian fifty,double exclam    
6028157b447Smrg    key <AE05> {[ U10CFE, percent, U2026, 5 ]};
6038157b447Smrg//Old Hungarian hundred, triple dot
6048157b447Smrg    key <AE06> {[ U10CFF, slash, backslash, 6 ]};
6058157b447Smrg//Old Hungarian thousand
6068157b447Smrg    key <AE07> {[ U10CC6, U10C86, equal, 7 ]};
6078157b447Smrg//Old Hungarian cs, Cs    
6088157b447Smrg    key <AE08> {[ U10CDA, U10C9A, parenleft, 8 ]};
6098157b447Smrg//Old Hungarian ny, Ny    
6108157b447Smrg    key <AE09> {[ U10CE8, U10CA8, parenright, 9 ]};
6118157b447Smrg//Old Hungarian ty, Ty
6128157b447Smrg    key <AE10> {[ U10CDE, U10C9E, U10CDD, U10C9D ]};
6138157b447Smrg//Old Hungarian Rudimenta oe, Oe, Nikolsburg oe, Oe    
6148157b447Smrg    key <AE11> {[ U10CED, U10CAD, section ]};
6158157b447Smrg//Old Hungarian ue , Ue    
6168157b447Smrg    key <AE12> {[ U10CDC, U10C9C, copyright, U1F12F ]};
6178157b447Smrg//Old Hungarian oo, OO, copyleft    
6188157b447Smrg};
6192ab00627Smrg
6208157b447Smrg//Numpad for Old Hungarian layouts
6218157b447Smrg// In the remarks you can read characters displayed only Unicode point
6228157b447Smrghidden partial keypad_keys
6238157b447Smrgxkb_symbols "oldhun_magic_numpad" {
6248157b447Smrg    key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD";
6258157b447Smrg    key <NMLK> {[ Num_Lock, Num_Lock, Num_Lock, Num_Lock ]};
6268157b447Smrg    key <KP0> {[ KP_Insert, KP_0, U200C, U200C ]};
6278157b447Smrg//Zero-width-non-joiner
6288157b447Smrg    key <KP7> {[ KP_Home, KP_7, U10CFA, U10CFA ]};
6298157b447Smrg//Old Hungarian number one
6308157b447Smrg    key <KP8> {[ KP_Up, KP_8, U10CFB, U10CFB ]};
6318157b447Smrg//Old Hungarian number five
6328157b447Smrg    key <KP9> {[ KP_Prior, KP_9, U10CFC, U10CFC ]};
6338157b447Smrg//Old Hungarian number ten
6348157b447Smrg    key <KP4> {[ KP_Left, KP_4, U10CFD, U10CFD ]};
6358157b447Smrg//Old Hungarian number fifty
6368157b447Smrg    key <KP5> {[ KP_Begin, KP_5, U10CFE, U10CFE ]};
6378157b447Smrg//Old Hungarian number hundred
6388157b447Smrg    key <KP6> {[ KP_Right, KP_6, U10CFF, U10CFF ]};
6398157b447Smrg//Old Hungarian number thousand
6408157b447Smrg    key <KP1> {[ KP_End, KP_1, U200F, U200F ]};
6418157b447Smrg//Right-to-left mark
6428157b447Smrg    key <KP2> {[ KP_Down, KP_2, U200D, U200D ]};
6438157b447Smrg//Zero-width-joiner
6448157b447Smrg    key <KP3> {[ KP_Next, KP_3, U200E, U200E ]};
6458157b447Smrg//Left-to-right mark
6468157b447Smrg    key <KPEN> {[ KP_Enter, KP_Enter, KP_Enter, KP_Enter ]};
6478157b447Smrg    key <KPEQ> {[ KP_Equal, KP_Equal, KP_Equal, KP_Equal ]};
6488157b447Smrg    key <KPDL> {[ KP_Delete, KP_Separator, KP_Delete, KP_Separator ]};
6498157b447Smrg    key <KPPT> {[ KP_Separator, KP_Separator, KP_Separator, KP_Separator ]};
6508157b447Smrg    key <KPDV> {[ KP_Divide, KP_Divide, KP_Divide, KP_Divide ]};
6518157b447Smrg    key <KPMU> {[ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply ]};
652bb3a541cSmrg    key <KPSU> {[ KP_Subtract, KP_Subtract,	KP_Subtract, KP_Subtract ]};
6538157b447Smrg    key <KPAD> {[ KP_Add, KP_Add, KP_Add, KP_Add ]};
6548157b447Smrg};
655