1 // New style XKB layout for some widely used Hungarian keyboard layouts
3 // Based on old style 'xkb/symbols/hu"
5 // (C) 2002-2004 Soós Péter <sp@osb.hu>
7 // Permission is granted to anyone to use, distribute and modify
8 // this file in any way, provided that the above copyright notice
9 // is left intact and the author of the modification summarizes
10 // the changes in this header.
12 // This file is distributed without any expressed or implied warranty.
15 // 2004-04-17 - Moved to new style (only Unicode based layouts)
16 // - Added consistent dead key support
19 // - Added EuroSign and cent symbol
25 include "hu(102_qwertz_comma_dead)"
30 xkb_symbols "standard" {
31 include "hu(102_qwertz_comma_dead)"
34 // Standard layout without dead key support
36 xkb_symbols "nodeadkeys" {
37 include "hu(102_qwertz_comma_nodead)"
42 xkb_symbols "qwerty" {
43 include "hu(101_qwerty_comma_dead)"
48 // 101_qwertz_comma_dead
49 // 101 key qwertz layout
50 // with decimal comma on keypad
51 // and with dead key support
53 xkb_symbols "101_qwertz_comma_dead" {
54 name[Group1] = "Hungarian";
57 include "hu(def_qwertz)"
58 include "hu(def_comma)"
59 include "hu(def_dead)"
60 include "hu(def_common)"
61 include "level3(ralt_switch_multikey)"
64 // 101_qwertz_comma_nodead
65 // 101 key qwertz layout
66 // with decimal comma on keypad
67 // and without dead key support
69 xkb_symbols "101_qwertz_comma_nodead" {
70 name[Group1] = "Hungarian";
73 include "hu(def_qwertz)"
74 include "hu(def_comma)"
75 include "hu(def_nodead)"
76 include "hu(def_common)"
77 include "level3(ralt_switch_multikey)"
80 // 101_qwertz_dot_dead
81 // 101 key qwertz layout
82 // with decimal dot on keypad
83 // and with dead key support
85 xkb_symbols "101_qwertz_dot_dead" {
86 name[Group1] = "Hungarian";
89 include "hu(def_qwertz)"
91 include "hu(def_dead)"
92 include "hu(def_common)"
93 include "level3(ralt_switch_multikey)"
96 // 101_qwertz_dot_nodead
97 // 101 key qwertz layout
98 // with decimal dot on keypad
99 // and without dead key support
101 xkb_symbols "101_qwertz_dot_nodead" {
102 name[Group1] = "Hungarian";
104 include "hu(def_101)"
105 include "hu(def_qwertz)"
106 include "hu(def_dot)"
107 include "hu(def_nodead)"
108 include "hu(def_common)"
109 include "level3(ralt_switch_multikey)"
112 // 101_qwerty_comma_dead
113 // 101 key qwerty layout
114 // with decimal comma on keypad
115 // and with dead key support
117 xkb_symbols "101_qwerty_comma_dead" {
118 name[Group1] = "Hungarian";
120 include "hu(def_101)"
121 include "hu(def_qwerty)"
122 include "hu(def_comma)"
123 include "hu(def_dead)"
124 include "hu(def_common)"
125 include "level3(ralt_switch_multikey)"
128 // 101_qwerty_comma_nodead
129 // 101 key qwerty layout
130 // with decimal comma on keypad
131 // and without dead key support
133 xkb_symbols "101_qwerty_comma_nodead" {
134 name[Group1] = "Hungarian";
136 include "hu(def_101)"
137 include "hu(def_qwerty)"
138 include "hu(def_comma)"
139 include "hu(def_nodead)"
140 include "hu(def_common)"
141 include "level3(ralt_switch_multikey)"
144 // 101_qwerty_dot_dead
145 // 101 key qwerty layout
146 // with decimal dot on keypad
147 // and with dead key support
149 xkb_symbols "101_qwerty_dot_dead" {
150 name[Group1] = "Hungarian";
152 include "hu(def_101)"
153 include "hu(def_qwerty)"
154 include "hu(def_dot)"
155 include "hu(def_dead)"
156 include "hu(def_common)"
157 include "level3(ralt_switch_multikey)"
160 // 101_qwerty_dot_nodead
161 // 101 key qwerty layout
162 // with decimal dot on keypad
163 // and without dead key support
165 xkb_symbols "101_qwerty_dot_nodead" {
166 name[Group1] = "Hungarian";
168 include "hu(def_101)"
169 include "hu(def_qwerty)"
170 include "hu(def_dot)"
171 include "hu(def_nodead)"
172 include "hu(def_common)"
173 include "level3(ralt_switch_multikey)"
176 // 102_qwertz_comma_dead
177 // 102 key qwertz layout
178 // with decimal comma on keypad
179 // and with dead key support
181 xkb_symbols "102_qwertz_comma_dead" {
182 name[Group1] = "Hungarian";
184 include "hu(def_102)"
185 include "hu(def_qwertz)"
186 include "hu(def_comma)"
187 include "hu(def_dead)"
188 include "hu(def_common)"
189 include "level3(ralt_switch_multikey)"
192 // 102_qwertz_comma_nodead
193 // 102 key qwertz layout
194 // with decimal comma on keypad
195 // and without dead key support
197 xkb_symbols "102_qwertz_comma_nodead" {
198 name[Group1] = "Hungarian";
200 include "hu(def_102)"
201 include "hu(def_qwertz)"
202 include "hu(def_comma)"
203 include "hu(def_nodead)"
204 include "hu(def_common)"
205 include "level3(ralt_switch_multikey)"
208 // 102_qwertz_dot_dead
209 // 102 key qwertz layout
210 // with decimal dot on keypad
211 // and with dead key support
213 xkb_symbols "102_qwertz_dot_dead" {
214 name[Group1] = "Hungarian";
216 include "hu(def_102)"
217 include "hu(def_qwertz)"
218 include "hu(def_dot)"
219 include "hu(def_dead)"
220 include "hu(def_common)"
221 include "level3(ralt_switch_multikey)"
224 // 102_qwertz_dot_nodead
225 // 102 key qwertz layout
226 // with decimal dot on keypad
227 // and without dead key support
229 xkb_symbols "102_qwertz_dot_nodead" {
230 name[Group1] = "Hungarian";
232 include "hu(def_102)"
233 include "hu(def_qwertz)"
234 include "hu(def_dot)"
235 include "hu(def_nodead)"
236 include "hu(def_common)"
237 include "level3(ralt_switch_multikey)"
240 // 102_qwerty_comma_dead
241 // 102 key qwerty layout
242 // with decimal comma on keypad
243 // and with dead key support
245 xkb_symbols "102_qwerty_comma_dead" {
246 name[Group1] = "Hungarian";
248 include "hu(def_102)"
249 include "hu(def_qwerty)"
250 include "hu(def_comma)"
251 include "hu(def_dead)"
252 include "hu(def_common)"
253 include "level3(ralt_switch_multikey)"
256 // 102_qwerty_comma_nodead
257 // 102 key qwerty layout
258 // with decimal comma on keypad
259 // and without dead key support
261 xkb_symbols "102_qwerty_comma_nodead" {
262 name[Group1] = "Hungarian";
264 include "hu(def_102)"
265 include "hu(def_qwerty)"
266 include "hu(def_comma)"
267 include "hu(def_nodead)"
268 include "hu(def_common)"
269 include "level3(ralt_switch_multikey)"
272 // 102_qwerty_dot_dead
273 // 102 key qwerty layout
274 // with decimal dot on keypad
275 // and with dead key support
277 xkb_symbols "102_qwerty_dot_dead" {
278 name[Group1] = "Hungarian";
280 include "hu(def_102)"
281 include "hu(def_qwerty)"
282 include "hu(def_dot)"
283 include "hu(def_dead)"
284 include "hu(def_common)"
285 include "level3(ralt_switch_multikey)"
288 // 102_qwerty_dot_nodead
289 // 102 key qwerty layout
290 // with decimal dot on keypad
291 // and without dead key support
293 xkb_symbols "102_qwerty_dot_nodead" {
294 name[Group1] = "Hungarian";
296 include "hu(def_102)"
297 include "hu(def_qwerty)"
298 include "hu(def_dot)"
299 include "hu(def_nodead)"
300 include "hu(def_common)"
301 include "level3(ralt_switch_multikey)"
307 // The standard Hungarian 102 key layout
308 hidden partial alphanumeric_keys
309 xkb_symbols "def_102" {
310 key <TLDE> { [ 0, section, notsign ] };
311 key <LSGT> { [ iacute, Iacute, less, greater ] };
316 // An alternative layout for 101 key keyboards
317 hidden partial alphanumeric_keys
318 xkb_symbols "def_101" {
319 key <TLDE> { [ iacute, Iacute, 0, section ] };
320 key <LSGT> { [ less, greater ] };
324 // The standard Hungaryan qwertz layout
325 hidden partial alphanumeric_keys
326 xkb_symbols "def_qwertz" {
327 key <AD06> { [ z, Z ] };
328 key <AB01> { [ y, Y, greater ] };
333 // The qwerty layout for people who familiar with the standard US layout
334 hidden partial alphanumeric_keys
335 xkb_symbols "def_qwerty" {
336 key <AD06> { [ y, Y ] };
337 key <AB01> { [ z, Z, greater ] };
341 // The Hungarian standard is the comma on the keypad not decimal dot
342 hidden partial keypad_keys
343 xkb_symbols "def_comma" {
344 key <KPDL> { [ KP_Delete, KP_Separator ] };
348 // The Hungarian standard is the comma on the keypad not decimal dot,
349 // but programmers hate it
350 hidden partial keypad_keys
351 xkb_symbols "def_dot" {
352 key <KPDL> { [ KP_Delete, KP_Decimal ] };
357 // Dead keys support part
358 hidden partial alphanumeric_keys
359 xkb_symbols "def_dead" {
360 key <AE01> { [ 1, apostrophe, asciitilde, dead_tilde ] };
361 key <AE02> { [ 2, quotedbl, dead_caron, caron ] };
362 key <AE03> { [ 3, plus, asciicircum, dead_circumflex ] };
363 key <AE04> { [ 4, exclam, dead_breve, breve ] };
364 key <AE05> { [ 5, percent, dead_abovering, degree ] };
365 key <AE06> { [ 6, slash, dead_ogonek, ogonek ] };
366 key <AE07> { [ 7, equal, grave, dead_grave ] };
367 key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] };
368 key <AE09> { [ 9, parenright, dead_acute, acute ] };
369 key <AE10> { [ odiaeresis, Odiaeresis, dead_doubleacute, doubleacute ] };
370 key <AE11> { [ udiaeresis, Udiaeresis, dead_diaeresis, diaeresis ] };
371 key <AE12> { [ oacute, Oacute, dead_cedilla, cedilla ] };
375 // Without dead keys support
376 hidden partial alphanumeric_keys
377 xkb_symbols "def_nodead" {
378 key <AE01> { [ 1, apostrophe, asciitilde ] };
379 key <AE02> { [ 2, quotedbl, caron ] };
380 key <AE03> { [ 3, plus, asciicircum ] };
381 key <AE04> { [ 4, exclam, breve ] };
382 key <AE05> { [ 5, percent, degree ] };
383 key <AE06> { [ 6, slash, ogonek ] };
384 key <AE07> { [ 7, equal, grave ] };
385 key <AE08> { [ 8, parenleft, abovedot ] };
386 key <AE09> { [ 9, parenright, acute ] };
387 key <AE10> { [ odiaeresis, Odiaeresis, doubleacute ] };
388 key <AE11> { [ udiaeresis, Udiaeresis, diaeresis ] };
389 key <AE12> { [ oacute, Oacute, cedilla ] };
394 // The common part of all Hungarian layout above
395 hidden partial alphanumeric_keys
396 xkb_symbols "def_common" {
397 key <AD01> { [ q, Q, backslash ] };
398 key <AD02> { [ w, W, bar ] };
399 key <AD07> { [ u, U, EuroSign ] };
400 key <AD08> { [ i, I, Iacute, iacute ] };
401 key <AD11> { [ odoubleacute, Odoubleacute, division ] };
402 key <AD12> { [ uacute, Uacute, multiply ] };
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 ] };
415 key <BKSL> { [ udoubleacute, Udoubleacute, currency ] };
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 ] };