Home | History | Annotate | Line # | Download | only in symbols
      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