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