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