home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / X11 / xkb / symbols / hu < prev    next >
Text File  |  2006-11-29  |  14KB  |  426 lines

  1. // New style XKB layout for some widely used Hungarian keyboard layouts
  2. //
  3. // Based on old style 'xkb/symbols/hu"
  4. //
  5. // $XKeyboardConfig: xkbdesc/symbols/hu,v 1.8 2005/12/21 00:40:06 svu Exp $
  6. // (C) 2002-2004 So≤s PΘter <sp@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 "keypad(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 "keypad(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 "keypad(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 "keypad(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 "keypad(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 "keypad(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 "keypad(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 "keypad(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.