1 # Kernel keymap for Macintoshes. This uses 7 modifier combinations.
3 # We use the Command (pretzel) key as Alt, and the Option key as AltGr.
6 altgr keycode 0x00 = Hex_A
9 altgr keycode 0x02 = Hex_D
11 altgr keycode 0x03 = Hex_F
17 altgr keycode 0x08 = Hex_C
21 altgr keycode 0x0b = Hex_B
25 altgr keycode 0x0e = Hex_E
29 keycode 0x12 = one exclam
30 alt keycode 0x12 = Meta_one
31 keycode 0x13 = two at at
32 control keycode 0x13 = nul
33 shift control keycode 0x13 = nul
34 alt keycode 0x13 = Meta_two
35 keycode 0x14 = three numbersign
36 control keycode 0x14 = Escape
37 alt keycode 0x14 = Meta_three
38 keycode 0x15 = four dollar dollar
39 control keycode 0x15 = Control_backslash
40 alt keycode 0x15 = Meta_four
41 keycode 0x16 = six asciicircum
42 control keycode 0x16 = Control_asciicircum
43 alt keycode 0x16 = Meta_six
44 keycode 0x17 = five percent
45 control keycode 0x17 = Control_bracketright
46 alt keycode 0x17 = Meta_five
47 keycode 0x18 = equal plus
48 alt keycode 0x18 = Meta_equal
49 keycode 0x19 = nine parenleft bracketright
50 alt keycode 0x19 = Meta_nine
51 keycode 0x1a = seven ampersand braceleft
52 control keycode 0x1a = Control_underscore
53 alt keycode 0x1a = Meta_seven
54 keycode 0x1b = minus underscore backslash
55 control keycode 0x1b = Control_underscore
56 shift control keycode 0x1b = Control_underscore
57 alt keycode 0x1b = Meta_minus
58 keycode 0x1c = eight asterisk bracketleft
59 control keycode 0x1c = Delete
60 alt keycode 0x1c = Meta_eight
61 keycode 0x1d = zero parenright braceright
62 alt keycode 0x1d = Meta_zero
63 keycode 0x1e = bracketright braceright asciitilde
64 control keycode 0x1e = Control_bracketright
65 alt keycode 0x1e = Meta_bracketright
68 keycode 0x21 = bracketleft braceleft
69 control keycode 0x21 = Escape
70 alt keycode 0x21 = Meta_bracketleft
74 alt keycode 0x24 = Meta_Control_m
77 keycode 0x27 = apostrophe quotedbl
78 control keycode 0x27 = Control_g
79 alt keycode 0x27 = Meta_apostrophe
81 keycode 0x29 = semicolon colon
82 alt keycode 0x29 = Meta_semicolon
83 keycode 0x2a = backslash bar
84 control keycode 0x2a = Control_backslash
85 alt keycode 0x2a = Meta_backslash
86 keycode 0x2b = comma less
87 alt keycode 0x2b = Meta_comma
88 keycode 0x2c = slash question
89 control keycode 0x2c = Delete
90 alt keycode 0x2c = Meta_slash
93 keycode 0x2f = period greater
94 control keycode 0x2f = Compose
95 alt keycode 0x2f = Meta_period
96 keycode 0x30 = Tab Tab
97 alt keycode 0x30 = Meta_Tab
98 keycode 0x31 = space space
99 control keycode 0x31 = nul
100 alt keycode 0x31 = Meta_space
101 keycode 0x32 = grave asciitilde
102 control keycode 0x32 = nul
103 alt keycode 0x32 = Meta_grave
104 keycode 0x33 = Delete Delete
105 control keycode 0x33 = BackSpace
106 alt keycode 0x33 = Meta_Delete
108 keycode 0x35 = Escape Escape
109 alt keycode 0x35 = Meta_Escape
110 keycode 0x36 = Control
113 keycode 0x39 = Caps_Lock
116 alt keycode 0x3b = Decr_Console
118 alt keycode 0x3c = Incr_Console
123 keycode 0x41 = KP_Period
125 keycode 0x43 = KP_Multiply
127 keycode 0x45 = KP_Add
129 keycode 0x47 = Num_Lock
130 # shift keycode 0x47 = Bare_Num_Lock
134 keycode 0x4b = KP_Divide
135 keycode 0x4c = KP_Enter
137 keycode 0x4e = KP_Subtract
141 #keycode 0x51 = KP_Equals
143 alt keycode 0x52 = Ascii_0
144 altgr keycode 0x52 = Hex_0
146 alt keycode 0x53 = Ascii_1
147 altgr keycode 0x53 = Hex_1
149 alt keycode 0x54 = Ascii_2
150 altgr keycode 0x54 = Hex_2
152 alt keycode 0x55 = Ascii_3
153 altgr keycode 0x55 = Hex_3
155 alt keycode 0x56 = Ascii_4
156 altgr keycode 0x56 = Hex_4
158 alt keycode 0x57 = Ascii_5
159 altgr keycode 0x57 = Hex_5
161 alt keycode 0x58 = Ascii_6
162 altgr keycode 0x58 = Hex_6
164 alt keycode 0x59 = Ascii_7
165 altgr keycode 0x59 = Hex_7
167 alt keycode 0x5b = Ascii_8
168 altgr keycode 0x5b = Hex_8
170 alt keycode 0x5c = Ascii_9
171 altgr keycode 0x5c = Hex_9
175 keycode 0x60 = F5 F15 Console_17
176 control keycode 0x60 = F5
177 alt keycode 0x60 = Console_5
178 control alt keycode 0x60 = Console_5
179 keycode 0x61 = F6 F16 Console_18
180 control keycode 0x61 = F6
181 alt keycode 0x61 = Console_6
182 control alt keycode 0x61 = Console_6
183 keycode 0x62 = F7 F17 Console_19
184 control keycode 0x62 = F7
185 alt keycode 0x62 = Console_7
186 control alt keycode 0x62 = Console_7
187 keycode 0x63 = F3 F13 Console_15
188 control keycode 0x63 = F3
189 alt keycode 0x63 = Console_3
190 control alt keycode 0x63 = Console_3
191 keycode 0x64 = F8 F18 Console_20
192 control keycode 0x64 = F8
193 alt keycode 0x64 = Console_8
194 control alt keycode 0x64 = Console_8
195 keycode 0x65 = F9 F19 Console_21
196 control keycode 0x65 = F9
197 alt keycode 0x65 = Console_9
198 control alt keycode 0x65 = Console_9
200 keycode 0x67 = F11 F11 Console_23
201 control keycode 0x67 = F11
202 alt keycode 0x67 = Console_11
203 control alt keycode 0x67 = Console_11
207 keycode 0x6b = Scroll_Lock Show_Memory Show_Registers
208 control keycode 0x6b = Show_State
209 alt keycode 0x6b = Scroll_Lock
211 keycode 0x6d = F10 F20 Console_22
212 control keycode 0x6d = F10
213 alt keycode 0x6d = Console_10
214 control alt keycode 0x6d = Console_10
216 keycode 0x6f = F12 F12 Console_24
217 control keycode 0x6f = F12
218 alt keycode 0x6f = Console_12
219 control alt keycode 0x6f = Console_12
222 keycode 0x72 = Insert
225 shift keycode 0x74 = Scroll_Backward
226 keycode 0x75 = Remove
227 keycode 0x76 = F4 F14 Console_16
228 control keycode 0x76 = F4
229 alt keycode 0x76 = Console_4
230 control alt keycode 0x76 = Console_4
232 keycode 0x78 = F2 F12 Console_14
233 control keycode 0x78 = F2
234 alt keycode 0x78 = Console_2
235 control alt keycode 0x78 = Console_2
237 shift keycode 0x79 = Scroll_Forward
238 keycode 0x7a = F1 F11 Console_13
239 control keycode 0x7a = F1
240 alt keycode 0x7a = Console_1
241 control alt keycode 0x7a = Console_1
244 keycode 0x7d = Control
247 #keycode 0x7f = Power
248 control shift keycode 0x7f = Boot
249 string F1 = "\033[[A"
250 string F2 = "\033[[B"
251 string F3 = "\033[[C"
252 string F4 = "\033[[D"
253 string F5 = "\033[[E"
254 string F6 = "\033[17~"
255 string F7 = "\033[18~"
256 string F8 = "\033[19~"
257 string F9 = "\033[20~"
258 string F10 = "\033[21~"
259 string F11 = "\033[23~"
260 string F12 = "\033[24~"
261 string F13 = "\033[25~"
262 string F14 = "\033[26~"
263 string F15 = "\033[28~"
264 string F16 = "\033[29~"
265 string F17 = "\033[31~"
266 string F18 = "\033[32~"
267 string F19 = "\033[33~"
268 string F20 = "\033[34~"
269 string Find = "\033[1~"
270 string Insert = "\033[2~"
271 string Remove = "\033[3~"
272 string Select = "\033[4~"
273 string Prior = "\033[5~"
274 string Next = "\033[6~"
275 string Macro = "\033[M"
276 string Pause = "\033[P"
277 compose '`' 'A' to 'À'
278 compose '`' 'a' to 'à'
279 compose '\'' 'A' to 'Á'
280 compose '\'' 'a' to 'á'
281 compose '^' 'A' to 'Â'
282 compose '^' 'a' to 'â'
283 compose '~' 'A' to 'Ã'
284 compose '~' 'a' to 'ã'
285 compose '"' 'A' to 'Ä'
286 compose '"' 'a' to 'ä'
287 compose 'O' 'A' to 'Å'
288 compose 'o' 'a' to 'å'
289 compose '0' 'A' to 'Å'
290 compose '0' 'a' to 'å'
291 compose 'A' 'A' to 'Å'
292 compose 'a' 'a' to 'å'
293 compose 'A' 'E' to 'Æ'
294 compose 'a' 'e' to 'æ'
295 compose ',' 'C' to 'Ç'
296 compose ',' 'c' to 'ç'
297 compose '`' 'E' to 'È'
298 compose '`' 'e' to 'è'
299 compose '\'' 'E' to 'É'
300 compose '\'' 'e' to 'é'
301 compose '^' 'E' to 'Ê'
302 compose '^' 'e' to 'ê'
303 compose '"' 'E' to 'Ë'
304 compose '"' 'e' to 'ë'
305 compose '`' 'I' to 'Ì'
306 compose '`' 'i' to 'ì'
307 compose '\'' 'I' to 'Í'
308 compose '\'' 'i' to 'í'
309 compose '^' 'I' to 'Î'
310 compose '^' 'i' to 'î'
311 compose '"' 'I' to 'Ï'
312 compose '"' 'i' to 'ï'
313 compose '-' 'D' to 'Ð'
314 compose '-' 'd' to 'ð'
315 compose '~' 'N' to 'Ñ'
316 compose '~' 'n' to 'ñ'
317 compose '`' 'O' to 'Ò'
318 compose '`' 'o' to 'ò'
319 compose '\'' 'O' to 'Ó'
320 compose '\'' 'o' to 'ó'
321 compose '^' 'O' to 'Ô'
322 compose '^' 'o' to 'ô'
323 compose '~' 'O' to 'Õ'
324 compose '~' 'o' to 'õ'
325 compose '"' 'O' to 'Ö'
326 compose '"' 'o' to 'ö'
327 compose '/' 'O' to 'Ø'
328 compose '/' 'o' to 'ø'
329 compose '`' 'U' to 'Ù'
330 compose '`' 'u' to 'ù'
331 compose '\'' 'U' to 'Ú'
332 compose '\'' 'u' to 'ú'
333 compose '^' 'U' to 'Û'
334 compose '^' 'u' to 'û'
335 compose '"' 'U' to 'Ü'
336 compose '"' 'u' to 'ü'
337 compose '\'' 'Y' to 'Ý'
338 compose '\'' 'y' to 'ý'
339 compose 'T' 'H' to 'Þ'
340 compose 't' 'h' to 'þ'
341 compose 's' 's' to 'ß'
342 compose '"' 'y' to 'ÿ'
343 compose 's' 'z' to 'ß'
344 compose 'i' 'j' to 'ÿ'