Home | History | Annotate | Line # | Download | only in macintosh_vndr
apple revision 1.1.1.2
      1      1.1   mrg //
      2      1.1   mrg // Keyboard modification for Apple keyboards
      3      1.1   mrg //
      4      1.1   mrg // $XFree86: xc/programs/xkbcomp/symbols/apple,v 1.2 2003/10/24 20:38:20 tsi Exp $
      5      1.1   mrg 
      6      1.1   mrg partial default modifier_keys
      7      1.1   mrg xkb_symbols "extended" {
      8      1.1   mrg 
      9      1.1   mrg     key <KPEQ> { [ KP_Equal ] }; 
     10      1.1   mrg 
     11      1.1   mrg // The key in the PC's Insert position is sometimes engraved Help (at least
     12      1.1   mrg // in Switzerland and Great Britain), with Insert sometimes above. But in the
     13      1.1   mrg // US and Canada, it remains Insert. So this should probably be an XkbOption,
     14      1.1   mrg // but I have to do more research.
     15      1.1   mrg // Perhaps Help should be the primary symbol with Insert in the 1st shift-level
     16      1.1   mrg //    key  <INS> { [ Help, Insert ] };
     17      1.1   mrg // The keys next to F12, labeled F13, F14, & F15 generate codes that XFree86
     18      1.1   mrg // claims not to generate. I think they should be equivalent to the PC keys
     19      1.1   mrg // Print Screen / SysRq, Scroll Lock, and Pause. Linux kernel bug?
     20      1.1   mrg //    key <PRSC> { [ F13 ] }; // should be keycode 93 or
     21      1.1   mrg //    key <FK13> { [ F13 ] }; // should be keycode 118
     22      1.1   mrg //    key <SCLK> { [ F14 ] }; // should be keycode 123 or
     23      1.1   mrg //    key <FK14> { [ F14 ] }; // should be keycode 119
     24      1.1   mrg //    key <PAUS> { [ F15 ] }; // should be keycode 127 or
     25      1.1   mrg //    key <FK15> { [ F15 ] }; // should be keycode 120
     26      1.1   mrg };
     27      1.1   mrg 
     28      1.1   mrg partial modifier_keys
     29      1.1   mrg xkb_symbols "laptop" {
     30      1.1   mrg 
     31      1.1   mrg     include "macintosh_vndr/apple(extended)"
     32      1.1   mrg 
     33      1.1   mrg     // The real numlock key on the iBook (shared with F5) works internally to
     34      1.1   mrg     // the keyboard. It illuminates the Num_Lock led and locks the fn-key to
     35      1.1   mrg     // type only the keypad keys on the letter keys (U=4, I=5, O=6, P=*, etc.).
     36      1.1   mrg     // The key in the Num_lock position is engraved with Clear.
     37      1.1   mrg     override key <NMLK> { [ Clear ] };
     38      1.1   mrg     // The key engraved Delete sends BKSP. To get Delete, use Shift-Delete
     39      1.1   mrg     override key <BKSP> { [ BackSpace, Delete ] };
     40      1.1   mrg     // These keyboards only generate a <RALT> when pressing fn+Alt. This makes
     41      1.1   mrg     // it impossible to get to the third shift level on keys that are on
     42      1.1   mrg     // the fn-keypad, so use the Enter key (right of <SPC>) for Mode_switch,
     43      1.1   mrg     // and use fn+Enter (Apple's code for Menu) for KP_Enter.
     44      1.1   mrg     replace key <KPEN> { [ ISO_Level3_Shift ] };
     45      1.1   mrg     modifier_map Mod5  { ISO_Level3_Shift };	
     46      1.1   mrg     // Linux kernel bug with Menu on macs means this doesn't work yet
     47      1.1   mrg //    replace key <MENU> { [ KP_Enter ] }; // should be keycode 117
     48      1.1   mrg };
     49      1.1   mrg 
     50      1.1   mrg partial modifier_keys
     51      1.1   mrg xkb_symbols "laptop_bad_switch" {
     52      1.1   mrg     // Kept for backward compatibility
     53      1.1   mrg     include "macintosh_vndr/apple(laptop)"
     54      1.1   mrg };
     55  1.1.1.2  ghen 
     56  1.1.1.2  ghen // Long Aluminium Keyboards
     57  1.1.1.2  ghen partial function_keys
     58  1.1.1.2  ghen xkb_symbols "alukbd" {
     59  1.1.1.2  ghen     // The base is a inet PC keyboard
     60  1.1.1.2  ghen     include "pc"
     61  1.1.1.2  ghen 
     62  1.1.1.2  ghen     // Additional Fxx keys
     63  1.1.1.2  ghen     key <FK13> { [ F13 ] };
     64  1.1.1.2  ghen     key <FK14> { [ F14 ] };
     65  1.1.1.2  ghen     key <FK15> { [ F15 ] };
     66  1.1.1.2  ghen     key <FK16> { [ F16 ] };
     67  1.1.1.2  ghen     key <FK17> { [ F17 ] };
     68  1.1.1.2  ghen     key <FK18> { [ F18 ] };
     69  1.1.1.2  ghen     key <FK19> { [ F19 ] };
     70  1.1.1.2  ghen 
     71  1.1.1.2  ghen     // On aluminium keyboards, Num_Lock is replace by Clear
     72  1.1.1.2  ghen     replace key <NMLK> { [ XF86Clear ] };
     73  1.1.1.2  ghen     // CAPS key is always Caps_Lock, even for JIS keyboards
     74  1.1.1.2  ghen     replace key <CAPS> { [ Caps_Lock ] };
     75  1.1.1.2  ghen 
     76  1.1.1.2  ghen     // F1..F12 are multimedia keys when used with the 'Fn' key
     77  1.1.1.2  ghen     // Make those multimedia actions available via ISO_Level3_Shift too,
     78  1.1.1.2  ghen     // it is useful when the Fn key is remapped to something else (e.g. Insert)
     79  1.1.1.2  ghen     key <FK01> {
     80  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
     81  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, XF86KbdBrightnessDown, NoSymbol, XF86_Switch_VT_1 ]
     82  1.1.1.2  ghen     };
     83  1.1.1.2  ghen     key <FK02> {
     84  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
     85  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, XF86KbdBrightnessUp, NoSymbol, XF86_Switch_VT_2 ]
     86  1.1.1.2  ghen     };
     87  1.1.1.2  ghen     key <FK03> {
     88  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
     89  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_3 ]
     90  1.1.1.2  ghen     };
     91  1.1.1.2  ghen     key <FK04> {
     92  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
     93  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_4 ]
     94  1.1.1.2  ghen     };
     95  1.1.1.2  ghen     key <FK05> {
     96  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
     97  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_5 ]
     98  1.1.1.2  ghen     };
     99  1.1.1.2  ghen     key <FK06> {
    100  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
    101  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_6 ]
    102  1.1.1.2  ghen     };
    103  1.1.1.2  ghen     key <FK07> {
    104  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
    105  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, XF86AudioPrev, NoSymbol, XF86_Switch_VT_7 ]
    106  1.1.1.2  ghen     };
    107  1.1.1.2  ghen     key <FK08> {
    108  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
    109  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, XF86AudioPlay, NoSymbol, XF86_Switch_VT_8 ]
    110  1.1.1.2  ghen     };
    111  1.1.1.2  ghen     key <FK09> {
    112  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
    113  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, XF86AudioNext, NoSymbol, XF86_Switch_VT_9 ]
    114  1.1.1.2  ghen     };
    115  1.1.1.2  ghen     key <FK10> {
    116  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
    117  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, XF86AudioMute, NoSymbol, XF86_Switch_VT_10 ]
    118  1.1.1.2  ghen     };
    119  1.1.1.2  ghen     key <FK11> {
    120  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
    121  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, XF86AudioLowerVolume, NoSymbol, XF86_Switch_VT_11 ]
    122  1.1.1.2  ghen     };
    123  1.1.1.2  ghen     key <FK12> {
    124  1.1.1.2  ghen       type= "FOUR_LEVEL_X",
    125  1.1.1.2  ghen       symbols[Group1]= [ NoSymbol, XF86AudioRaiseVolume, NoSymbol, XF86_Switch_VT_12 ]
    126  1.1.1.2  ghen     };
    127  1.1.1.2  ghen };
    128  1.1.1.2  ghen 
    129  1.1.1.2  ghen // Aluminium Keyboard: make F13, F14, F15 PC-ish (Print, Scroll_Lock, Pause)
    130  1.1.1.2  ghen partial function_keys keypad_keys
    131  1.1.1.2  ghen xkb_symbols "alupckeys" {
    132  1.1.1.2  ghen     key <FK13> {
    133  1.1.1.2  ghen       type= "PC_ALT_LEVEL2",
    134  1.1.1.2  ghen       symbols[Group1]= [ Print, Sys_Req ]
    135  1.1.1.2  ghen     };
    136  1.1.1.2  ghen     key <FK14> { [ Scroll_Lock ] };
    137  1.1.1.2  ghen     key <FK15> {
    138  1.1.1.2  ghen       type= "PC_CONTROL_LEVEL2",
    139  1.1.1.2  ghen       symbols[Group1]= [ Pause, Break ]
    140  1.1.1.2  ghen     };
    141  1.1.1.2  ghen     override key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
    142  1.1.1.2  ghen };
    143