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