1 // New style XKB layout for some widely used Hungarian keyboard layouts 2 // 3 // Based on old style 'xkb/symbols/hu" 4 // 5 // (C) 2002-2004 Sos Pter <sp (a] osb.hu> 6 // (C) 2010 Andras Timar <timar (a] fsf.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 // 2010-04-23 - Added doublelowquotemark 22 // - Added rightdoublequotemark 23 // - Added endash 24 // 2010-05-13 - Added ellipsis 25 26 27 // Default layout 28 default partial 29 xkb_symbols "basic" { 30 include "hu(102_qwertz_comma_dead)" 31 name[Group1] = "Hungarian"; 32 }; 33 34 // Standard layout 35 partial 36 xkb_symbols "standard" { 37 include "hu(102_qwertz_comma_dead)" 38 name[Group1] = "Hungarian (standard)"; 39 }; 40 41 // Standard layout without dead key support 42 partial 43 xkb_symbols "nodeadkeys" { 44 include "hu(102_qwertz_comma_nodead)" 45 name[Group1] = "Hungarian (no dead keys)"; 46 }; 47 48 // Qwerty layout 49 partial 50 xkb_symbols "qwerty" { 51 include "hu(101_qwerty_comma_dead)" 52 name[Group1] = "Hungarian (QWERTY)"; 53 }; 54 55 // Main layouts 56 57 // 101_qwertz_comma_dead 58 // 101 key qwertz layout 59 // with decimal comma on keypad 60 // and with dead key support 61 partial 62 xkb_symbols "101_qwertz_comma_dead" { 63 name[Group1] = "Hungarian (QWERTZ, 101-key, comma, dead keys)"; 64 include "latin" 65 include "hu(def_101)" 66 include "hu(def_qwertz)" 67 include "kpdl(comma)" 68 include "hu(def_dead)" 69 include "hu(def_common)" 70 include "level3(ralt_switch)" 71 }; 72 73 // 101_qwertz_comma_nodead 74 // 101 key qwertz layout 75 // with decimal comma on keypad 76 // and without dead key support 77 partial 78 xkb_symbols "101_qwertz_comma_nodead" { 79 name[Group1] = "Hungarian (QWERTZ, 101-key, comma, no dead keys)"; 80 include "latin" 81 include "hu(def_101)" 82 include "hu(def_qwertz)" 83 include "kpdl(comma)" 84 include "hu(def_nodead)" 85 include "hu(def_common)" 86 include "level3(ralt_switch)" 87 }; 88 89 // 101_qwertz_dot_dead 90 // 101 key qwertz layout 91 // with decimal dot on keypad 92 // and with dead key support 93 partial 94 xkb_symbols "101_qwertz_dot_dead" { 95 name[Group1] = "Hungarian (QWERTZ, 101-key, dot, dead keys)"; 96 include "latin" 97 include "hu(def_101)" 98 include "hu(def_qwertz)" 99 include "hu(def_dot)" 100 include "hu(def_dead)" 101 include "hu(def_common)" 102 include "level3(ralt_switch)" 103 }; 104 105 // 101_qwertz_dot_nodead 106 // 101 key qwertz layout 107 // with decimal dot on keypad 108 // and without dead key support 109 partial 110 xkb_symbols "101_qwertz_dot_nodead" { 111 name[Group1] = "Hungarian (QWERTZ, 101-key, dot, no dead keys)"; 112 include "latin" 113 include "hu(def_101)" 114 include "hu(def_qwertz)" 115 include "hu(def_dot)" 116 include "hu(def_nodead)" 117 include "hu(def_common)" 118 include "level3(ralt_switch)" 119 }; 120 121 // 101_qwerty_comma_dead 122 // 101 key qwerty layout 123 // with decimal comma on keypad 124 // and with dead key support 125 partial 126 xkb_symbols "101_qwerty_comma_dead" { 127 name[Group1] = "Hungarian (QWERTY, 101-key, comma, dead keys)"; 128 include "latin" 129 include "hu(def_101)" 130 include "hu(def_qwerty)" 131 include "kpdl(comma)" 132 include "hu(def_dead)" 133 include "hu(def_common)" 134 include "level3(ralt_switch)" 135 }; 136 137 // 101_qwerty_comma_nodead 138 // 101 key qwerty layout 139 // with decimal comma on keypad 140 // and without dead key support 141 partial 142 xkb_symbols "101_qwerty_comma_nodead" { 143 name[Group1] = "Hungarian (QWERTY, 101-key, comma, no dead keys)"; 144 include "latin" 145 include "hu(def_101)" 146 include "hu(def_qwerty)" 147 include "kpdl(comma)" 148 include "hu(def_nodead)" 149 include "hu(def_common)" 150 include "level3(ralt_switch)" 151 }; 152 153 // 101_qwerty_dot_dead 154 // 101 key qwerty layout 155 // with decimal dot on keypad 156 // and with dead key support 157 partial 158 xkb_symbols "101_qwerty_dot_dead" { 159 name[Group1] = "Hungarian (QWERTY, 101-key, dot, dead keys)"; 160 include "latin" 161 include "hu(def_101)" 162 include "hu(def_qwerty)" 163 include "hu(def_dot)" 164 include "hu(def_dead)" 165 include "hu(def_common)" 166 include "level3(ralt_switch)" 167 }; 168 169 // 101_qwerty_dot_nodead 170 // 101 key qwerty layout 171 // with decimal dot on keypad 172 // and without dead key support 173 partial 174 xkb_symbols "101_qwerty_dot_nodead" { 175 name[Group1] = "Hungarian (QWERTY, 101-key, dot, no dead keys)"; 176 include "latin" 177 include "hu(def_101)" 178 include "hu(def_qwerty)" 179 include "hu(def_dot)" 180 include "hu(def_nodead)" 181 include "hu(def_common)" 182 include "level3(ralt_switch)" 183 }; 184 185 // 102_qwertz_comma_dead 186 // 102 key qwertz layout 187 // with decimal comma on keypad 188 // and with dead key support 189 partial 190 xkb_symbols "102_qwertz_comma_dead" { 191 name[Group1] = "Hungarian (QWERTZ, 102-key, comma, dead keys)"; 192 include "latin" 193 include "hu(def_102)" 194 include "hu(def_qwertz)" 195 include "kpdl(comma)" 196 include "hu(def_dead)" 197 include "hu(def_common)" 198 include "level3(ralt_switch)" 199 }; 200 201 // 102_qwertz_comma_nodead 202 // 102 key qwertz layout 203 // with decimal comma on keypad 204 // and without dead key support 205 partial 206 xkb_symbols "102_qwertz_comma_nodead" { 207 name[Group1] = "Hungarian (QWERTZ, 102-key, comma, no dead keys)"; 208 include "latin" 209 include "hu(def_102)" 210 include "hu(def_qwertz)" 211 include "kpdl(comma)" 212 include "hu(def_nodead)" 213 include "hu(def_common)" 214 include "level3(ralt_switch)" 215 }; 216 217 // 102_qwertz_dot_dead 218 // 102 key qwertz layout 219 // with decimal dot on keypad 220 // and with dead key support 221 partial 222 xkb_symbols "102_qwertz_dot_dead" { 223 name[Group1] = "Hungarian (QWERTZ, 102-key, dot, dead keys)"; 224 include "latin" 225 include "hu(def_102)" 226 include "hu(def_qwertz)" 227 include "hu(def_dot)" 228 include "hu(def_dead)" 229 include "hu(def_common)" 230 include "level3(ralt_switch)" 231 }; 232 233 // 102_qwertz_dot_nodead 234 // 102 key qwertz layout 235 // with decimal dot on keypad 236 // and without dead key support 237 partial 238 xkb_symbols "102_qwertz_dot_nodead" { 239 name[Group1] = "Hungarian (QWERTZ, 102-key, dot, no dead keys)"; 240 include "latin" 241 include "hu(def_102)" 242 include "hu(def_qwertz)" 243 include "hu(def_dot)" 244 include "hu(def_nodead)" 245 include "hu(def_common)" 246 include "level3(ralt_switch)" 247 }; 248 249 // 102_qwerty_comma_dead 250 // 102 key qwerty layout 251 // with decimal comma on keypad 252 // and with dead key support 253 partial 254 xkb_symbols "102_qwerty_comma_dead" { 255 name[Group1] = "Hungarian (QWERTY, 102-key, comma, dead keys)"; 256 include "latin" 257 include "hu(def_102)" 258 include "hu(def_qwerty)" 259 include "kpdl(comma)" 260 include "hu(def_dead)" 261 include "hu(def_common)" 262 include "level3(ralt_switch)" 263 }; 264 265 // 102_qwerty_comma_nodead 266 // 102 key qwerty layout 267 // with decimal comma on keypad 268 // and without dead key support 269 partial 270 xkb_symbols "102_qwerty_comma_nodead" { 271 name[Group1] = "Hungarian (QWERTY, 102-key, comma, no dead keys)"; 272 include "latin" 273 include "hu(def_102)" 274 include "hu(def_qwerty)" 275 include "kpdl(comma)" 276 include "hu(def_nodead)" 277 include "hu(def_common)" 278 include "level3(ralt_switch)" 279 }; 280 281 // 102_qwerty_dot_dead 282 // 102 key qwerty layout 283 // with decimal dot on keypad 284 // and with dead key support 285 partial 286 xkb_symbols "102_qwerty_dot_dead" { 287 name[Group1] = "Hungarian (QWERTY, 102-key, dot, dead keys)"; 288 include "latin" 289 include "hu(def_102)" 290 include "hu(def_qwerty)" 291 include "hu(def_dot)" 292 include "hu(def_dead)" 293 include "hu(def_common)" 294 include "level3(ralt_switch)" 295 }; 296 297 // 102_qwerty_dot_nodead 298 // 102 key qwerty layout 299 // with decimal dot on keypad 300 // and without dead key support 301 partial 302 xkb_symbols "102_qwerty_dot_nodead" { 303 name[Group1] = "Hungarian (QWERTY, 102-key, dot, no dead keys)"; 304 include "latin" 305 include "hu(def_102)" 306 include "hu(def_qwerty)" 307 include "hu(def_dot)" 308 include "hu(def_nodead)" 309 include "hu(def_common)" 310 include "level3(ralt_switch)" 311 }; 312 313 // Partial layouts 314 315 // def_102: 316 // The standard Hungarian 102 key layout 317 hidden partial alphanumeric_keys 318 xkb_symbols "def_102" { 319 key <TLDE> { [ 0, section, notsign ] }; 320 key <LSGT> { [ iacute, Iacute, less, greater ] }; 321 322 }; 323 324 // def_101: 325 // An alternative layout for 101 key keyboards 326 hidden partial alphanumeric_keys 327 xkb_symbols "def_101" { 328 key <TLDE> { [ iacute, Iacute, 0, section ] }; 329 key <LSGT> { [ less, greater ] }; 330 }; 331 332 // def_qwertz: 333 // The standard Hungaryan qwertz layout 334 hidden partial alphanumeric_keys 335 xkb_symbols "def_qwertz" { 336 key <AD06> { [ z, Z, endash ] }; 337 key <AB01> { [ y, Y, greater ] }; 338 }; 339 340 341 // def_qwerty: 342 // The qwerty layout for people who familiar with the standard US layout 343 hidden partial alphanumeric_keys 344 xkb_symbols "def_qwerty" { 345 key <AD06> { [ y, Y, endash ] }; 346 key <AB01> { [ z, Z, greater ] }; 347 }; 348 349 // def_dot: 350 // The Hungarian standard is the comma on the keypad not decimal dot, 351 // but programmers hate it 352 hidden partial keypad_keys 353 xkb_symbols "def_dot" { 354 key <KPDL> { [ KP_Delete, KP_Decimal ] }; 355 }; 356 357 358 // def_dead: 359 // Dead keys support part 360 hidden partial alphanumeric_keys 361 xkb_symbols "def_dead" { 362 key <AE01> { [ 1, apostrophe, asciitilde, dead_tilde ] }; 363 key <AE02> { [ 2, quotedbl, dead_caron, caron ] }; 364 key <AE03> { [ 3, plus, asciicircum, dead_circumflex ] }; 365 key <AE04> { [ 4, exclam, dead_breve, breve ] }; 366 key <AE05> { [ 5, percent, dead_abovering, degree ] }; 367 key <AE06> { [ 6, slash, dead_ogonek, ogonek ] }; 368 key <AE07> { [ 7, equal, grave, dead_grave ] }; 369 key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] }; 370 key <AE09> { [ 9, parenright, dead_acute, acute ] }; 371 key <AE10> { [ odiaeresis, Odiaeresis, dead_doubleacute, doubleacute ] }; 372 key <AE11> { [ udiaeresis, Udiaeresis, dead_diaeresis, diaeresis ] }; 373 key <AE12> { [ oacute, Oacute, dead_cedilla, cedilla ] }; 374 }; 375 376 // def_nodead: 377 // Without dead keys support 378 hidden partial alphanumeric_keys 379 xkb_symbols "def_nodead" { 380 key <AE01> { [ 1, apostrophe, asciitilde ] }; 381 key <AE02> { [ 2, quotedbl, caron ] }; 382 key <AE03> { [ 3, plus, asciicircum ] }; 383 key <AE04> { [ 4, exclam, breve ] }; 384 key <AE05> { [ 5, percent, degree ] }; 385 key <AE06> { [ 6, slash, ogonek ] }; 386 key <AE07> { [ 7, equal, grave ] }; 387 key <AE08> { [ 8, parenleft, abovedot ] }; 388 key <AE09> { [ 9, parenright, acute ] }; 389 key <AE10> { [ odiaeresis, Odiaeresis, doubleacute ] }; 390 key <AE11> { [ udiaeresis, Udiaeresis, diaeresis ] }; 391 key <AE12> { [ oacute, Oacute, cedilla ] }; 392 }; 393 394 395 // def_common: 396 // The common part of all Hungarian layout above 397 hidden partial alphanumeric_keys 398 xkb_symbols "def_common" { 399 key <AD01> { [ q, Q, backslash ] }; 400 key <AD02> { [ w, W, bar ] }; 401 key <AD03> { [ e, E, Adiaeresis ] }; 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, U1E9E ] }; 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, greater ] }; 430 key <AB10> { [ minus, underscore, asterisk ] }; 431 432 }; 433 434 // EXTRAS: 435 436 // New style XKB layout used Old Hungarian keyboard layouts 437 // 438 // 439 // 440 // (C) 2013 Andras Tisza 441 // (C) 2017,2018,2020 Viktor Kovacs <kov.h.vik (a] gmail.com> 442 // 443 // Permission is granted to anyone to use, distribute and modify 444 // this file in any way, provided that the above copyright notice 445 // is left intact and the author of the modification summarizes 446 // the changes in this header. 447 // 448 // This file is distributed without any expressed or implied warranty. 449 // 450 // Changes: 451 // 2013 - Planned Old Hungarian layout 452 // 2017 - Added Old Hungarian layout 453 // 2018 - Resolved several easy-to-use issue, added extra punctuation and quotation marks 454 // 2020 - Added ligature capable layout ( with Zero-widt-joiner), added copyright, copyleft symbols 455 // 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). 456 // Added "oldhun_magic_numpad" for both "Old Hungarian" layouts, as a specialised numpad. 457 458 // Old Hungartian layout 459 partial alphanumeric_keys 460 xkb_symbols "oldhun" { 461 name[Group1]="Old Hungarian"; 462 include "hu(oldhun_base)" 463 include "hu(oldhun_origin)" 464 include "hu(oldhun_magic_numpad)" 465 include "level3(ralt_switch)" 466 }; 467 468 // Old Hungarian layout for ligatures 469 partial alphanumeric_keys 470 xkb_symbols "oldhunlig" { 471 name[Group1]="Old Hungarian (for ligatures)"; 472 include "hu(oldhun_base)" 473 include "hu(oldhun_lig)" 474 include "hu(oldhun_magic_numpad)" 475 include "level3(ralt_switch)" 476 }; 477 478 // The base Old Hungarian keys 479 // In the remarks you can read characters displayed only Unicode point 480 hidden partial alphanumeric_keys 481 xkb_symbols "oldhun_base" { 482 key.type[Group1]="FOUR_LEVEL_ALPHABETIC"; 483 key <AD01> {[ U10CCE, U10C8E, backslash ]}; 484 //Old-Hungarian gy, Gy 485 key <AD02> {[ U10CF0, U10CB0 ]}; 486 //Old Hungarian zs, Zs 487 key <AD03> {[ U10CC9, U10C89, U10CCA, U10C8A ]}; 488 //Old Hungarian e, E, close e, close E 489 key <AD04> {[ U10CE2, U10CA2, U10CE3, U10CA3 ]}; 490 //Old Hungarian r, R, short r, short R 491 key <AD05> {[ U10CE6, U10CA6, U10CF1, U10CB1 ]}; 492 //Old Hungarian t, T, ent-sharped sign,Ent-sharped sign 493 key <AD06> {[ U10CEF, U10CAF ]}; 494 //Old Hungarian z, Z 495 key <AD07> {[ U10CEA, U10CAA, U10CF2, U10CB2 ]}; 496 //Old Hungarian u, U, Old Hungarian us, Us 497 key <AD08> {[ U10CD0, U10C90, U10CD1, U10C91 ]}; 498 //Old Hungarian i, I, ii, II 499 key <AD09> {[ U10CDB, U10C9B ]}; 500 //Old Hungarian o, O 501 key <AD10> {[ U10CE0, U10CA0 ]}; 502 //Old Hungarian p, P 503 key <AD11> {[ U10CDF, U10C9F ]}; 504 //Old Hungarian oee, Oee 505 key <AD12> {[ U10CEB, U10CAB, U10CD5, U10C95 ]}; 506 //Old Hungarian uu,Uu,unk,Unk 507 key <AC01> {[ U10CC0, U10C80, U10CC3, U10C83 ]}; 508 //Old Hungarian a,A,amb,Amb 509 key <AC02> {[ U10CE4, U10CA4, U10CE1, U10CA1 ]}; 510 //Old Hungarian s,S,emp,Emp 511 key <AC03> {[ U10CC7, U10C87, U10CE7, U10CA7 ]}; 512 //Old Hungarian d,D, ent/ant/int, Ent/Ant/Int 513 key <AC04> {[ U10CCC, U10C8C, bracketleft ]}; 514 //Old Hungarian f,F 515 key <AC05> {[ U10CCD, U10C8D, bracketright ]}; 516 //Old Hungarian g, G 517 key <AC06> {[ U10CCF, U10C8F, U10CE9, U10CA9 ]}; 518 //Old Hungarian h, H,ech, Ech 519 key <AC07> {[ U10CD2, U10C92, backslash ]}; 520 //Old Hungarian j, J 521 key <AC08> {[ U10CD3, U10C93, U10CD4, U10C94 ]}; 522 //Old Hungarian open k, open K, close k, close K 523 key <AC09> {[ U10CD6, U10C96 ]}; 524 //Old Hungarian l, L 525 key <AC10> {[ U10CCB, U10C8B ]}; 526 //Old Hungarian ee, EE 527 key <AC11> {[ U10CC1, U10C81, U10CC8, U10C88 ]}; 528 //Old Hungarian aa, AA, and And 529 key <BKSL> {[ U10CEC, U10CAC ]}; 530 //Old Hungarian ue, Ue 531 key <AB01> {[ U10CD7, U10C97, greater ]}; 532 //Old Hungarian ly, Ly 533 key <AB02> {[ U10CE5, U10CA5, numbersign ]}; 534 //Old Hungarian sz, Sz 535 key <AB03> {[ U10CC4, U10C84, U10CC5, U10C85 ]}; 536 //Old Hungarian c,C, enc, Enc 537 key <AB04> {[ U10CEE, U10CAE, at ]}; 538 //Old Hungarian v,V 539 key <AB05> {[ U10CC2, U10C82, braceleft ]}; 540 //Old Hungarian b, B 541 key <AB06> {[ U10CD9, U10C99, braceright ]}; 542 //Old Hungarian n, N 543 key <AB07> {[ U10CD8, U10C98, less ]}; 544 //Old Hungarian m, M 545 key <AB08> {[ U2E41, U2E2E, U204F ]}; 546 //reversed question mark,reversed semicolon, reversed comma 547 key <AB09> {[ period, colon, greater ]}; 548 key <AB10> {[ minus, underscore, asterisk ]}; 549 key <LSGT> {[ U10CD1, U10C91, less ]}; 550 //Old Hungarian ii,II 551 }; 552 553 //Old Hungarian layout specialised keys 554 // In the remarks you can read characters displayed only Unicode point 555 hidden partial alphanumeric_keys 556 xkb_symbols "oldhun_origin" { 557 key.type[Group1]="FOUR_LEVEL_ALPHABETIC"; 558 key <TLDE> {[ section, U200F, U200E, 0 ]}; 559 //Right to left mark, left to right mark 560 key <AE01> {[ U10CFA, apostrophe, U2E42, 1 ]}; 561 //Old Hungarian one, reversed 9 double low quotemark 562 key <AE02> {[ U10CFB, quotedbl, U201F, 2 ]}; 563 //Old Hungarian five, reversed 9 double upper quotemark 564 key <AE03> {[ U10CFC, plus, minus, 3 ]}; 565 //Old Hungarian ten 566 key <AE04> {[ U10CFD, exclam, U203C, 4 ]}; 567 //Old Hungarian fifty,double exclam 568 key <AE05> {[ U10CFE, percent, U2026, 5 ]}; 569 //Old Hungarian hundred, triple dot 570 key <AE06> {[ U10CFF, slash, backslash, 6 ]}; 571 //Old Hungarian thousand 572 key <AE07> {[ U10CC6, U10C86, equal, 7 ]}; 573 //Old Hungarian cs, Cs 574 key <AE08> {[ U10CDA, U10C9A, parenleft, 8 ]}; 575 //Old Hungarian ny, Ny 576 key <AE09> {[ U10CE8, U10CA8, parenright, 9 ]}; 577 //Old Hungarian ty, Ty 578 key <AE10> {[ U10CDE, U10C9E, U10CDD, U10C9D ]}; 579 //Old Hungarian Rudimenta oe, Oe, Nikolsburg oe, Oe 580 key <AE11> {[ U10CED, U10CAD, section ]}; 581 //Old Hungarian ue , Ue 582 key <AE12> {[ U10CDC, U10C9C, copyright, U1F12F ]}; 583 //Old Hungarian oo, OO, copyleft 584 }; 585 586 //Special section for "Old Hungarian (for ligatures)" layout 587 // In the remarks you can read characters displayed only Unicode point 588 hidden partial alphanumeric_keys 589 xkb_symbols "oldhun_lig" { 590 key.type[Group1]="FOUR_LEVEL_ALPHABETIC"; 591 key <TLDE> {[ U200D, U200F, U200C, 0 ]}; 592 //Zero-width-joiner,Right to left mark, Zero-width-non-joiner 593 //Zero-width-joiner and Zero-width-non-joiner are reqired for ligatures 594 key <AE01> {[ U10CFA, apostrophe, U2E42, 1 ]}; 595 //Old Hungarian one, reversed 9 double low quotemark 596 key <AE02> {[ U10CFB, quotedbl, U201F, 2 ]}; 597 //Old Hungarian five, reversed 9 double upper quotemark 598 key <AE03> {[ U10CFC, plus, minus, 3 ]}; 599 //Old Hungarian ten 600 key <AE04> {[ U10CFD, exclam, U203C, 4 ]}; 601 //Old Hungarian fifty,double exclam 602 key <AE05> {[ U10CFE, percent, U2026, 5 ]}; 603 //Old Hungarian hundred, triple dot 604 key <AE06> {[ U10CFF, slash, backslash, 6 ]}; 605 //Old Hungarian thousand 606 key <AE07> {[ U10CC6, U10C86, equal, 7 ]}; 607 //Old Hungarian cs, Cs 608 key <AE08> {[ U10CDA, U10C9A, parenleft, 8 ]}; 609 //Old Hungarian ny, Ny 610 key <AE09> {[ U10CE8, U10CA8, parenright, 9 ]}; 611 //Old Hungarian ty, Ty 612 key <AE10> {[ U10CDE, U10C9E, U10CDD, U10C9D ]}; 613 //Old Hungarian Rudimenta oe, Oe, Nikolsburg oe, Oe 614 key <AE11> {[ U10CED, U10CAD, section ]}; 615 //Old Hungarian ue , Ue 616 key <AE12> {[ U10CDC, U10C9C, copyright, U1F12F ]}; 617 //Old Hungarian oo, OO, copyleft 618 }; 619 620 //Numpad for Old Hungarian layouts 621 // In the remarks you can read characters displayed only Unicode point 622 hidden partial keypad_keys 623 xkb_symbols "oldhun_magic_numpad" { 624 key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD"; 625 key <NMLK> {[ Num_Lock, Num_Lock, Num_Lock, Num_Lock ]}; 626 key <KP0> {[ KP_Insert, KP_0, U200C, U200C ]}; 627 //Zero-width-non-joiner 628 key <KP7> {[ KP_Home, KP_7, U10CFA, U10CFA ]}; 629 //Old Hungarian number one 630 key <KP8> {[ KP_Up, KP_8, U10CFB, U10CFB ]}; 631 //Old Hungarian number five 632 key <KP9> {[ KP_Prior, KP_9, U10CFC, U10CFC ]}; 633 //Old Hungarian number ten 634 key <KP4> {[ KP_Left, KP_4, U10CFD, U10CFD ]}; 635 //Old Hungarian number fifty 636 key <KP5> {[ KP_Begin, KP_5, U10CFE, U10CFE ]}; 637 //Old Hungarian number hundred 638 key <KP6> {[ KP_Right, KP_6, U10CFF, U10CFF ]}; 639 //Old Hungarian number thousand 640 key <KP1> {[ KP_End, KP_1, U200F, U200F ]}; 641 //Right-to-left mark 642 key <KP2> {[ KP_Down, KP_2, U200D, U200D ]}; 643 //Zero-width-joiner 644 key <KP3> {[ KP_Next, KP_3, U200E, U200E ]}; 645 //Left-to-right mark 646 key <KPEN> {[ KP_Enter, KP_Enter, KP_Enter, KP_Enter ]}; 647 key <KPEQ> {[ KP_Equal, KP_Equal, KP_Equal, KP_Equal ]}; 648 key <KPDL> {[ KP_Delete, KP_Separator, KP_Delete, KP_Separator ]}; 649 key <KPPT> {[ KP_Separator, KP_Separator, KP_Separator, KP_Separator ]}; 650 key <KPDV> {[ KP_Divide, KP_Divide, KP_Divide, KP_Divide ]}; 651 key <KPMU> {[ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply ]}; 652 key <KPSU> {[ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract ]}; 653 key <KPAD> {[ KP_Add, KP_Add, KP_Add, KP_Add ]}; 654 }; 655