apple revision c067fea9
1154daed1Smrg// 2154daed1Smrg// Keyboard modification for Apple keyboards 3154daed1Smrg// 4154daed1Smrg// $XFree86: xc/programs/xkbcomp/symbols/apple,v 1.2 2003/10/24 20:38:20 tsi Exp $ 5154daed1Smrg 6154daed1Smrgpartial default modifier_keys 7154daed1Smrgxkb_symbols "extended" { 8154daed1Smrg 9154daed1Smrg key <KPEQ> { [ KP_Equal ] }; 10154daed1Smrg 11154daed1Smrg// The key in the PC's Insert position is sometimes engraved Help (at least 12154daed1Smrg// in Switzerland and Great Britain), with Insert sometimes above. But in the 13154daed1Smrg// US and Canada, it remains Insert. So this should probably be an XkbOption, 14154daed1Smrg// but I have to do more research. 15154daed1Smrg// Perhaps Help should be the primary symbol with Insert in the 1st shift-level 16154daed1Smrg// key <INS> { [ Help, Insert ] }; 17154daed1Smrg// The keys next to F12, labeled F13, F14, & F15 generate codes that XFree86 18154daed1Smrg// claims not to generate. I think they should be equivalent to the PC keys 19154daed1Smrg// Print Screen / SysRq, Scroll Lock, and Pause. Linux kernel bug? 20154daed1Smrg// key <PRSC> { [ F13 ] }; // should be keycode 93 or 21154daed1Smrg// key <FK13> { [ F13 ] }; // should be keycode 118 22154daed1Smrg// key <SCLK> { [ F14 ] }; // should be keycode 123 or 23154daed1Smrg// key <FK14> { [ F14 ] }; // should be keycode 119 24154daed1Smrg// key <PAUS> { [ F15 ] }; // should be keycode 127 or 25154daed1Smrg// key <FK15> { [ F15 ] }; // should be keycode 120 26154daed1Smrg}; 27154daed1Smrg 28154daed1Smrgpartial modifier_keys 29154daed1Smrgxkb_symbols "laptop" { 30154daed1Smrg 31154daed1Smrg include "macintosh_vndr/apple(extended)" 32154daed1Smrg 33154daed1Smrg // The real numlock key on the iBook (shared with F5) works internally to 34154daed1Smrg // the keyboard. It illuminates the Num_Lock led and locks the fn-key to 35154daed1Smrg // type only the keypad keys on the letter keys (U=4, I=5, O=6, P=*, etc.). 36154daed1Smrg // The key in the Num_lock position is engraved with Clear. 37154daed1Smrg override key <NMLK> { [ Clear ] }; 38154daed1Smrg // The key engraved Delete sends BKSP. To get Delete, use Shift-Delete 39154daed1Smrg override key <BKSP> { [ BackSpace, Delete ] }; 40154daed1Smrg // These keyboards only generate a <RALT> when pressing fn+Alt. This makes 41154daed1Smrg // it impossible to get to the third shift level on keys that are on 42154daed1Smrg // the fn-keypad, so use the Enter key (right of <SPC>) for Mode_switch, 43154daed1Smrg // and use fn+Enter (Apple's code for Menu) for KP_Enter. 44154daed1Smrg replace key <KPEN> { [ ISO_Level3_Shift ] }; 45154daed1Smrg modifier_map Mod5 { ISO_Level3_Shift }; 46154daed1Smrg // Linux kernel bug with Menu on macs means this doesn't work yet 47154daed1Smrg// replace key <MENU> { [ KP_Enter ] }; // should be keycode 117 48154daed1Smrg}; 49154daed1Smrg 50154daed1Smrgpartial modifier_keys 51154daed1Smrgxkb_symbols "laptop_bad_switch" { 52154daed1Smrg // Kept for backward compatibility 53154daed1Smrg include "macintosh_vndr/apple(laptop)" 54154daed1Smrg}; 55c067fea9Sghen 56c067fea9Sghen// Long Aluminium Keyboards 57c067fea9Sghenpartial function_keys 58c067fea9Sghenxkb_symbols "alukbd" { 59c067fea9Sghen // The base is a inet PC keyboard 60c067fea9Sghen include "pc" 61c067fea9Sghen 62c067fea9Sghen // Additional Fxx keys 63c067fea9Sghen key <FK13> { [ F13 ] }; 64c067fea9Sghen key <FK14> { [ F14 ] }; 65c067fea9Sghen key <FK15> { [ F15 ] }; 66c067fea9Sghen key <FK16> { [ F16 ] }; 67c067fea9Sghen key <FK17> { [ F17 ] }; 68c067fea9Sghen key <FK18> { [ F18 ] }; 69c067fea9Sghen key <FK19> { [ F19 ] }; 70c067fea9Sghen 71c067fea9Sghen // On aluminium keyboards, Num_Lock is replace by Clear 72c067fea9Sghen replace key <NMLK> { [ XF86Clear ] }; 73c067fea9Sghen // CAPS key is always Caps_Lock, even for JIS keyboards 74c067fea9Sghen replace key <CAPS> { [ Caps_Lock ] }; 75c067fea9Sghen 76c067fea9Sghen // F1..F12 are multimedia keys when used with the 'Fn' key 77c067fea9Sghen // Make those multimedia actions available via ISO_Level3_Shift too, 78c067fea9Sghen // it is useful when the Fn key is remapped to something else (e.g. Insert) 79c067fea9Sghen key <FK01> { 80c067fea9Sghen type= "FOUR_LEVEL_X", 81c067fea9Sghen symbols[Group1]= [ NoSymbol, XF86KbdBrightnessDown, NoSymbol, XF86_Switch_VT_1 ] 82c067fea9Sghen }; 83c067fea9Sghen key <FK02> { 84c067fea9Sghen type= "FOUR_LEVEL_X", 85c067fea9Sghen symbols[Group1]= [ NoSymbol, XF86KbdBrightnessUp, NoSymbol, XF86_Switch_VT_2 ] 86c067fea9Sghen }; 87c067fea9Sghen key <FK03> { 88c067fea9Sghen type= "FOUR_LEVEL_X", 89c067fea9Sghen symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_3 ] 90c067fea9Sghen }; 91c067fea9Sghen key <FK04> { 92c067fea9Sghen type= "FOUR_LEVEL_X", 93c067fea9Sghen symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_4 ] 94c067fea9Sghen }; 95c067fea9Sghen key <FK05> { 96c067fea9Sghen type= "FOUR_LEVEL_X", 97c067fea9Sghen symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_5 ] 98c067fea9Sghen }; 99c067fea9Sghen key <FK06> { 100c067fea9Sghen type= "FOUR_LEVEL_X", 101c067fea9Sghen symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_6 ] 102c067fea9Sghen }; 103c067fea9Sghen key <FK07> { 104c067fea9Sghen type= "FOUR_LEVEL_X", 105c067fea9Sghen symbols[Group1]= [ NoSymbol, XF86AudioPrev, NoSymbol, XF86_Switch_VT_7 ] 106c067fea9Sghen }; 107c067fea9Sghen key <FK08> { 108c067fea9Sghen type= "FOUR_LEVEL_X", 109c067fea9Sghen symbols[Group1]= [ NoSymbol, XF86AudioPlay, NoSymbol, XF86_Switch_VT_8 ] 110c067fea9Sghen }; 111c067fea9Sghen key <FK09> { 112c067fea9Sghen type= "FOUR_LEVEL_X", 113c067fea9Sghen symbols[Group1]= [ NoSymbol, XF86AudioNext, NoSymbol, XF86_Switch_VT_9 ] 114c067fea9Sghen }; 115c067fea9Sghen key <FK10> { 116c067fea9Sghen type= "FOUR_LEVEL_X", 117c067fea9Sghen symbols[Group1]= [ NoSymbol, XF86AudioMute, NoSymbol, XF86_Switch_VT_10 ] 118c067fea9Sghen }; 119c067fea9Sghen key <FK11> { 120c067fea9Sghen type= "FOUR_LEVEL_X", 121c067fea9Sghen symbols[Group1]= [ NoSymbol, XF86AudioLowerVolume, NoSymbol, XF86_Switch_VT_11 ] 122c067fea9Sghen }; 123c067fea9Sghen key <FK12> { 124c067fea9Sghen type= "FOUR_LEVEL_X", 125c067fea9Sghen symbols[Group1]= [ NoSymbol, XF86AudioRaiseVolume, NoSymbol, XF86_Switch_VT_12 ] 126c067fea9Sghen }; 127c067fea9Sghen}; 128c067fea9Sghen 129c067fea9Sghen// Aluminium Keyboard: make F13, F14, F15 PC-ish (Print, Scroll_Lock, Pause) 130c067fea9Sghenpartial function_keys keypad_keys 131c067fea9Sghenxkb_symbols "alupckeys" { 132c067fea9Sghen key <FK13> { 133c067fea9Sghen type= "PC_ALT_LEVEL2", 134c067fea9Sghen symbols[Group1]= [ Print, Sys_Req ] 135c067fea9Sghen }; 136c067fea9Sghen key <FK14> { [ Scroll_Lock ] }; 137c067fea9Sghen key <FK15> { 138c067fea9Sghen type= "PC_CONTROL_LEVEL2", 139c067fea9Sghen symbols[Group1]= [ Pause, Break ] 140c067fea9Sghen }; 141c067fea9Sghen override key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; 142c067fea9Sghen}; 143