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