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