|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: /* Copyright (c) 1992 NeXT Computer, Inc. All rights reserverd
26: *
27: * PCKeymap.c - Declaration of the PC's default keymap string
28: *
29: * HISTORY
30: * 07 Dec 1992 Joe Pasqua
31: * Created true PC version.
32: * 11 April 1997 Simon Douglas
33: * Apple ADB version.
34: */
35:
36: #import <bsd/dev/event.h>
37: #import <bsd/dev/ev_keymap.h>
38: #import <bsd/dev/ev_keymap.h>
39: #import "PPCKeyboardPriv.h"
40:
41: #define CTRL(c) ((c)&037)
42:
43: static const unsigned char PPCDefaultKeymap[] = {
44: 0x00, 0x00, /* char file format */
45: 6, /* Modifier key definitions */
46: NX_MODIFIERKEY_SHIFT, 0x02, ADBK_SHIFT, ADBK_SHIFT_R, /* Shift, 2 keys */
47: NX_MODIFIERKEY_CONTROL, 0x02, ADBK_CONTROL, ADBK_CONTROL_R, /* Ctrl, 2 keys */
48: NX_MODIFIERKEY_ALTERNATE, 0x02, ADBK_OPTION, ADBK_OPTION_R, /* Alt, 2 keys */
49: NX_MODIFIERKEY_COMMAND, 0x01, ADBK_FLOWER, /* Cmd, 1 key */
50: NX_MODIFIERKEY_NUMERICPAD, 0x15, /* NumPad, 21 key(s) */
51: 0x52, 0x41, 0x4c, // 0 . Enter
52: 0x53, 0x54, 0x55, // 1 2 3
53: 0x56, 0x57, 0x58, 0x45, // 4 5 6 +
54: 0x59, 0x5b, 0x5c, // 7 8 9
55: ADBK_NUMLOCK, 0x51, 0x4b, 0x43,
56: ADBK_UP, ADBK_DOWN, ADBK_LEFT, ADBK_RIGHT,
57: NX_MODIFIERKEY_HELP, 0x01, 0x72, /* The help key */
58: 93, /* Key Definitions */
59:
60: /* Key 0x00 modifier key mask bits (0x0d) */
61: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
62: (1<<NX_MODIFIERKEY_ALTERNATE),
63: NX_ASCIISET, 'a', /* no flags */
64: NX_ASCIISET, 'A', /* AlphaShift */
65: NX_ASCIISET, CTRL('A'), /* Ctrl */
66: NX_ASCIISET, CTRL('A'), /* AlphaShift Ctrl */
67: NX_ASCIISET, 0xca, /* Alt */
68: NX_ASCIISET, 0xc7, /* AlphaShift Alt */
69: NX_ASCIISET, CTRL('A'), /* Ctrl Alt */
70: NX_ASCIISET, CTRL('A'), /* AlphaShift Ctrl Alt */
71: /* Key 0x01 modifier key mask bits (0x0d) */
72: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
73: (1<<NX_MODIFIERKEY_ALTERNATE),
74: NX_ASCIISET, 's', /* no flags */
75: NX_ASCIISET, 'S', /* AlphaShift */
76: NX_ASCIISET, CTRL('S'), /* Ctrl */
77: NX_ASCIISET, CTRL('S'), /* AlphaShift Ctrl */
78: NX_ASCIISET, 0xfb, /* Alt */
79: NX_ASCIISET, 0xa7, /* AlphaShift Alt */
80: NX_ASCIISET, CTRL('S'), /* Ctrl Alt */
81: NX_ASCIISET, CTRL('S'), /* AlphaShift Ctrl Alt */
82: /* Key 0x02 modifier key mask bits (0x0d) */
83: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
84: (1<<NX_MODIFIERKEY_ALTERNATE),
85: NX_ASCIISET, 'd', /* no flags */
86: NX_ASCIISET, 'D', /* AlphaShift */
87: NX_ASCIISET, CTRL('D'), /* Ctrl */
88: NX_ASCIISET, CTRL('D'), /* AlphaShift Ctrl */
89: NX_SYMBOLSET, 0x44, /* Alt */
90: NX_SYMBOLSET, 0xb6, /* AlphaShift Alt */
91: NX_ASCIISET, CTRL('D'), /* Ctrl Alt */
92: NX_ASCIISET, CTRL('D'), /* AlphaShift Ctrl Alt */
93: /* Key 0x03 modifier key mask bits (0x0d) */
94: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
95: (1<<NX_MODIFIERKEY_ALTERNATE),
96: NX_ASCIISET, 'f', /* no flags */
97: NX_ASCIISET, 'F', /* AlphaShift */
98: NX_ASCIISET, CTRL('F'), /* Ctrl */
99: NX_ASCIISET, CTRL('F'), /* AlphaShift Ctrl */
100: NX_ASCIISET, 0xa6, /* Alt */
101: NX_SYMBOLSET, 0xac, /* AlphaShift Alt */
102: NX_ASCIISET, CTRL('F'), /* Ctrl Alt */
103: NX_ASCIISET, CTRL('F'), /* AlphaShift Ctrl Alt */
104: /* Key 0x04 modifier key mask bits (0x0d) */
105: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
106: (1<<NX_MODIFIERKEY_ALTERNATE),
107: NX_ASCIISET, 'h', /* no flags */
108: NX_ASCIISET, 'H', /* AlphaShift */
109: NX_ASCIISET, '\b', /* Ctrl */
110: NX_ASCIISET, '\b', /* AlphaShift Ctrl */
111: NX_ASCIISET, 0xe3, /* Alt */
112: NX_ASCIISET, 0xeb, /* AlphaShift Alt */
113: NX_ASCIISET, CTRL('@'), /* Ctrl Alt */
114: 0x18, CTRL('@'), /* AlphaShift Ctrl Alt */
115: /* Key 0x05 modifier key mask bits (0x0d) */
116: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
117: (1<<NX_MODIFIERKEY_ALTERNATE),
118: NX_ASCIISET, 'g', /* no flags */
119: NX_ASCIISET, 'G', /* AlphaShift */
120: NX_ASCIISET, CTRL('G'), /* Ctrl */
121: NX_ASCIISET, CTRL('G'), /* AlphaShift Ctrl */
122: NX_ASCIISET, 0xf1, /* Alt */
123: NX_ASCIISET, 0xe1, /* AlphaShift Alt */
124: NX_ASCIISET, CTRL('G'), /* Ctrl Alt */
125: NX_ASCIISET, CTRL('G'), /* AlphaShift Ctrl Alt */
126: /* Key 0x06 modifier key mask bits (0x0d) */
127: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
128: (1<<NX_MODIFIERKEY_ALTERNATE),
129: NX_ASCIISET, 'z', /* no flags */
130: NX_ASCIISET, 'Z', /* AlphaShift */
131: NX_ASCIISET, CTRL('Z'), /* Ctrl */
132: NX_ASCIISET, CTRL('Z'), /* AlphaShift Ctrl */
133: NX_ASCIISET, 0xcf, /* Alt */
134: NX_SYMBOLSET, 0x57, /* AlphaShift Alt */
135: NX_ASCIISET, CTRL('Z'), /* Ctrl Alt */
136: NX_ASCIISET, CTRL('Z'), /* AlphaShift Ctrl Alt */
137: /* Key 0x07 modifier key mask bits (0x0d) */
138: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
139: (1<<NX_MODIFIERKEY_ALTERNATE),
140: NX_ASCIISET, 'x', /* no flags */
141: NX_ASCIISET, 'X', /* AlphaShift */
142: NX_ASCIISET, CTRL('X'), /* Ctrl */
143: NX_ASCIISET, CTRL('X'), /* AlphaShift Ctrl */
144: NX_SYMBOLSET, 0xb4, /* Alt */
145: NX_SYMBOLSET, 0xce, /* AlphaShift Alt */
146: NX_ASCIISET, CTRL('X'), /* Ctrl Alt */
147: NX_ASCIISET, CTRL('X'), /* AlphaShift Ctrl Alt */
148: /* Key 0x08 modifier key mask bits (0x0d) */
149: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
150: (1<<NX_MODIFIERKEY_ALTERNATE),
151: NX_ASCIISET, 'c', /* no flags */
152: NX_ASCIISET, 'C', /* AlphaShift */
153: NX_ASCIISET, CTRL('C'), /* Ctrl */
154: NX_ASCIISET, CTRL('C'), /* AlphaShift Ctrl */
155: NX_SYMBOLSET, 0xe3, /* Alt */
156: NX_SYMBOLSET, 0xd3, /* AlphaShift Alt */
157: NX_ASCIISET, CTRL('C'), /* Ctrl Alt */
158: NX_ASCIISET, CTRL('C'), /* AlphaShift Ctrl Alt */
159: /* Key 0x09 modifier key mask bits (0x0d) */
160: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
161: (1<<NX_MODIFIERKEY_ALTERNATE),
162: NX_ASCIISET, 'v', /* no flags */
163: NX_ASCIISET, 'V', /* AlphaShift */
164: NX_ASCIISET, CTRL('V'), /* Ctrl */
165: NX_ASCIISET, CTRL('V'), /* AlphaShift Ctrl */
166: NX_SYMBOLSET, 0xd6, /* Alt */
167: NX_SYMBOLSET, 0xe0, /* AlphaShift Alt */
168: NX_ASCIISET, CTRL('V'), /* Ctrl Alt */
169: NX_ASCIISET, CTRL('V'), /* AlphaShift Ctrl Alt */
170: 0xff, /* Key 0x0a unassigned */
171: /* Key 0x0b modifier key mask bits (0x0d) */
172: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
173: (1<<NX_MODIFIERKEY_ALTERNATE),
174: NX_ASCIISET, 'b', /* no flags */
175: NX_ASCIISET, 'B', /* AlphaShift */
176: NX_ASCIISET, CTRL('B'), /* Ctrl */
177: NX_ASCIISET, CTRL('B'), /* AlphaShift Ctrl */
178: NX_SYMBOLSET, 0xe5, /* Alt */
179: NX_SYMBOLSET, 0xf2, /* AlphaShift Alt */
180: NX_ASCIISET, CTRL('B'), /* Ctrl Alt */
181: NX_ASCIISET, CTRL('B'), /* AlphaShift Ctrl Alt */
182:
183: /* Key 0x0c modifier key mask bits (0x0d) */
184: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
185: (1<<NX_MODIFIERKEY_ALTERNATE),
186: NX_ASCIISET, 'q', /* no flags */
187: NX_ASCIISET, 'Q', /* AlphaShift */
188: NX_ASCIISET, CTRL('Q'), /* Ctrl */
189: NX_ASCIISET, CTRL('Q'), /* AlphaShift Ctrl */
190: NX_ASCIISET, 0xfa, /* Alt */
191: NX_ASCIISET, 0xea, /* AlphaShift Alt */
192: NX_ASCIISET, CTRL('Q'), /* Ctrl Alt */
193: NX_ASCIISET, CTRL('Q'), /* AlphaShift Ctrl Alt */
194: /* Key 0x0d modifier key mask bits (0x0d) */
195: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
196: (1<<NX_MODIFIERKEY_ALTERNATE),
197: NX_ASCIISET, 'w', /* no flags */
198: NX_ASCIISET, 'W', /* AlphaShift */
199: NX_ASCIISET, CTRL('W'), /* Ctrl */
200: NX_ASCIISET, CTRL('W'), /* AlphaShift Ctrl */
201: NX_SYMBOLSET, 0xc8, /* Alt */
202: NX_SYMBOLSET, 0xc7, /* AlphaShift Alt */
203: NX_ASCIISET, CTRL('W'), /* Ctrl Alt */
204: NX_ASCIISET, CTRL('W'), /* AlphaShift Ctrl Alt */
205: /* Key 0x0e modifier key mask bits (0x0d) */
206: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
207: (1<<NX_MODIFIERKEY_ALTERNATE),
208: NX_ASCIISET, 'e', /* no flags */
209: NX_ASCIISET, 'E', /* AlphaShift */
210: NX_ASCIISET, CTRL('E'), /* Ctrl */
211: NX_ASCIISET, CTRL('E'), /* AlphaShift Ctrl */
212: NX_ASCIISET, 0xc2, /* Alt */
213: NX_ASCIISET, 0xc5, /* AlphaShift Alt */
214: NX_ASCIISET, CTRL('E'), /* Ctrl Alt */
215: NX_ASCIISET, CTRL('E'), /* AlphaShift Ctrl Alt */
216: /* Key 0x0f modifier key mask bits (0x0d) */
217: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
218: (1<<NX_MODIFIERKEY_ALTERNATE),
219: NX_ASCIISET, 'r', /* no flags */
220: NX_ASCIISET, 'R', /* AlphaShift */
221: NX_ASCIISET, CTRL('R'), /* Ctrl */
222: NX_ASCIISET, CTRL('R'), /* AlphaShift Ctrl */
223: NX_SYMBOLSET, 0xe2, /* Alt */
224: NX_SYMBOLSET, 0xd2, /* AlphaShift Alt */
225: NX_ASCIISET, CTRL('R'), /* Ctrl Alt */
226: NX_ASCIISET, CTRL('R'), /* AlphaShift Ctrl Alt */
227: /* Key 0x10 modifier key mask bits (0x0d) */
228: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
229: (1<<NX_MODIFIERKEY_ALTERNATE),
230: NX_ASCIISET, 'y', /* no flags */
231: NX_ASCIISET, 'Y', /* AlphaShift */
232: NX_ASCIISET, CTRL('Y'), /* Ctrl */
233: NX_ASCIISET, CTRL('Y'), /* AlphaShift Ctrl */
234: NX_ASCIISET, 0xa5, /* Alt */
235: NX_SYMBOLSET, 0xdb, /* AlphaShift Alt */
236: NX_ASCIISET, CTRL('Y'), /* Ctrl Alt */
237: NX_ASCIISET, CTRL('Y'), /* AlphaShift Ctrl Alt */
238: /* Key 0x11 modifier key mask bits (0x0d) */
239: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
240: (1<<NX_MODIFIERKEY_ALTERNATE),
241: NX_ASCIISET, 't', /* no flags */
242: NX_ASCIISET, 'T', /* AlphaShift */
243: NX_ASCIISET, CTRL('T'), /* Ctrl */
244: NX_ASCIISET, CTRL('T'), /* AlphaShift Ctrl */
245: NX_SYMBOLSET, 0xe4, /* Alt */
246: NX_SYMBOLSET, 0xd4, /* AlphaShift Alt */
247: NX_ASCIISET, CTRL('T'), /* Ctrl Alt */
248: NX_ASCIISET, CTRL('T'), /* AlphaShift Ctrl Alt */
249:
250: /* Key 0x12 modifier key mask bits (0x0a) */
251: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
252: NX_ASCIISET, '1', /* no flags */
253: NX_ASCIISET, '!', /* Shift */
254: NX_SYMBOLSET, 0xad, /* Alt */
255: NX_ASCIISET, 0xa1, /* Shift Alt */
256: /* Key 0x13 modifier key mask bits (0x0e) */
257: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
258: (1<<NX_MODIFIERKEY_ALTERNATE),
259: NX_ASCIISET, '2', /* no flags */
260: NX_ASCIISET, '@', /* Shift */
261: NX_ASCIISET, CTRL('@'), /* Ctrl */
262: NX_ASCIISET, CTRL('@'), /* Shift Ctrl */
263: NX_ASCIISET, 0xb2, /* Alt */
264: NX_ASCIISET, 0xb3, /* Shift Alt */
265: NX_ASCIISET, CTRL('@'), /* Ctrl Alt */
266: NX_ASCIISET, CTRL('@'), /* Shift Ctrl Alt */
267: /* Key 0x14 modifier key mask bits (0x0a) */
268: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
269: NX_ASCIISET, '3', /* no flags */
270: NX_ASCIISET, '#', /* Shift */
271: NX_ASCIISET, 0xa3, /* Alt */
272: NX_SYMBOLSET, 0xba, /* Shift Alt */
273: /* Key 0x15 modifier key mask bits (0x0a) */
274: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
275: NX_ASCIISET, '4', /* no flags */
276: NX_ASCIISET, '$', /* Shift */
277: NX_ASCIISET, 0xa2, /* Alt */
278: NX_ASCIISET, 0xa8, /* Shift Alt */
279: /* Key 0x16 modifier key mask bits (0x0e) */
280: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
281: (1<<NX_MODIFIERKEY_ALTERNATE),
282: NX_ASCIISET, '6', /* no flags */
283: NX_ASCIISET, '^', /* Shift */
284: NX_ASCIISET, CTRL('^'), /* Ctrl */
285: NX_ASCIISET, CTRL('^'), /* Shift Ctrl */
286: NX_ASCIISET, 0xb6, /* Alt */
287: NX_ASCIISET, 0xc3, /* Shift Alt */
288: NX_ASCIISET, CTRL('^'), /* Ctrl Alt */
289: NX_ASCIISET, CTRL('^'), /* Shift Ctrl Alt */
290: /* Key 0x17 modifier key mask bits (0x0a) */
291: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
292: NX_ASCIISET, '5', /* no flags */
293: NX_ASCIISET, '%', /* Shift */
294: NX_SYMBOLSET, 0xa5, /* Alt */
295: NX_ASCIISET, 0xbd, /* Shift Alt */
296: /* Key 0x18 modifier key mask bits (0x0a) */
297: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
298: NX_ASCIISET, '=', /* no flags */
299: NX_ASCIISET, '+', /* Shift */
300: NX_SYMBOLSET, 0xb9, /* Alt */
301: NX_SYMBOLSET, 0xb1, /* Shift Alt */
302: /* Key 0x19 modifier key mask bits (0x0a) */
303: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
304: NX_ASCIISET, '9', /* no flags */
305: NX_ASCIISET, '(', /* Shift */
306: NX_ASCIISET, 0xac, /* Alt */
307: NX_ASCIISET, 0xab, /* Shift Alt */
308: /* Key 0x1a modifier key mask bits (0x0a) */
309: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
310: NX_ASCIISET, '7', /* no flags */
311: NX_ASCIISET, '&', /* Shift */
312: NX_ASCIISET, 0xb7, /* Alt */
313: NX_SYMBOLSET, 0xab, /* Shift Alt */
314: /* Key 0x1b modifier key mask bits (0x0e) */
315: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
316: (1<<NX_MODIFIERKEY_ALTERNATE),
317: NX_ASCIISET, '-', /* no flags */
318: NX_ASCIISET, '_', /* Shift */
319: NX_ASCIISET, CTRL('_'), /* Ctrl */
320: NX_ASCIISET, CTRL('_'), /* Shift Ctrl */
321: NX_ASCIISET, 0xb1, /* Alt */
322: NX_ASCIISET, 0xd0, /* Shift Alt */
323: NX_ASCIISET, CTRL('_'), /* Ctrl Alt */
324: NX_ASCIISET, CTRL('_'), /* Shift Ctrl Alt */
325: /* Key 0x1c modifier key mask bits (0x0a) */
326: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
327: NX_ASCIISET, '8', /* no flags */
328: NX_ASCIISET, '*', /* Shift */
329: NX_SYMBOLSET, 0xb0, /* Alt */
330: NX_ASCIISET, 0xb4, /* Shift Alt */
331: /* Key 0x1d modifier key mask bits (0x0a) */
332: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
333: NX_ASCIISET, '0', /* no flags */
334: NX_ASCIISET, ')', /* Shift */
335: NX_ASCIISET, 0xad, /* Alt */
336: NX_ASCIISET, 0xbb, /* Shift Alt */
337: /* Key 0x1e modifier key mask bits (0x0e) */
338: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
339: (1<<NX_MODIFIERKEY_ALTERNATE),
340: NX_ASCIISET, ']', /* no flags */
341: NX_ASCIISET, '}', /* Shift */
342: NX_ASCIISET, CTRL(']'), /* Ctrl */
343: NX_ASCIISET, CTRL(']'), /* Shift Ctrl */
344: NX_ASCIISET, '\'', /* Alt */
345: NX_ASCIISET, 0xba, /* Shift Alt */
346: NX_ASCIISET, CTRL(']'), /* Ctrl Alt */
347: NX_ASCIISET, CTRL(']'), /* Shift Ctrl Alt */
348: /* Key 0x1f modifier key mask bits (0x0d) */
349: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
350: (1<<NX_MODIFIERKEY_ALTERNATE),
351: NX_ASCIISET, 'o', /* no flags */
352: NX_ASCIISET, 'O', /* AlphaShift */
353: NX_ASCIISET, CTRL('O'), /* Ctrl */
354: NX_ASCIISET, CTRL('O'), /* AlphaShift Ctrl */
355: NX_ASCIISET, 0xf9, /* Alt */
356: NX_ASCIISET, 0xe9, /* AlphaShift Alt */
357: NX_ASCIISET, CTRL('O'), /* Ctrl Alt */
358: NX_ASCIISET, CTRL('O'), /* AlphaShift Ctrl Alt */
359: /* Key 0x20 modifier key mask bits (0x0d) */
360: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
361: (1<<NX_MODIFIERKEY_ALTERNATE),
362: NX_ASCIISET, 'u', /* no flags */
363: NX_ASCIISET, 'U', /* AlphaShift */
364: NX_ASCIISET, CTRL('U'), /* Ctrl */
365: NX_ASCIISET, CTRL('U'), /* AlphaShift Ctrl */
366: NX_ASCIISET, 0xc8, /* Alt */
367: NX_ASCIISET, 0xcd, /* AlphaShift Alt */
368: NX_ASCIISET, CTRL('U'), /* Ctrl Alt */
369: NX_ASCIISET, CTRL('U'), /* AlphaShift Ctrl Alt */
370: /* Key 0x21 modifier key mask bits (0x0e) */
371: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
372: (1<<NX_MODIFIERKEY_ALTERNATE),
373: NX_ASCIISET, '[', /* no flags */
374: NX_ASCIISET, '{', /* Shift */
375: NX_ASCIISET, CTRL('['), /* Ctrl */
376: NX_ASCIISET, CTRL('['), /* Shift Ctrl */
377: NX_ASCIISET, '`', /* Alt */
378: NX_ASCIISET, 0xaa, /* Shift Alt */
379: NX_ASCIISET, CTRL('['), /* Ctrl Alt */
380: NX_ASCIISET, CTRL('['), /* Shift Ctrl Alt */
381: /* Key 0x22 modifier key mask bits (0x0d) */
382: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
383: (1<<NX_MODIFIERKEY_ALTERNATE),
384: NX_ASCIISET, 'i', /* no flags */
385: NX_ASCIISET, 'I', /* AlphaShift */
386: NX_ASCIISET, '\t', /* Ctrl */
387: NX_ASCIISET, '\t', /* AlphaShift Ctrl */
388: NX_ASCIISET, 0xc1, /* Alt */
389: NX_ASCIISET, 0xf5, /* AlphaShift Alt */
390: NX_ASCIISET, '\t', /* Ctrl Alt */
391: NX_ASCIISET, '\t', /* AlphaShift Ctrl Alt */
392: /* Key 0x23 modifier key mask bits (0x0d) */
393: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
394: (1<<NX_MODIFIERKEY_ALTERNATE),
395: NX_ASCIISET, 'p', /* no flags */
396: NX_ASCIISET, 'P', /* AlphaShift */
397: NX_ASCIISET, CTRL('P'), /* Ctrl */
398: NX_ASCIISET, CTRL('P'), /* AlphaShift Ctrl */
399: NX_SYMBOLSET, 0x70, /* Alt */
400: NX_SYMBOLSET, 0x50, /* AlphaShift Alt */
401: NX_ASCIISET, CTRL('P'), /* Ctrl Alt */
402: NX_ASCIISET, CTRL('P'), /* AlphaShift Ctrl Alt */
403: /* Key 0x24 modifier key mask bits (0x10) */
404: (1<<NX_MODIFIERKEY_COMMAND),
405: NX_ASCIISET, '\r', /* no flags */
406: NX_ASCIISET, CTRL('C'), /* Cmd */
407: /* Key 0x25 modifier key mask bits (0x0d) */
408: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
409: (1<<NX_MODIFIERKEY_ALTERNATE),
410: NX_ASCIISET, 'l', /* no flags */
411: NX_ASCIISET, 'L', /* AlphaShift */
412: NX_ASCIISET, '\f', /* Ctrl */
413: NX_ASCIISET, '\f', /* AlphaShift Ctrl */
414: NX_ASCIISET, 0xf8, /* Alt */
415: NX_ASCIISET, 0xe8, /* AlphaShift Alt */
416: NX_ASCIISET, '\f', /* Ctrl Alt */
417: NX_ASCIISET, '\f', /* AlphaShift Ctrl Alt */
418: /* Key 0x26 modifier key mask bits (0x0d) */
419: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
420: (1<<NX_MODIFIERKEY_ALTERNATE),
421: NX_ASCIISET, 'j', /* no flags */
422: NX_ASCIISET, 'J', /* AlphaShift */
423: NX_ASCIISET, '\n', /* Ctrl */
424: NX_ASCIISET, '\n', /* AlphaShift Ctrl */
425: NX_ASCIISET, 0xc6, /* Alt */
426: NX_ASCIISET, 0xae, /* AlphaShift Alt */
427: NX_ASCIISET, '\n', /* Ctrl Alt */
428: NX_ASCIISET, '\n', /* AlphaShift Ctrl Alt */
429: /* Key 0x27 modifier key mask bits (0x0a) */
430: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
431: NX_ASCIISET, '\'', /* no flags */
432: NX_ASCIISET, '"', /* Shift */
433: NX_ASCIISET, 0xa9, /* Alt */
434: NX_SYMBOLSET, 0xae, /* Shift Alt */
435: /* Key 0x28 modifier key mask bits (0x0d) */
436: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
437: (1<<NX_MODIFIERKEY_ALTERNATE),
438: NX_ASCIISET, 'k', /* no flags */
439: NX_ASCIISET, 'K', /* AlphaShift */
440: NX_ASCIISET, CTRL('K'), /* Ctrl */
441: NX_ASCIISET, CTRL('K'), /* AlphaShift Ctrl */
442: NX_ASCIISET, 0xce, /* Alt */
443: NX_ASCIISET, 0xaf, /* AlphaShift Alt */
444: NX_ASCIISET, CTRL('K'), /* Ctrl Alt */
445: NX_ASCIISET, CTRL('K'), /* AlphaShift Ctrl Alt */
446: /* Key 0x29 modifier key mask bits (0x0a) */
447: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
448: NX_ASCIISET, ';', /* no flags */
449: NX_ASCIISET, ':', /* Shift */
450: NX_SYMBOLSET, 0xb2, /* Alt */
451: NX_SYMBOLSET, 0xa2, /* Shift Alt */
452: /* Key 0x2a modifier key mask bits (0x0e) */
453: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
454: (1<<NX_MODIFIERKEY_ALTERNATE),
455: NX_ASCIISET, '\\', /* no flags */
456: NX_ASCIISET, '|', /* Shift */
457: NX_ASCIISET, CTRL('\\'), /* Ctrl */
458: NX_ASCIISET, CTRL('\\'), /* Shift Ctrl */
459: NX_ASCIISET, 0xe3, /* Alt */
460: NX_ASCIISET, 0xeb, /* Shift Alt */
461: NX_ASCIISET, CTRL('\\'), /* Ctrl Alt */
462: NX_ASCIISET, CTRL('\\'), /* Shift Ctrl Alt */
463: /* Key 0x2b modifier key mask bits (0x0a) */
464: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
465: NX_ASCIISET, ',', /* no flags */
466: NX_ASCIISET, '<', /* Shift */
467: NX_ASCIISET, 0xcb, /* Alt */
468: NX_SYMBOLSET, 0xa3, /* Shift Alt */
469: /* Key 0x2c modifier key mask bits (0x0a) */
470: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
471: NX_ASCIISET, '/', /* no flags */
472: NX_ASCIISET, '?', /* Shift */
473: NX_SYMBOLSET, 0xb8, /* Alt */
474: NX_ASCIISET, 0xbf, /* Shift Alt */
475: /* Key 0x2d modifier key mask bits (0x0d) */
476: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
477: (1<<NX_MODIFIERKEY_ALTERNATE),
478: NX_ASCIISET, 'n', /* no flags */
479: NX_ASCIISET, 'N', /* AlphaShift */
480: NX_ASCIISET, CTRL('N'), /* Ctrl */
481: NX_ASCIISET, CTRL('N'), /* AlphaShift Ctrl */
482: NX_ASCIISET, 0xc4, /* Alt */
483: NX_SYMBOLSET, 0xaf, /* AlphaShift Alt */
484: NX_ASCIISET, CTRL('N'), /* Ctrl Alt */
485: NX_ASCIISET, CTRL('N'), /* AlphaShift Ctrl Alt */
486: /* Key 0x2e modifier key mask bits (0x0d) */
487: (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
488: (1<<NX_MODIFIERKEY_ALTERNATE),
489: NX_ASCIISET, 'm', /* no flags */
490: NX_ASCIISET, 'M', /* AlphaShift */
491: NX_ASCIISET, '\r', /* Ctrl */
492: NX_ASCIISET, '\r', /* AlphaShift Ctrl */
493: NX_SYMBOLSET, 0x6d, /* Alt */
494: NX_SYMBOLSET, 0xd8, /* AlphaShift Alt */
495: NX_ASCIISET, '\r', /* Ctrl Alt */
496: NX_ASCIISET, '\r', /* AlphaShift Ctrl Alt */
497: /* Key 0x2f modifier key mask bits (0x0a) */
498: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
499: NX_ASCIISET, '.', /* no flags */
500: NX_ASCIISET, '>', /* Shift */
501: NX_ASCIISET, 0xbc, /* Alt */
502: NX_SYMBOLSET, 0xb3, /* Shift Alt */
503: /* Key 0x30 modifier key mask bits (0x02) */
504: (1<<NX_MODIFIERKEY_SHIFT),
505: NX_ASCIISET, '\t', /* no flags */
506: NX_ASCIISET, CTRL('Y'), /* Shift */
507: /* Key 0x31 modifier key mask bits (0x0c) */
508: (1<<NX_MODIFIERKEY_CONTROL)|(1<<NX_MODIFIERKEY_ALTERNATE),
509: NX_ASCIISET, ' ', /* no flags */
510: NX_ASCIISET, CTRL('@'), /* Ctrl */
511: NX_ASCIISET, 0x80, /* Alt */
512: NX_ASCIISET, CTRL('@'), /* Ctrl Alt */
513: /* Key 0x32 modifier key mask bits (0x02) */
514: (1<<NX_MODIFIERKEY_SHIFT),
515: NX_ASCIISET, '`', /* no flags */
516: NX_ASCIISET, '~', /* Shift */
517: /* Key 0x33 modifier key mask bits (0x02) */
518: (1<<NX_MODIFIERKEY_SHIFT),
519: NX_ASCIISET, 0x7f, /* no flags */
520: NX_ASCIISET, '\b', /* Shift */
521: 0xff, /* Key 0x34 unassigned */
522: /* Key 0x35 modifier key mask bits (0x02) */
523: (1<<NX_MODIFIERKEY_SHIFT),
524: NX_ASCIISET, CTRL('['), /* no flags */
525: NX_ASCIISET, '~', /* Shift */
526: 0xff, /* Key 0x36 unassigned */
527: 0xff, /* Key 0x37 unassigned */
528: 0xff, /* Key 0x38 unassigned */
529: 0xff, /* Key 0x39 unassigned */
530: 0xff, /* Key 0x3a unassigned */
531: /* Key 0x3b modifier key mask bits (0x00) LEFT */
532: 0,
533: NX_SYMBOLSET, 0xac, /* all */
534: /* Key 0x3c modifier key mask bits (0x00) RIGHT */
535: 0,
536: NX_SYMBOLSET, 0xae, /* all */
537: /* Key 0x3d modifier key mask bits (0x00) DOWN */
538: 0,
539: NX_SYMBOLSET, 0xaf, /* all */
540: /* Key 0x3e modifier key mask bits (0x00) UP */
541: 0,
542: NX_SYMBOLSET, 0xad, /* all */
543: 0xff, /* Key 0x3f unassigned */
544: 0xff, /* Key 0x40 unassigned */
545: /* Key 0x41 modifier key mask bits (0x00) */
546: 0,
547: NX_ASCIISET, '.', /* all */
548: 0xff, /* Key 0x42 unassigned */
549: /* Key 0x43 modifier key mask bits (0x00) */
550: 0,
551: NX_ASCIISET, '*', /* all */
552: 0xff, /* Key 0x44 unassigned */
553: /* Key 0x45 modifier key mask bits (0x00) */
554: 0,
555: NX_ASCIISET, '+', /* all */
556: 0xff, /* Key 0x46 unassigned */
557: 0xff, /* Key 0x47 unassigned */
558: 0xff, /* Key 0x48 unassigned */
559: 0xff, /* Key 0x49 unassigned */
560: 0xff, /* Key 0x4a unassigned */
561: /* Key 0x4b modifier key mask bits (0x0e) */
562: (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
563: (1<<NX_MODIFIERKEY_ALTERNATE),
564: NX_ASCIISET, '/', /* no flags */
565: NX_ASCIISET, '\\', /* Shift */
566: NX_ASCIISET, '/', /* Ctrl */
567: NX_ASCIISET, CTRL('\\'), /* Shift Ctrl */
568: NX_ASCIISET, '/', /* Alt */
569: NX_ASCIISET, '\\', /* Shift Alt */
570: NX_ASCIISET, CTRL('@'), /* Ctrl Alt */
571: 0x0a, CTRL('@'), /* Shift Ctrl Alt */
572: /* Key 0x4C modifier key mask bits (0x10) Num Enter */
573: (1<<NX_MODIFIERKEY_COMMAND),
574: NX_ASCIISET, '\r', /* no flags */
575: NX_ASCIISET, CTRL('C'), /* Cmd */
576: 0xff, /* Key 0x4d unassigned */
577: /* Key 0x4e modifier key mask bits (0x00) */
578: 0,
579: NX_SYMBOLSET, 0x2d, /* all */
580: 0xff, /* Key 0x4f unassigned */
581: 0xff, /* Key 0x50 unassigned */
582: /* Key 0x51 modifier key mask bits (0x00) */
583: 0,
584: NX_ASCIISET, '=', /* all */
585: /* Key 0x52 modifier key mask bits (0x00) */
586: 0,
587: NX_ASCIISET, '0', /* all */
588: /* Key 0x53 modifier key mask bits (0x00) */
589: 0,
590: NX_ASCIISET, '1', /* all */
591: /* Key 0x54 modifier key mask bits (0x00) */
592: 0,
593: NX_ASCIISET, '2', /* all */
594: /* Key 0x55 modifier key mask bits (0x00) */
595: 0,
596: NX_ASCIISET, '3', /* all */
597: /* Key 0x56 modifier key mask bits (0x00) */
598: 0,
599: NX_ASCIISET, '4', /* all */
600: /* Key 0x57 modifier key mask bits (0x00) */
601: 0,
602: NX_ASCIISET, '5', /* all */
603: /* Key 0x58 modifier key mask bits (0x00) */
604: 0,
605: NX_ASCIISET, '6', /* all */
606: /* Key 0x59 modifier key mask bits (0x00) */
607: 0,
608: NX_ASCIISET, '7', /* all */
609: 0xff, /* Key 0x5a unassigned */
610: /* Key 0x5b modifier key mask bits (0x00) */
611: 0,
612: NX_ASCIISET, '8', /* all */
613: /* Key 0x5c modifier key mask bits (0x00) */
614: 0,
615: NX_ASCIISET, '9', /* all */
616:
617: 0, /* Sequence Definitions */
618: 9, /* special keys */
619:
620: #if 0
621: 0x00, 0x68, /* Sound Up */
622: 0x01, 0x69, /* Sound Down */
623: 0x02, 0x6A, /* Brightness Up */
624: 0x03, 0x6B, /* Brightness Down */
625: #endif
626: 0x04, ADBK_CAPSLOCK, /* Caps Lock */
627: 0x05, 0x3B, /* Help Key */ // FIXME
628: 0x06, ADBK_POWER, /* Power Key */
629: 0x07, ADBK_UP, /* Up Arrow */
630: 0x08, ADBK_DOWN /* Down Arrow */
631: };
632:
633:
634:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.