1# Kernel keymap for Macintoshes. This uses 7 modifier combinations.
2keymaps 0-2,4-5,8,12
3# We use the Command (pretzel) key as Alt, and the Option key as AltGr.
4#
5keycode 0x00 = a
6	altgr   keycode 0x00 = Hex_A
7keycode 0x01 = s
8keycode 0x02 = d
9	altgr   keycode 0x02 = Hex_D
10keycode 0x03 = f
11	altgr   keycode 0x03 = Hex_F
12keycode 0x04 = h
13keycode 0x05 = g
14keycode 0x06 = z
15keycode 0x07 = x
16keycode 0x08 = c
17	altgr   keycode 0x08 = Hex_C
18keycode 0x09 = v
19keycode 0x0a =
20keycode 0x0b = b
21	altgr   keycode 0x0b = Hex_B
22keycode 0x0c = q
23keycode 0x0d = w
24keycode 0x0e = e
25	altgr   keycode 0x0e = Hex_E
26keycode 0x0f = r
27keycode 0x10 = y
28keycode 0x11 = t
29keycode 0x12 = one              exclam
30	alt     keycode 0x12 = Meta_one
31keycode 0x13 = two              at               at
32	control	keycode 0x13 = nul
33	shift	control	keycode 0x13 = nul
34	alt	keycode 0x13 = Meta_two
35keycode 0x14 = three            numbersign
36	control keycode 0x14 = Escape
37	alt     keycode 0x14 = Meta_three
38keycode 0x15 = four             dollar           dollar
39	control keycode 0x15 = Control_backslash
40	alt     keycode 0x15 = Meta_four
41keycode 0x16 = six              asciicircum
42	control keycode 0x16 = Control_asciicircum
43	alt     keycode 0x16 = Meta_six
44keycode 0x17 = five             percent
45	control keycode 0x17 = Control_bracketright
46	alt     keycode 0x17 = Meta_five
47keycode 0x18 = equal            plus
48	alt     keycode 0x18 = Meta_equal
49keycode 0x19 = nine             parenleft        bracketright
50	alt     keycode 0x19 = Meta_nine
51keycode 0x1a = seven            ampersand        braceleft
52	control keycode 0x1a = Control_underscore
53	alt     keycode 0x1a = Meta_seven
54keycode 0x1b = minus            underscore       backslash
55	control	keycode 0x1b = Control_underscore
56	shift	control	keycode 0x1b = Control_underscore
57	alt	keycode 0x1b = Meta_minus
58keycode 0x1c = eight            asterisk         bracketleft
59	control keycode 0x1c = Delete
60	alt     keycode 0x1c = Meta_eight
61keycode 0x1d = zero             parenright       braceright
62	alt     keycode 0x1d = Meta_zero
63keycode 0x1e = bracketright     braceright       asciitilde
64	control keycode 0x1e = Control_bracketright
65	alt     keycode 0x1e = Meta_bracketright
66keycode 0x1f = o
67keycode 0x20 = u
68keycode 0x21 = bracketleft      braceleft
69	control keycode 0x21 = Escape
70	alt     keycode 0x21 = Meta_bracketleft
71keycode 0x22 = i
72keycode 0x23 = p
73keycode 0x24 = Return
74	alt     keycode 0x24 = Meta_Control_m
75keycode 0x25 = l
76keycode 0x26 = j
77keycode 0x27 = apostrophe       quotedbl
78	control keycode 0x27 = Control_g
79	alt     keycode 0x27 = Meta_apostrophe
80keycode 0x28 = k
81keycode 0x29 = semicolon        colon
82	alt     keycode 0x29 = Meta_semicolon
83keycode 0x2a = backslash        bar
84	control keycode 0x2a = Control_backslash
85	alt     keycode 0x2a = Meta_backslash
86keycode 0x2b = comma            less
87	alt     keycode 0x2b = Meta_comma
88keycode 0x2c = slash            question
89	control keycode 0x2c = Delete
90	alt     keycode 0x2c = Meta_slash
91keycode 0x2d = n
92keycode 0x2e = m
93keycode 0x2f = period           greater
94	control keycode 0x2f = Compose
95	alt     keycode 0x2f = Meta_period
96keycode 0x30 = Tab              Tab
97	alt     keycode 0x30 = Meta_Tab
98keycode 0x31 = space            space
99	control keycode 0x31 = nul
100	alt     keycode 0x31 = Meta_space
101keycode 0x32 = grave            asciitilde
102	control keycode 0x32 = nul
103	alt     keycode 0x32 = Meta_grave
104keycode 0x33 = Delete           Delete
105	control keycode 0x33 = BackSpace
106	alt     keycode 0x33 = Meta_Delete
107keycode 0x34 =
108keycode 0x35 = Escape           Escape
109	alt     keycode 0x35 = Meta_Escape
110keycode 0x36 = Control
111keycode 0x37 = Alt
112keycode 0x38 = Shift
113keycode 0x39 = Caps_Lock
114keycode 0x3a = AltGr
115keycode 0x3b = Left
116	alt     keycode 0x3b = Decr_Console
117keycode 0x3c = Right
118	alt     keycode 0x3c = Incr_Console
119keycode 0x3d = Down
120keycode 0x3e = Up
121keycode 0x3f =
122keycode 0x40 =
123keycode 0x41 = KP_Period
124keycode 0x42 =
125keycode 0x43 = KP_Multiply
126keycode 0x44 =
127keycode 0x45 = KP_Add
128keycode 0x46 =
129keycode 0x47 = Num_Lock
130#	shift   keycode 0x47 = Bare_Num_Lock
131keycode 0x48 =
132keycode 0x49 =
133keycode 0x4a =
134keycode 0x4b = KP_Divide
135keycode 0x4c = KP_Enter
136keycode 0x4d =
137keycode 0x4e = KP_Subtract
138keycode 0x4f =
139keycode 0x50 =
140keycode 0x51 =
141#keycode 0x51 = KP_Equals
142keycode 0x52 = KP_0
143	alt     keycode 0x52 = Ascii_0
144	altgr   keycode 0x52 = Hex_0
145keycode 0x53 = KP_1
146	alt     keycode 0x53 = Ascii_1
147	altgr   keycode 0x53 = Hex_1
148keycode 0x54 = KP_2
149	alt     keycode 0x54 = Ascii_2
150	altgr   keycode 0x54 = Hex_2
151keycode 0x55 = KP_3
152	alt     keycode 0x55 = Ascii_3
153	altgr   keycode 0x55 = Hex_3
154keycode 0x56 = KP_4
155	alt     keycode 0x56 = Ascii_4
156	altgr   keycode 0x56 = Hex_4
157keycode 0x57 = KP_5
158	alt     keycode 0x57 = Ascii_5
159	altgr   keycode 0x57 = Hex_5
160keycode 0x58 = KP_6
161	alt     keycode 0x58 = Ascii_6
162	altgr   keycode 0x58 = Hex_6
163keycode 0x59 = KP_7
164	alt     keycode 0x59 = Ascii_7
165	altgr   keycode 0x59 = Hex_7
166keycode 0x5b = KP_8
167	alt     keycode 0x5b = Ascii_8
168	altgr   keycode 0x5b = Hex_8
169keycode 0x5c = KP_9
170	alt     keycode 0x5c = Ascii_9
171	altgr   keycode 0x5c = Hex_9
172keycode 0x5d =
173keycode 0x5e =
174keycode 0x5f =
175keycode 0x60 = F5               F15              Console_17
176	control keycode 0x60 = F5
177	alt     keycode 0x60 = Console_5
178	control alt     keycode 0x60 = Console_5
179keycode 0x61 = F6               F16              Console_18
180	control keycode 0x61 = F6
181	alt     keycode 0x61 = Console_6
182	control alt     keycode 0x61 = Console_6
183keycode 0x62 = F7               F17              Console_19
184	control keycode 0x62 = F7
185	alt     keycode 0x62 = Console_7
186	control alt     keycode 0x62 = Console_7
187keycode 0x63 = F3               F13              Console_15
188	control keycode 0x63 = F3
189	alt     keycode 0x63 = Console_3
190	control alt     keycode 0x63 = Console_3
191keycode 0x64 = F8               F18              Console_20
192	control keycode 0x64 = F8
193	alt     keycode 0x64 = Console_8
194	control alt     keycode 0x64 = Console_8
195keycode 0x65 = F9               F19              Console_21
196	control keycode 0x65 = F9
197	alt     keycode 0x65 = Console_9
198	control alt     keycode 0x65 = Console_9
199keycode 0x66 =
200keycode 0x67 = F11              F11              Console_23
201	control keycode 0x67 = F11
202	alt     keycode 0x67 = Console_11
203	control alt     keycode 0x67 = Console_11
204keycode 0x68 =
205keycode 0x69 = F13
206keycode 0x6a =
207keycode 0x6b = Scroll_Lock      Show_Memory      Show_Registers
208	control keycode 0x6b = Show_State
209	alt     keycode 0x6b = Scroll_Lock
210keycode 0x6c =
211keycode 0x6d = F10              F20              Console_22
212	control keycode 0x6d = F10
213	alt     keycode 0x6d = Console_10
214	control alt     keycode 0x6d = Console_10
215keycode 0x6e =
216keycode 0x6f = F12              F12              Console_24
217	control keycode 0x6f = F12
218	alt     keycode 0x6f = Console_12
219	control alt     keycode 0x6f = Console_12
220keycode 0x70 =
221keycode 0x71 = Pause
222keycode 0x72 = Insert
223keycode 0x73 = Home
224keycode 0x74 = Prior
225	shift   keycode 0x74 = Scroll_Backward
226keycode 0x75 = Remove
227keycode 0x76 = F4               F14              Console_16
228	control keycode 0x76 = F4
229	alt     keycode 0x76 = Console_4
230	control alt     keycode 0x76 = Console_4
231keycode 0x77 = End
232keycode 0x78 = F2               F12              Console_14
233	control keycode 0x78 = F2
234	alt     keycode 0x78 = Console_2
235	control alt     keycode 0x78 = Console_2
236keycode 0x79 = Next
237	shift   keycode 0x79 = Scroll_Forward
238keycode 0x7a = F1               F11              Console_13
239	control keycode 0x7a = F1
240	alt     keycode 0x7a = Console_1
241	control alt     keycode 0x7a = Console_1
242keycode 0x7b = Shift
243keycode 0x7c = AltGr
244keycode 0x7d = Control
245keycode 0x7e =
246keycode 0x7f =
247#keycode 0x7f = Power
248	control shift   keycode 0x7f = Boot
249string F1 = "\033[[A"
250string F2 = "\033[[B"
251string F3 = "\033[[C"
252string F4 = "\033[[D"
253string F5 = "\033[[E"
254string F6 = "\033[17~"
255string F7 = "\033[18~"
256string F8 = "\033[19~"
257string F9 = "\033[20~"
258string F10 = "\033[21~"
259string F11 = "\033[23~"
260string F12 = "\033[24~"
261string F13 = "\033[25~"
262string F14 = "\033[26~"
263string F15 = "\033[28~"
264string F16 = "\033[29~"
265string F17 = "\033[31~"
266string F18 = "\033[32~"
267string F19 = "\033[33~"
268string F20 = "\033[34~"
269string Find = "\033[1~"
270string Insert = "\033[2~"
271string Remove = "\033[3~"
272string Select = "\033[4~"
273string Prior = "\033[5~"
274string Next = "\033[6~"
275string Macro = "\033[M"
276string Pause = "\033[P"
277compose '`' 'A' to '�'
278compose '`' 'a' to '�'
279compose '\'' 'A' to '�'
280compose '\'' 'a' to '�'
281compose '^' 'A' to '�'
282compose '^' 'a' to '�'
283compose '~' 'A' to '�'
284compose '~' 'a' to '�'
285compose '"' 'A' to '�'
286compose '"' 'a' to '�'
287compose 'O' 'A' to '�'
288compose 'o' 'a' to '�'
289compose '0' 'A' to '�'
290compose '0' 'a' to '�'
291compose 'A' 'A' to '�'
292compose 'a' 'a' to '�'
293compose 'A' 'E' to '�'
294compose 'a' 'e' to '�'
295compose ',' 'C' to '�'
296compose ',' 'c' to '�'
297compose '`' 'E' to '�'
298compose '`' 'e' to '�'
299compose '\'' 'E' to '�'
300compose '\'' 'e' to '�'
301compose '^' 'E' to '�'
302compose '^' 'e' to '�'
303compose '"' 'E' to '�'
304compose '"' 'e' to '�'
305compose '`' 'I' to '�'
306compose '`' 'i' to '�'
307compose '\'' 'I' to '�'
308compose '\'' 'i' to '�'
309compose '^' 'I' to '�'
310compose '^' 'i' to '�'
311compose '"' 'I' to '�'
312compose '"' 'i' to '�'
313compose '-' 'D' to '�'
314compose '-' 'd' to '�'
315compose '~' 'N' to '�'
316compose '~' 'n' to '�'
317compose '`' 'O' to '�'
318compose '`' 'o' to '�'
319compose '\'' 'O' to '�'
320compose '\'' 'o' to '�'
321compose '^' 'O' to '�'
322compose '^' 'o' to '�'
323compose '~' 'O' to '�'
324compose '~' 'o' to '�'
325compose '"' 'O' to '�'
326compose '"' 'o' to '�'
327compose '/' 'O' to '�'
328compose '/' 'o' to '�'
329compose '`' 'U' to '�'
330compose '`' 'u' to '�'
331compose '\'' 'U' to '�'
332compose '\'' 'u' to '�'
333compose '^' 'U' to '�'
334compose '^' 'u' to '�'
335compose '"' 'U' to '�'
336compose '"' 'u' to '�'
337compose '\'' 'Y' to '�'
338compose '\'' 'y' to '�'
339compose 'T' 'H' to '�'
340compose 't' 'h' to '�'
341compose 's' 's' to '�'
342compose '"' 'y' to '�'
343compose 's' 'z' to '�'
344compose 'i' 'j' to '�'
345