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