1 // New style XKB layout for some widely used Hungarian keyboard layouts
3 // Based on old style 'xkb/symbols/hu"
6 // (C) 2002-2004 Soós Péter <sp@osb.hu>
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.
13 // This file is distributed without any expressed or implied warranty.
16 // 2004-04-17 - Moved to new style (only Unicode based layouts)
17 // - Added consistent dead key support
20 // - Added EuroSign and cent symbol
26 include "hu(102_qwertz_comma_dead)"
31 xkb_symbols "standard" {
32 include "hu(102_qwertz_comma_dead)"
35 // Standard layout without dead key support
37 xkb_symbols "nodeadkeys" {
38 include "hu(102_qwertz_comma_nodead)"
43 xkb_symbols "qwerty" {
44 include "hu(101_qwerty_comma_dead)"
49 // 101_qwertz_comma_dead
50 // 101 key qwertz layout
51 // with decimal comma on keypad
52 // and with dead key support
54 xkb_symbols "101_qwertz_comma_dead" {
55 name[Group1] = "Hungarian";
58 include "hu(def_qwertz)"
59 include "keypad(comma)"
60 include "hu(def_dead)"
61 include "hu(def_common)"
62 include "level3(ralt_switch)"
65 // 101_qwertz_comma_nodead
66 // 101 key qwertz layout
67 // with decimal comma on keypad
68 // and without dead key support
70 xkb_symbols "101_qwertz_comma_nodead" {
71 name[Group1] = "Hungarian";
74 include "hu(def_qwertz)"
75 include "keypad(comma)"
76 include "hu(def_nodead)"
77 include "hu(def_common)"
78 include "level3(ralt_switch)"
81 // 101_qwertz_dot_dead
82 // 101 key qwertz layout
83 // with decimal dot on keypad
84 // and with dead key support
86 xkb_symbols "101_qwertz_dot_dead" {
87 name[Group1] = "Hungarian";
90 include "hu(def_qwertz)"
92 include "hu(def_dead)"
93 include "hu(def_common)"
94 include "level3(ralt_switch)"
97 // 101_qwertz_dot_nodead
98 // 101 key qwertz layout
99 // with decimal dot on keypad
100 // and without dead key support
102 xkb_symbols "101_qwertz_dot_nodead" {
103 name[Group1] = "Hungarian";
105 include "hu(def_101)"
106 include "hu(def_qwertz)"
107 include "hu(def_dot)"
108 include "hu(def_nodead)"
109 include "hu(def_common)"
110 include "level3(ralt_switch)"
113 // 101_qwerty_comma_dead
114 // 101 key qwerty layout
115 // with decimal comma on keypad
116 // and with dead key support
118 xkb_symbols "101_qwerty_comma_dead" {
119 name[Group1] = "Hungarian";
121 include "hu(def_101)"
122 include "hu(def_qwerty)"
123 include "keypad(comma)"
124 include "hu(def_dead)"
125 include "hu(def_common)"
126 include "level3(ralt_switch)"
129 // 101_qwerty_comma_nodead
130 // 101 key qwerty layout
131 // with decimal comma on keypad
132 // and without dead key support
134 xkb_symbols "101_qwerty_comma_nodead" {
135 name[Group1] = "Hungarian";
137 include "hu(def_101)"
138 include "hu(def_qwerty)"
139 include "keypad(comma)"
140 include "hu(def_nodead)"
141 include "hu(def_common)"
142 include "level3(ralt_switch)"
145 // 101_qwerty_dot_dead
146 // 101 key qwerty layout
147 // with decimal dot on keypad
148 // and with dead key support
150 xkb_symbols "101_qwerty_dot_dead" {
151 name[Group1] = "Hungarian";
153 include "hu(def_101)"
154 include "hu(def_qwerty)"
155 include "hu(def_dot)"
156 include "hu(def_dead)"
157 include "hu(def_common)"
158 include "level3(ralt_switch)"
161 // 101_qwerty_dot_nodead
162 // 101 key qwerty layout
163 // with decimal dot on keypad
164 // and without dead key support
166 xkb_symbols "101_qwerty_dot_nodead" {
167 name[Group1] = "Hungarian";
169 include "hu(def_101)"
170 include "hu(def_qwerty)"
171 include "hu(def_dot)"
172 include "hu(def_nodead)"
173 include "hu(def_common)"
174 include "level3(ralt_switch)"
177 // 102_qwertz_comma_dead
178 // 102 key qwertz layout
179 // with decimal comma on keypad
180 // and with dead key support
182 xkb_symbols "102_qwertz_comma_dead" {
183 name[Group1] = "Hungarian";
185 include "hu(def_102)"
186 include "hu(def_qwertz)"
187 include "hu(def_comma)"
188 include "hu(def_dead)"
189 include "hu(def_common)"
190 include "level3(ralt_switch)"
193 // 102_qwertz_comma_nodead
194 // 102 key qwertz layout
195 // with decimal comma on keypad
196 // and without dead key support
198 xkb_symbols "102_qwertz_comma_nodead" {
199 name[Group1] = "Hungarian";
201 include "hu(def_102)"
202 include "hu(def_qwertz)"
203 include "hu(def_comma)"
204 include "hu(def_nodead)"
205 include "hu(def_common)"
206 include "level3(ralt_switch)"
209 // 102_qwertz_dot_dead
210 // 102 key qwertz layout
211 // with decimal dot on keypad
212 // and with dead key support
214 xkb_symbols "102_qwertz_dot_dead" {
215 name[Group1] = "Hungarian";
217 include "hu(def_102)"
218 include "hu(def_qwertz)"
219 include "hu(def_dot)"
220 include "hu(def_dead)"
221 include "hu(def_common)"
222 include "level3(ralt_switch)"
225 // 102_qwertz_dot_nodead
226 // 102 key qwertz layout
227 // with decimal dot on keypad
228 // and without dead key support
230 xkb_symbols "102_qwertz_dot_nodead" {
231 name[Group1] = "Hungarian";
233 include "hu(def_102)"
234 include "hu(def_qwertz)"
235 include "hu(def_dot)"
236 include "hu(def_nodead)"
237 include "hu(def_common)"
238 include "level3(ralt_switch)"
241 // 102_qwerty_comma_dead
242 // 102 key qwerty layout
243 // with decimal comma on keypad
244 // and with dead key support
246 xkb_symbols "102_qwerty_comma_dead" {
247 name[Group1] = "Hungarian";
249 include "hu(def_102)"
250 include "hu(def_qwerty)"
251 include "hu(def_comma)"
252 include "hu(def_dead)"
253 include "hu(def_common)"
254 include "level3(ralt_switch)"
257 // 102_qwerty_comma_nodead
258 // 102 key qwerty layout
259 // with decimal comma on keypad
260 // and without dead key support
262 xkb_symbols "102_qwerty_comma_nodead" {
263 name[Group1] = "Hungarian";
265 include "hu(def_102)"
266 include "hu(def_qwerty)"
267 include "hu(def_comma)"
268 include "hu(def_nodead)"
269 include "hu(def_common)"
270 include "level3(ralt_switch)"
273 // 102_qwerty_dot_dead
274 // 102 key qwerty layout
275 // with decimal dot on keypad
276 // and with dead key support
278 xkb_symbols "102_qwerty_dot_dead" {
279 name[Group1] = "Hungarian";
281 include "hu(def_102)"
282 include "hu(def_qwerty)"
283 include "hu(def_dot)"
284 include "hu(def_dead)"
285 include "hu(def_common)"
286 include "level3(ralt_switch)"
289 // 102_qwerty_dot_nodead
290 // 102 key qwerty layout
291 // with decimal dot on keypad
292 // and without dead key support
294 xkb_symbols "102_qwerty_dot_nodead" {
295 name[Group1] = "Hungarian";
297 include "hu(def_102)"
298 include "hu(def_qwerty)"
299 include "hu(def_dot)"
300 include "hu(def_nodead)"
301 include "hu(def_common)"
302 include "level3(ralt_switch)"
308 // The standard Hungarian 102 key layout
309 hidden partial alphanumeric_keys
310 xkb_symbols "def_102" {
311 key <TLDE> { [ 0, section, notsign ] };
312 key <LSGT> { [ iacute, Iacute, less, greater ] };
317 // An alternative layout for 101 key keyboards
318 hidden partial alphanumeric_keys
319 xkb_symbols "def_101" {
320 key <TLDE> { [ iacute, Iacute, 0, section ] };
321 key <LSGT> { [ less, greater ] };
325 // The standard Hungaryan qwertz layout
326 hidden partial alphanumeric_keys
327 xkb_symbols "def_qwertz" {
328 key <AD06> { [ z, Z ] };
329 key <AB01> { [ y, Y, greater ] };
334 // The qwerty layout for people who familiar with the standard US layout
335 hidden partial alphanumeric_keys
336 xkb_symbols "def_qwerty" {
337 key <AD06> { [ y, Y ] };
338 key <AB01> { [ z, Z, greater ] };
342 // The Hungarian standard is the comma on the keypad not decimal dot,
343 // but programmers hate it
344 hidden partial keypad_keys
345 xkb_symbols "def_dot" {
346 key <KPDL> { [ KP_Delete, KP_Decimal ] };
351 // Dead keys support part
352 hidden partial alphanumeric_keys
353 xkb_symbols "def_dead" {
354 key <AE01> { [ 1, apostrophe, asciitilde, dead_tilde ] };
355 key <AE02> { [ 2, quotedbl, dead_caron, caron ] };
356 key <AE03> { [ 3, plus, asciicircum, dead_circumflex ] };
357 key <AE04> { [ 4, exclam, dead_breve, breve ] };
358 key <AE05> { [ 5, percent, dead_abovering, degree ] };
359 key <AE06> { [ 6, slash, dead_ogonek, ogonek ] };
360 key <AE07> { [ 7, equal, grave, dead_grave ] };
361 key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] };
362 key <AE09> { [ 9, parenright, dead_acute, acute ] };
363 key <AE10> { [ odiaeresis, Odiaeresis, dead_doubleacute, doubleacute ] };
364 key <AE11> { [ udiaeresis, Udiaeresis, dead_diaeresis, diaeresis ] };
365 key <AE12> { [ oacute, Oacute, dead_cedilla, cedilla ] };
369 // Without dead keys support
370 hidden partial alphanumeric_keys
371 xkb_symbols "def_nodead" {
372 key <AE01> { [ 1, apostrophe, asciitilde ] };
373 key <AE02> { [ 2, quotedbl, caron ] };
374 key <AE03> { [ 3, plus, asciicircum ] };
375 key <AE04> { [ 4, exclam, breve ] };
376 key <AE05> { [ 5, percent, degree ] };
377 key <AE06> { [ 6, slash, ogonek ] };
378 key <AE07> { [ 7, equal, grave ] };
379 key <AE08> { [ 8, parenleft, abovedot ] };
380 key <AE09> { [ 9, parenright, acute ] };
381 key <AE10> { [ odiaeresis, Odiaeresis, doubleacute ] };
382 key <AE11> { [ udiaeresis, Udiaeresis, diaeresis ] };
383 key <AE12> { [ oacute, Oacute, cedilla ] };
388 // The common part of all Hungarian layout above
389 hidden partial alphanumeric_keys
390 xkb_symbols "def_common" {
391 key <AD01> { [ q, Q, backslash ] };
392 key <AD02> { [ w, W, bar ] };
393 key <AD07> { [ u, U, EuroSign ] };
394 key <AD08> { [ i, I, Iacute, iacute ] };
395 key <AD11> { [ odoubleacute, Odoubleacute, division ] };
396 key <AD12> { [ uacute, Uacute, multiply ] };
398 key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
399 key <AC02> { [ s, S, dstroke ] };
400 key <AC03> { [ d, D, Dstroke ] };
401 key <AC04> { [ f, F, bracketleft ] };
402 key <AC05> { [ g, G, bracketright ] };
403 key <AC07> { [ j, J, iacute, Iacute ] };
404 key <AC08> { [ k, K, lstroke ] };
405 key <AC09> { [ l, L, Lstroke ] };
406 key <AC10> { [ eacute, Eacute, dollar, cent ] };
407 key <AC11> { [ aacute, Aacute, ssharp ] };
409 key <BKSL> { [ udoubleacute, Udoubleacute, currency ] };
411 key <AB02> { [ x, X, numbersign ] };
412 key <AB03> { [ c, C, ampersand ] };
413 key <AB04> { [ v, V, at ] };
414 key <AB05> { [ b, B, braceleft ] };
415 key <AB06> { [ n, N, braceright ] };
416 key <AB07> { [ m, M, less ] };
417 key <AB08> { [ comma, question, semicolon ] };
418 key <AB09> { [ period, colon, greater ] };
419 key <AB10> { [ minus, underscore, asterisk ] };