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