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