Home | History | Annotate | Line # | Download | only in symbols
keypad revision 1.1
      1 // $XKeyboardConfig: xkeyboard-config/symbols/keypad,v 1.6 2007/07/16 08:27:03 svu Exp $
      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