Home | History | Annotate | Line # | Download | only in symbols
hu revision 1.1.1.3
      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 Sos Pter <sp (a] osb.hu>
      7 // (C) 2010 Andras Timar <timar (a] 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
     29 default partial
     30 xkb_symbols "basic" {
     31     include "hu(102_qwertz_comma_dead)"
     32     name[Group1] = "Hungary";
     33 };
     34 
     35 // Standard layout
     36 partial
     37 xkb_symbols "standard" {
     38     include "hu(102_qwertz_comma_dead)"
     39     name[Group1] = "Hungary - Standard";
     40 };
     41 
     42 // Standard layout without dead key support
     43 partial
     44 xkb_symbols "nodeadkeys" {
     45     include "hu(102_qwertz_comma_nodead)"
     46     name[Group1] = "Hungary - Eliminate dead keys";
     47 };
     48 
     49 // Qwerty layout
     50 partial
     51 xkb_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
     62 partial
     63 xkb_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
     78 partial
     79 xkb_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
     94 partial
     95 xkb_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
    110 partial
    111 xkb_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
    126 partial
    127 xkb_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
    142 partial
    143 xkb_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
    158 partial
    159 xkb_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
    174 partial
    175 xkb_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
    190 partial
    191 xkb_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
    206 partial
    207 xkb_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
    222 partial
    223 xkb_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
    238 partial
    239 xkb_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
    254 partial
    255 xkb_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
    270 partial
    271 xkb_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
    286 partial
    287 xkb_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
    302 partial
    303 xkb_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
    318 hidden partial alphanumeric_keys
    319 xkb_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
    327 hidden partial alphanumeric_keys
    328 xkb_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
    335 hidden partial alphanumeric_keys
    336 xkb_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
    344 hidden partial alphanumeric_keys
    345 xkb_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 	 
    353 hidden partial keypad_keys 	 
    354 xkb_symbols "def_dot" { 	 
    355     key <KPDL>  { [    KP_Delete,   KP_Decimal                                     ] }; 	 
    356 }; 	 
    357  
    358 
    359 // def_dead:
    360 // Dead keys support part
    361 hidden partial alphanumeric_keys
    362 xkb_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
    379 hidden partial alphanumeric_keys
    380 xkb_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
    398 hidden partial alphanumeric_keys
    399 xkb_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