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