home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / X11 / xkb / symbols / keypad < prev    next >
Encoding:
Text File  |  2009-03-31  |  21.4 KB  |  581 lines

  1. // $XKeyboardConfig$
  2. // $Xorg: keypad,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
  3.  
  4. partial hidden keypad_keys
  5. xkb_symbols "overlay" {
  6.     include "keypad(overlay1)"
  7. };
  8.  
  9. partial hidden keypad_keys
  10. xkb_symbols "overlay1" {
  11.  
  12.     // Begin "Keypad" section
  13.  
  14.     key  <KP7> {    [  KP_Home    ],    overlay1=<KO7>    };
  15.     key  <KP8> {    [  KP_Up    ],    overlay1=<KO8>    };
  16.     key  <KP9> {    [  KP_Prior    ],    overlay1=<KO9>    };
  17.  
  18.     key  <KP4> {    [  KP_Left    ],    overlay1=<KO4>    };
  19.     key  <KP5> {    [  KP_Begin    ],    overlay1=<KO5>    };
  20.     key  <KP6> {    [  KP_Right    ],    overlay1=<KO6>    };
  21.  
  22.     key  <KP1> {    [  KP_End    ],    overlay1=<KO1>    };
  23.     key  <KP2> {    [  KP_Down    ],    overlay1=<KO2>    };
  24.     key  <KP3> {    [  KP_Next    ],    overlay1=<KO3>    };
  25.  
  26.     key  <KP0> {    [  KP_Insert    ],    overlay1=<KO0>    };
  27.     key <KPDL> {      [  KP_Delete    ],    overlay1=<KODL>    };
  28.  
  29.     key  <KO7> {    [  KP_7    ]    };
  30.     key  <KO8> {    [  KP_8    ]    };
  31.     key  <KO9> {    [  KP_9    ]    };
  32.  
  33.     key  <KO4> {    [  KP_4    ]    };
  34.     key  <KO5> {    [  KP_5    ]    };
  35.     key  <KO6> {    [  KP_6    ]    };
  36.  
  37.     key  <KO1> {    [  KP_1    ]    };
  38.     key  <KO2> {    [  KP_2    ]    };
  39.     key  <KO3> {    [  KP_3    ]    };
  40.  
  41.     key  <KO0> {    [  KP_0    ]    };
  42.     key <KODL> {      [  KP_Decimal ]    };
  43.  
  44.     // End "Keypad" section
  45. };
  46.  
  47. partial hidden keypad_keys
  48. xkb_symbols "overlay2" {
  49.  
  50.     // Begin "Keypad" section
  51.  
  52.     key  <KP7> {    [  KP_Home    ],    overlay2=<KO7>    };
  53.     key  <KP8> {    [  KP_Up    ],    overlay2=<KO8>    };
  54.     key  <KP9> {    [  KP_Prior    ],    overlay2=<KO9>    };
  55.  
  56.     key  <KP4> {    [  KP_Left    ],    overlay2=<KO4>    };
  57.     key  <KP5> {    [  KP_Begin    ],    overlay2=<KO5>    };
  58.     key  <KP6> {    [  KP_Right    ],    overlay2=<KO6>    };
  59.  
  60.     key  <KP1> {    [  KP_End    ],    overlay2=<KO1>    };
  61.     key  <KP2> {    [  KP_Down    ],    overlay2=<KO2>    };
  62.     key  <KP3> {    [  KP_Next    ],    overlay2=<KO3>    };
  63.  
  64.     key  <KP0> {    [  KP_Insert    ],    overlay2=<KO0>    };
  65.     key <KPDL> {      [  KP_Delete    ],    overlay2=<KODL>    };
  66.  
  67.     key  <KO7> {    [  KP_7    ]    };
  68.     key  <KO8> {    [  KP_8    ]    };
  69.     key  <KO9> {    [  KP_9    ]    };
  70.  
  71.     key  <KO4> {    [  KP_4    ]    };
  72.     key  <KO5> {    [  KP_5    ]    };
  73.     key  <KO6> {    [  KP_6    ]    };
  74.  
  75.     key  <KO1> {    [  KP_1    ]    };
  76.     key  <KO2> {    [  KP_2    ]    };
  77.     key  <KO3> {    [  KP_3    ]    };
  78.  
  79.     key  <KO0> {    [  KP_0    ]    };
  80.     key <KODL> {      [  KP_Decimal ]    };
  81.  
  82.     // End "Keypad" section
  83. };
  84.  
  85. partial hidden default keypad_keys
  86. xkb_symbols "x11" {
  87. // Ungrab cancels server/keyboard/pointer grabs
  88.     key <KPDV> {
  89.         type="CTRL+ALT",
  90.         symbols[Group1]= [ KP_Divide,    XF86_Ungrab ]
  91.     };
  92.  
  93. // ClsGrb kills whichever client has a grab in effect
  94.     key <KPMU> {
  95.         type="CTRL+ALT",
  96.         symbols[Group1]= [ KP_Multiply,    XF86_ClearGrab ]
  97.     };
  98.  
  99. // -VMode switches to the previous video mode
  100.     key <KPSU> {
  101.         type="CTRL+ALT",
  102.         symbols[Group1]= [ KP_Subtract,    XF86_Prev_VMode ]
  103.     };
  104.  
  105.     key  <KP7> {    [  KP_Home,    KP_7    ]    };
  106.     key  <KP8> {    [  KP_Up,    KP_8    ]    };
  107.     key  <KP9> {    [  KP_Prior,    KP_9    ]    };
  108.  
  109. // +VMode switches to the next video mode
  110.     key <KPAD> {
  111.         type="CTRL+ALT",
  112.         symbols[Group1]= [ KP_Add,    XF86_Next_VMode ]
  113.     };
  114.  
  115.     key  <KP4> {    [  KP_Left,    KP_4    ]    };
  116.     key  <KP5> {    [  KP_Begin,    KP_5    ]    };
  117.     key  <KP6> {    [  KP_Right,    KP_6    ]    };
  118.  
  119.     key  <KP1> {    [  KP_End,    KP_1    ]    };
  120.     key  <KP2> {    [  KP_Down,    KP_2    ]    };
  121.     key  <KP3> {    [  KP_Next,    KP_3    ]    };
  122.     key <KPEN> {    [      KP_Enter    ]    };
  123.     key <KPEQ> {    [      KP_Equal    ]    };
  124.  
  125.     key  <KP0> {    [  KP_Insert,    KP_0    ]    };
  126.     key <KPDL> {      [  KP_Delete,    KP_Decimal ]    };
  127. };
  128.  
  129.  
  130. // Legacy PC keypad definition
  131. // Copyright ¬© 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  132. keypad_keys
  133. xkb_symbols "legacy" {
  134.  
  135.     include "keypad(core)"
  136.     include "keypad(legacymath)"
  137.     include "keypad(legacynumber)"
  138.     include "kpdl(dot)"
  139. };
  140.  
  141.  
  142. // Legacy Wang 725-3771-ae and 725-3771-uk keypad definition
  143. // Copyright ¬© 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  144. keypad_keys
  145. xkb_symbols "legacy_wang" {
  146.  
  147.     include "keypad(core)"
  148.     include "keypad(legacymath)"
  149.     include "keypad(legacynumber_wang)"
  150.     include "kpdl(dot)"
  151. };
  152.  
  153.  
  154. // Complete new keypad definition
  155. // Copyright ¬© 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  156. keypad_keys
  157. xkb_symbols "oss" {
  158.  
  159.     include "keypad(core)"
  160.     include "keypad(ossmath)"
  161.     include "keypad(ossnumber)"
  162.     include "kpdl(dotoss)"
  163. };
  164.  
  165.  
  166. // Latin9 restriction of new keypad definition
  167. // Copyright ¬© 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  168. keypad_keys
  169. xkb_symbols "oss_latin9" {
  170.  
  171.     include "keypad(core)"
  172.     include "keypad(ossmath_latin9)"
  173.     include "keypad(legacynumber)"
  174.     include "kpdl(dotoss_latin9)"
  175. };
  176.  
  177.  
  178. // Wang 725-3771-ae and 725-3771-uk keypad variant of oss keypad
  179. // Copyright ¬© 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  180. keypad_keys
  181. xkb_symbols "oss_wang" {
  182.  
  183.     include "keypad(core)"
  184.     include "keypad(ossmath)"
  185.     include "keypad(ossnumber_wang)"
  186.     include "kpdl(dotoss)"
  187. };
  188.  
  189.  
  190. // Forward-looking keypad definition
  191. // Won't work with applications that make ASCII assumptions
  192. // Copyright ¬© 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  193. keypad_keys
  194. xkb_symbols "future" {
  195.  
  196.     include "keypad(core)"
  197.     include "keypad(futuremath)"
  198.     include "keypad(ossnumber)"
  199.     include "kpdl(commaoss)"
  200. };
  201.  
  202.  
  203. // Forward-looking keypad definition
  204. // Won't work with applications that make ASCII assumptions
  205. // Copyright ¬© 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  206. keypad_keys
  207. xkb_symbols "future_wang" {
  208.  
  209.     include "keypad(core)"
  210.     include "keypad(futuremath)"
  211.     include "keypad(ossnumber_wang)"
  212.     include "kpdl(commaoss)"
  213. };
  214.  
  215.  
  216. // Keypad keys nobody changes
  217. // Copyright ¬© 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  218. partial keypad_keys
  219. xkb_symbols "core" {
  220.  
  221.     modifier_map Mod2 { Num_Lock };
  222.  
  223.     key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
  224.     key <KPEN> { [ KP_Enter                     ] };
  225.     key <KPEQ> { [ KP_Equal                     ] };
  226. };
  227.  
  228.  
  229. // Legacy keypad math area
  230. // Copyright ¬© 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  231. //
  232. // ‚îè‚îÅ‚îÅ‚îÅ‚îÅ‚îłîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îê
  233. // ‚îÉNum  ‚îÉ ‚ÇÅ   ‚îÇ ‚ÇÇ   ‚îÇ ‚ÇÉ   ‚îÇ ‚ÇÅ <XF86_Ungrab>
  234. // ‚îÉLock‚á≠‚îÉ /   ‚îÇ *   ‚îÇ -   ‚îÇ ‚ÇÇ <XF86_ClearGrab>
  235. // ‚î°‚îÅ‚îÅ‚îÅ‚îÅ‚îÅ‚ïÉ‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ‚ÇÉ <XF86_Prev_VMode>
  236. //                   ‚îÇ ‚ÇÑ   ‚îÇ ‚ÇÑ <XF86_Next_VMode>
  237. //                   ‚îÇ     ‚îÇ
  238. //                   ‚î§     ‚îÇ 1 None
  239. //                   ‚îÇ     ‚îÇ 2 Ctrl+Alt
  240. //                   ‚îÇ +   ‚îÇ
  241. //                   ‚ïÜ‚îÅ‚îÅ‚îÅ‚îÅ‚îÅ‚î™
  242. partial keypad_keys
  243. xkb_symbols "legacymath" {
  244.  
  245.     key.type[Group1]="CTRL+ALT" ;
  246.  
  247.     key <KPDV> { [   KP_Divide,     XF86_Ungrab ] }; // / <XF86_Ungrab>
  248.     key <KPMU> { [ KP_Multiply,  XF86_ClearGrab ] }; // * <XF86_ClearGrab>
  249.     key <KPSU> { [ KP_Subtract, XF86_Prev_VMode ] }; // - <XF86_Prev_VMode>
  250.  
  251.     key <KPAD> { [      KP_Add, XF86_Next_VMode ] }; // + <XF86_Next_VMode>
  252.  
  253. };
  254.  
  255.  
  256. // Keypad math area with non-CS operators
  257. // Copyright ¬© 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  258. //
  259. // ‚îè‚îÅ‚îÅ‚îÅ‚îÅ‚îłîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îê
  260. // ‚îÉNum  ‚îÉ ‚àï ‚ÇÅ ‚îÇ . ‚ÇÇ ‚îÇ ‚àí ‚ÇÉ ‚îÇ ‚ÇÅ <XF86_Ungrab>
  261. // ‚îÉLock‚á≠‚îÉ / √∑ ‚îÇ * √ó ‚îÇ - ‚àí ‚îÇ ‚ÇÇ <XF86_ClearGrab>
  262. // ‚î°‚îÅ‚îÅ‚îÅ‚îÅ‚îÅ‚ïÉ‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ‚ÇÉ <XF86_Prev_VMode>
  263. //                   ‚îÇ + ‚ÇÑ ‚îÇ ‚ÇÑ <XF86_Next_VMode>
  264. //                   ‚îÇ     ‚îÇ
  265. //                   ‚î§     ‚îÇ 1 None
  266. //                   ‚îÇ     ‚îÇ 2 Level3 ‚áÆ
  267. //                   ‚îÇ + + ‚îÇ 3 Shift+Level3 ‚áß‚áÆ
  268. //                   ‚ïÜ‚îÅ‚îÅ‚îÅ‚îÅ‚îł4 Ctrl+Alt
  269. partial keypad_keys
  270. xkb_symbols "ossmath" {
  271.  
  272.     key.type[Group1]="FOUR_LEVEL_X" ;
  273.  
  274.     key <KPDV> { [   KP_Divide, 0x1002215, 0x10000F7,     XF86_Ungrab ] }; // / ‚àï √∑     <XF86_Ungrab>
  275.     key <KPMU> { [ KP_Multiply, 0x10022C5, 0x10000D7,  XF86_ClearGrab ] }; // * ‚ãÖ √ó  <XF86_ClearGrab>
  276.     key <KPSU> { [ KP_Subtract, 0x1002212, 0x1002212, XF86_Prev_VMode ] }; // - ‚àí ‚àí <XF86_Prev_VMode>
  277.  
  278.     key <KPAD> { [      KP_Add, 0x100002B, 0x100002B, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode>
  279.  
  280. };
  281.  
  282.  
  283. // Keypad math area with non-CS operators in first levels
  284. // As demanded by users not interested in legacy pre-unicode junk
  285. // Copyright ¬© 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  286. //
  287. // ‚îè‚îÅ‚îÅ‚îÅ‚îÅ‚îłîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îê
  288. // ‚îÉNum  ‚îÉ / ‚ÇÅ ‚îÇ * ‚ÇÇ ‚îÇ - ‚ÇÉ ‚îÇ ‚ÇÅ <XF86_Ungrab>
  289. // ‚îÉLock‚á≠‚îÉ ‚àï √∑ ‚îÇ . √ó ‚îÇ ‚àí ‚àí ‚îÇ ‚ÇÇ <XF86_ClearGrab>
  290. // ‚î°‚îÅ‚îÅ‚îÅ‚îÅ‚îÅ‚ïÉ‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ‚ÇÉ <XF86_Prev_VMode>
  291. //                   ‚îÇ + ‚ÇÑ ‚îÇ ‚ÇÑ <XF86_Next_VMode>
  292. //                   ‚îÇ     ‚îÇ
  293. //                   ‚î§     ‚îÇ 1 None
  294. //                   ‚îÇ     ‚îÇ 2 Level3 ‚áÆ
  295. //                   ‚îÇ + + ‚îÇ 3 Shift+Level3 ‚áß‚áÆ
  296. //                   ‚ïÜ‚îÅ‚îÅ‚îÅ‚îÅ‚îł4 Ctrl+Alt
  297. partial keypad_keys
  298. xkb_symbols "futuremath" {
  299.  
  300.     key.type[Group1]="FOUR_LEVEL_X" ;
  301.  
  302.     key <KPDV> { [ 0x1002215,   KP_Divide, 0x10000F7,     XF86_Ungrab ] }; // ‚àï / √∑     <XF86_Ungrab>
  303.     key <KPMU> { [ 0x10022C5, KP_Multiply, 0x10000D7,  XF86_ClearGrab ] }; // ‚ãÖ * √ó  <XF86_ClearGrab>
  304.     key <KPSU> { [ 0x1002212, KP_Subtract, 0x1002212, XF86_Prev_VMode ] }; // ‚àí - ‚àí <XF86_Prev_VMode>
  305.  
  306.     key <KPAD> { [ 0x100002B,      KP_Add, 0x100002B, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode>
  307. };
  308.  
  309.  
  310. // Keypad math area with non-CS operators, restricted to latin9
  311. // Copyright ¬© 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  312. //
  313. // ‚îè‚îÅ‚îÅ‚îÅ‚îÅ‚îłîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îê
  314. // ‚îÉNum  ‚îÉ / ‚ÇÅ ‚îÇ ¬∑ ‚ÇÇ ‚îÇ - ‚ÇÉ ‚îÇ ‚ÇÅ <XF86_Ungrab>
  315. // ‚îÉLock‚á≠‚îÉ / √∑ ‚îÇ * √ó ‚îÇ - - ‚îÇ ‚ÇÇ <XF86_ClearGrab>
  316. // ‚î°‚îÅ‚îÅ‚îÅ‚îÅ‚îÅ‚ïÉ‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ‚ÇÉ <XF86_Prev_VMode>
  317. //                   ‚îÇ + ‚ÇÑ ‚îÇ ‚ÇÑ <XF86_Next_VMode>
  318. //                   ‚îÇ     ‚îÇ
  319. //                   ‚î§     ‚îÇ 1 None
  320. //                   ‚îÇ     ‚îÇ 2 Level3 ‚áÆ
  321. //                   ‚îÇ + + ‚îÇ 3 Shift+Level3 ‚áß‚áÆ
  322. //                   ‚ïÜ‚îÅ‚îÅ‚îÅ‚îÅ‚îł4 Ctrl+Alt
  323. partial keypad_keys
  324. xkb_symbols "ossmath_latin9" {
  325.  
  326.     key.type[Group1]="FOUR_LEVEL_X";
  327.  
  328.     key <KPDV> { [   KP_Divide,          slash, division,     XF86_Ungrab ] }; // / / √∑     <XF86_Ungrab>
  329.     key <KPMU> { [ KP_Multiply, periodcentered, multiply,  XF86_ClearGrab ] }; // * ¬∑ √ó  <XF86_ClearGrab>
  330.     key <KPSU> { [ KP_Subtract,          minus,    minus, XF86_Prev_VMode ] }; // - - - <XF86_Prev_VMode>
  331.  
  332.     key <KPAD> { [      KP_Add,           plus,     plus, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode>
  333. };
  334.  
  335.  
  336. // Legacy keypad number area
  337. // Copyright ¬© 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  338. //
  339. // ‚îè‚îÅ‚îÅ‚îÅ‚îÅ‚îł                  ‚á± Home
  340. // ‚îÉNum  ‚îÉ                   ‚á≤ End
  341. // ‚îÉLock‚á≠‚îÉ                   ‚áû Page up
  342. // ‚î°‚îÅ‚îÅ‚îÅ‚îÅ‚îÅ‚ïÉ‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      ‚áü Page down
  343. // ‚îÇ 7   ‚îÇ 8   ‚îÇ 9   ‚îÇ       ‚áû Page up
  344. // ‚îÇ ‚á±   ‚îÇ ‚áß   ‚îÇ ‚áû   ‚îÇ       ‚éÄ Insert
  345. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      ‚ê• Delete
  346. // ‚îÇ 4   ‚îÇ 5   ‚îÇ 6   ‚îÇ       ‚á¶‚á߂ᮂ᩠Directions
  347. // ‚îÇ ‚á¶   ‚îÇ     ‚îÇ ‚á®   ‚îÇ
  348. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îÄ‚ïÜ
  349. // ‚îÇ 1   ‚îÇ 2   ‚îÇ 3   ‚îÉ
  350. // ‚îÇ ‚á≤   ‚îÇ ‚á©   ‚îÇ ‚áü   ‚îÉ        1 None
  351. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ       2 Num Lock ‚á≠
  352. // ‚îÇ 0         ‚îÇ
  353. // ‚îÇ ‚éÄ         ‚îÇ
  354. // ‚îî‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚î¥
  355. partial keypad_keys
  356. xkb_symbols "legacynumber" {
  357.  
  358.     key.type[Group1]="KEYPAD" ;
  359.  
  360.     key <KP7>  { [   KP_Home,       KP_7 ] }; //   <home> 7
  361.     key <KP8>  { [     KP_Up,       KP_8 ] }; //     <up> 8
  362.     key <KP9>  { [  KP_Prior,       KP_9 ] }; //  <prior> 9
  363.  
  364.     key <KP4>  { [   KP_Left,       KP_4 ] }; //   <left> 4
  365.     key <KP5>  { [  KP_Begin,       KP_5 ] }; //  <begin> 5
  366.     key <KP6>  { [  KP_Right,       KP_6 ] }; //  <right> 6
  367.  
  368.     key <KP1>  { [    KP_End,       KP_1 ] }; //    <end> 1
  369.     key <KP2>  { [   KP_Down,       KP_2 ] }; //   <down> 2
  370.     key <KP3>  { [   KP_Next,       KP_3 ] }; //   <next> 3
  371.  
  372.     key <KP0>  { [ KP_Insert,       KP_0 ] }; // <insert> 0
  373. };
  374.  
  375.  
  376. // Legacy Wang 725-3771-ae and 725-3771-uk keypad number area
  377. // Copyright ¬© 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  378. // This is actually a three-level keypad, declared as four-level
  379. // to avoid defining a new type
  380. //
  381. // ‚îè‚îÅ‚îÅ‚îÅ‚îÅ‚îł                  ‚á± Home
  382. // ‚îÉNum  ‚îÉ                   ‚á≤ End
  383. // ‚îÉLock‚á≠‚îÉ                   ‚áû Page up
  384. // ‚î°‚îÅ‚îÅ‚îÅ‚îÅ‚îÅ‚ïÉ‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      ‚áü Page down
  385. // ‚îÇ 7   ‚îÇ 8   ‚îÇ 9   ‚îÇ       ‚áû Page up
  386. // ‚îÇ ‚á± < ‚îÇ ‚áß > ‚îÇ ‚áû ^ ‚îÇ       ‚éÄ Insert
  387. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      ‚ê• Delete
  388. // ‚îÇ 4   ‚îÇ 5   ‚îÇ 6   ‚îÇ       ‚á¶‚á߂ᮂ᩠Directions
  389. // ‚îÇ ‚á¶ [ ‚îÇ   ] ‚îÇ ‚á® $ ‚îÇ
  390. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îÄ‚ïÜ
  391. // ‚îÇ 1   ‚îÇ 2   ‚îÇ 3   ‚îÉ
  392. // ‚îÇ ‚á≤ & ‚îÇ ‚á© @ ‚îÇ ‚áü # ‚îÉ       1 None
  393. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      2 Num Lock ‚á≠
  394. // ‚îÇ 0         ‚îÇ             3 Level3 ‚áÆ
  395. // ‚îÇ ‚éÄ         ‚îÇ
  396. // ‚îî‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚î¥
  397. partial keypad_keys
  398. xkb_symbols "legacynumber_wang" {
  399.  
  400.     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
  401.  
  402.     key <KP7>  { [   KP_Home,   KP_7,         less ] }; //   <home> 7 <
  403.     key <KP8>  { [     KP_Up,   KP_8,      greater ] }; //     <up> 8 >
  404.     key <KP9>  { [  KP_Prior,   KP_9,  asciicircum ] }; //  <prior> 9 ^
  405.  
  406.     key <KP4>  { [   KP_Left,   KP_4,  bracketleft ] }; //   <left> 4 [
  407.     key <KP5>  { [  KP_Begin,   KP_5, bracketright ] }; //  <begin> 5 ]
  408.     key <KP6>  { [  KP_Right,   KP_6,       dollar ] }; //  <right> 6 $
  409.  
  410.     key <KP1>  { [    KP_End,   KP_1,    ampersand ] }; //    <end> 1 &
  411.     key <KP2>  { [   KP_Down,   KP_2,           at ] }; //   <down> 2 @
  412.     key <KP3>  { [   KP_Next,   KP_3,   numbersign ] }; //   <next> 3 #
  413.  
  414.     key <KP0>  { [ KP_Insert,   KP_0,   apostrophe ] }; // <insert> 0 '
  415. };
  416.  
  417.  
  418. // Keypad number area with arrow symbols
  419. // Copyright ¬© 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  420. //
  421. // ‚îè‚îÅ‚îÅ‚îÅ‚îÅ‚îł                  ‚á± Home
  422. // ‚îÉNum  ‚îÉ                   ‚á≤ End
  423. // ‚îÉLock‚á≠‚îÉ                   ‚áû Page up
  424. // ‚î°‚îÅ‚îÅ‚îÅ‚îÅ‚îÅ‚ïÉ‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      ‚áü Page down
  425. // ‚îÇ 7 ‚áñ ‚îÇ 8 ‚áë ‚îÇ 9 ‚áó ‚îÇ       ‚áû Page up
  426. // ‚îÇ ‚á± ‚Üñ ‚îÇ ‚áß ‚Üë ‚îÇ ‚áû ‚Üó ‚îÇ       ‚éÄ Insert
  427. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      ‚ê• Delete
  428. // ‚îÇ 4 ‚áê ‚îÇ 5 ‚áî ‚îÇ 6 ‚áó ‚îÇ       ‚á¶‚á߂ᮂ᩠Directions
  429. // ‚îÇ ‚á¶ ‚Üê ‚îÇ   ‚Üî ‚îÇ ‚á® ‚Üó ‚îÇ       ‚çΩ narrow no-break space
  430. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îÄ‚ïÜ
  431. // ‚îÇ 1 ‚áô ‚îÇ 2 ‚áì ‚îÇ 3 ‚áò ‚îÉ
  432. // ‚îÇ ‚á≤ ‚Üô ‚îÇ ‚á© ‚Üì ‚îÇ ‚áü ‚Üò ‚îÉ       1 None
  433. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      2 Num Lock ‚á≠
  434. // ‚îÇ 0       ‚áï ‚îÇ             3 Level3 ‚áÆ
  435. // ‚îÇ ‚éÄ       ‚Üï ‚îÇ             4 Shift+Level3 ‚áß‚áÆ
  436. // ‚îî‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚î¥
  437. partial keypad_keys
  438. xkb_symbols "ossnumber" {
  439.  
  440.     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
  441.  
  442.     key <KP7>  { [   KP_Home,   KP_7, 0x1002196, 0x10021D6 ] }; //   <home> 7 ‚Üñ ‚áñ
  443.     key <KP8>  { [     KP_Up,   KP_8, 0x1002191, 0x10021D1 ] }; //     <up> 8 ‚Üë ‚áë
  444.     key <KP9>  { [  KP_Prior,   KP_9, 0x1002197, 0x10021D7 ] }; //  <prior> 9 ‚Üó ‚áó
  445.  
  446.     key <KP4>  { [   KP_Left,   KP_4, 0x1002190, 0x10021D0 ] }; //   <left> 4 ‚Üê ‚áê
  447.     key <KP5>  { [  KP_Begin,   KP_5, 0x1002194, 0x10021D4 ] }; //  <begin> 5 ‚Üî ‚áî
  448.     key <KP6>  { [  KP_Right,   KP_6, 0x1002192, 0x10021D2 ] }; //  <right> 6 ‚Üí ‚áí
  449.  
  450.     key <KP1>  { [    KP_End,   KP_1, 0x1002199, 0x10021D9 ] }; //    <end> 1 ‚Üô ‚áô
  451.     key <KP2>  { [   KP_Down,   KP_2, 0x1002193, 0x10021D3 ] }; //   <down> 2 ‚Üì ‚áì
  452.     key <KP3>  { [   KP_Next,   KP_3, 0x1002198, 0x10021D8 ] }; //   <next> 3 ‚Üò ‚áò
  453.  
  454.     key <KP0>  { [ KP_Insert,   KP_0, 0x1002195, 0x10021D5 ] }; // <insert> 0 ‚Üï ‚áï
  455. };
  456.  
  457.  
  458. // Wang 725-3771-ae and 725-3771-uk keypad number area with additional arrow symbols
  459. // Copyright ¬© 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
  460. //
  461. // ‚îè‚îÅ‚îÅ‚îÅ‚îÅ‚îł                  ‚á± Home
  462. // ‚îÉNum  ‚îÉ                   ‚á≤ End
  463. // ‚îÉLock‚á≠‚îÉ                   ‚áû Page up
  464. // ‚î°‚îÅ‚îÅ‚îÅ‚îÅ‚îÅ‚ïÉ‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      ‚áü Page down
  465. // ‚îÇ 7 ‚Üñ ‚îÇ 8 ‚Üë ‚îÇ 9 ‚Üó ‚îÇ       ‚áû Page up
  466. // ‚îÇ ‚á± < ‚îÇ ‚áß > ‚îÇ ‚áû ^ ‚îÇ       ‚éÄ Insert
  467. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      ‚ê• Delete
  468. // ‚îÇ 4 ‚Üê ‚îÇ 5 ‚Üî ‚îÇ 6 ‚Üí ‚îÇ       ‚á¶‚á߂ᮂ᩠Directions
  469. // ‚îÇ ‚á¶ [ ‚îÇ   ] ‚îÇ ‚á® $ ‚îÇ       ‚çΩ narrow no-break space
  470. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îÄ‚ïÜ
  471. // ‚îÇ 1 ‚Üô ‚îÇ 2 ‚Üì ‚îÇ 3 ‚Üò ‚îÉ
  472. // ‚îÇ ‚á≤ & ‚îÇ ‚á© @ ‚îÇ ‚áü # ‚îÉ       1 None
  473. // ‚îú‚îÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂîÄ‚îÄ‚îÄ‚îÄ‚îĂ      2 Num Lock ‚á≠
  474. // ‚îÇ 0       ‚Üï ‚îÇ             3 Level3 ‚áÆ
  475. // ‚îÇ ‚éÄ       ' ‚îÇ             4 Shift+Level3 ‚áß‚áÆ
  476. // ‚îî‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚î¥
  477. partial keypad_keys
  478. xkb_symbols "ossnumber_wang" {
  479.  
  480.     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
  481.  
  482.     key <KP7>  { [   KP_Home,   KP_7,         less, 0x1002196 ] }; //   <home> 7 < ‚Üñ
  483.     key <KP8>  { [     KP_Up,   KP_8,      greater, 0x1002191 ] }; //     <up> 8 > ‚Üë
  484.     key <KP9>  { [  KP_Prior,   KP_9,  asciicircum, 0x1002197 ] }; //  <prior> 9 ^ ‚Üó
  485.  
  486.     key <KP4>  { [   KP_Left,   KP_4,  bracketleft, 0x1002190 ] }; //   <left> 4 [ ‚Üê
  487.     key <KP5>  { [  KP_Begin,   KP_5, bracketright, 0x1002194 ] }; //  <begin> 5 ] ‚Üî
  488.     key <KP6>  { [  KP_Right,   KP_6,       dollar, 0x1002192 ] }; //  <right> 6 $ ‚Üí
  489.  
  490.     key <KP1>  { [    KP_End,   KP_1,    ampersand, 0x1002199 ] }; //    <end> 1 & ‚Üô
  491.     key <KP2>  { [   KP_Down,   KP_2,           at, 0x1002193 ] }; //   <down> 2 @ ‚Üì
  492.     key <KP3>  { [   KP_Next,   KP_3,   numbersign, 0x1002198 ] }; //   <next> 3 # ‚Üò
  493.  
  494.     key <KP0>  { [ KP_Insert,   KP_0,   apostrophe, 0x1002195 ] }; // <insert> 0 ' ‚Üï
  495. };
  496.  
  497. // Standard base "pc" layout only contains cursor keys, and then gets
  498. // augmented with the digits later. If you define your own layout for
  499. // the numpad you can inherit the cursors, but you'll have to define
  500. // the digits yourself. This module can be included in the rules to
  501. // define math operators; these are the variants used in computer
  502. // languages that are based on ASCII. NoSymbol doesn't mean that
  503. // nothing is bound to the key but that no assignment is done here.
  504. // srvr_ctrl(stdkeypad) and keypad(x11) declare the operator keys to
  505. // be of type CTRL+ALT in order to assign server control events to
  506. // them, but it uses the second level which is overwritten if we have
  507. // more than one definition (shift state) for the key. Instead, here
  508. // the commands are put at the fourth level.
  509. partial keypad_keys
  510. xkb_symbols "ops" {
  511.     key <KPDV> { [ NoSymbol,  slash,     NoSymbol,  XF86_Ungrab     ] };
  512.     key <KPMU> { [ NoSymbol,  asterisk,  NoSymbol,  XF86_ClearGrab  ] };
  513.     key <KPSU> { [ NoSymbol,  minus,     NoSymbol,  XF86_Prev_VMode ] };
  514.     key <KPAD> { [ NoSymbol,  plus,      NoSymbol,  XF86_Next_VMode ] };
  515.     key <KPEQ> { [ NoSymbol,  equal      ] };
  516. };
  517.  
  518. // Hexadecimal Numpad, by Roland Kaufmann <rlndkfmn at gmail dot com>
  519. // License: BSD (also covers variant with ATM digit order)
  520. // Third-level gives the letters used in hexadecimal numbers, or
  521. // columns in small spreadsheets. As a bonus, having 'e' available at
  522. // the center of the keyboard makes it easy to enter floating point
  523. // numbers in scientific notation.
  524. // Equal is added to start formulas (most numpads on PCs don't have
  525. // their own equal key), comma as a list separator (as most
  526. // programming languages wants period as a decimal separator) and
  527. // colon to enter times and ranges. Someone also may want to represent
  528. // multiplication and division in prose using x and colon.
  529. // Two first levels are specified as NoSymbol to not override any
  530. // previous specification. Combine this with another keypad specifier,
  531. // e.g. "legacy".
  532. partial keypad_keys
  533. xkb_symbols "hex" {
  534.     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
  535.  
  536.     //             None       NumLock      AltGr
  537.     // symbol row
  538.     key <KPDV> { [ NoSymbol,  NoSymbol,  parenleft  ] };
  539.     key <KPMU> { [ NoSymbol,  NoSymbol,  parenright ] };
  540.     key <KPSU> { [ NoSymbol,  NoSymbol,  dollar     ] };
  541.  
  542.     // upper row
  543.     key <KP7>  { [ NoSymbol,  NoSymbol,  a          ] };
  544.     key <KP8>  { [ NoSymbol,  NoSymbol,  b          ] };
  545.     key <KP9>  { [ NoSymbol,  NoSymbol,  c          ] };
  546.  
  547.     // home row
  548.     key <KP4>  { [ NoSymbol,  NoSymbol,  d          ] };
  549.     key <KP5>  { [ NoSymbol,  NoSymbol,  e          ] };
  550.     key <KP6>  { [ NoSymbol,  NoSymbol,  f          ] };
  551.     key <KPAD> { [ NoSymbol,  NoSymbol,  comma      ] };
  552.  
  553.     // lower row
  554.     key <KP1>  { [ NoSymbol,  NoSymbol,  equal      ] };
  555.     key <KP2>  { [ NoSymbol,  NoSymbol,  x          ] };
  556.     key <KP3>  { [ NoSymbol,  NoSymbol,  colon      ] };
  557.  
  558.     // decimal row
  559.     key <KP0>  { [ NoSymbol,  NoSymbol,  backslash  ] };
  560. };
  561.  
  562. // Main numbers follows the traditions from ATMs and phones with
  563. // numbers increasing downwards to the right. (It is easier to
  564. // change the keyboard layout than to reprogram your local ATM;
  565. // also cell-phones are becoming more common while calculators are
  566. // becoming more rare).
  567. // First level is left unspecified, so it may be combined with another
  568. // layout, e.g. "legacy".
  569. partial keypad_keys
  570. xkb_symbols "atm" {
  571.     // upper row
  572.     key <KP7>  { [ NoSymbol,  KP_1 ] };
  573.     key <KP8>  { [ NoSymbol,  KP_2 ] };
  574.     key <KP9>  { [ NoSymbol,  KP_3 ] };
  575.  
  576.     // lower row
  577.     key <KP1>  { [ NoSymbol,  KP_7 ] };
  578.     key <KP2>  { [ NoSymbol,  KP_8 ] };
  579.     key <KP3>  { [ NoSymbol,  KP_9 ] };
  580. };
  581.