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