Sync usage with man page.
[netbsd-mini2440.git] / sys / arch / x68k / dev / kbdmap.c.ascii
blob239460ff0ce0ed13ecd85a49a4428c11ff7d0f2a
1 /*      $NetBSD: kbdmap.c.ascii,v 1.2.116.1 2007/05/22 17:27:45 matt Exp $      */
2 /* from: arch/amiga/dev/kbdmap.c */
3 /* modified for X680x0 by Masaru Oki */
5 #include "kbdmap.h"
7 /* define a default keymap. This can be changed by keyboard ioctl's
8    (later at least..) */
10 /* mode shortcuts: */
11 #define S KBD_MODE_STRING
12 #define DG (KBD_MODE_DEAD | KBD_MODE_GRAVE)
13 #define DA (KBD_MODE_DEAD | KBD_MODE_ACUTE)
14 #define DC (KBD_MODE_DEAD | KBD_MODE_CIRC)
15 #define DT (KBD_MODE_DEAD | KBD_MODE_TILDE)
16 #define DD (KBD_MODE_DEAD | KBD_MODE_DIER)
17 #define C KBD_MODE_CAPS
18 #define K KBD_MODE_KPAD
20 struct kbdmap kbdmap;
21 struct kbdmap ascii_kbdmap = {
22         /* normal map */
23         {
24            0, 0,        /* 0x00 */
25            0, ESC,
26            0, '1',
27            0, '2',
28            0, '3',
29            0, '4',
30            0, '5',
31            0, '6',
32            0, '7',      /* 0x08 */
33            0, '8',
34            0, '9',
35            0, '0',
36            0, '-',
37            0, '=',
38            0, '\\',
39            0, DEL,      /* really BS, DEL & BS swapped */
40            0, '\t',     /* 0x10 */
41            C, 'q',
42            C, 'w',
43            C, 'e',
44            C, 'r',
45            C, 't',
46            C, 'y',
47            C, 'u',
48            C, 'i',      /* 0x18 */
49            C, 'o',
50            C, 'p',
51            0, '[',
52            0, ']',
53            0, '\r',     /* return */
54            C, 'a',
55            C, 's',
56            C, 'd',      /* 0x20 */
57            C, 'f',
58            C, 'g',
59            C, 'h',
60            C, 'j',
61            C, 'k',
62            C, 'l',
63            0, ';',
64            0, '\'',     /* 0x28 */
65            0, '`',
66            C, 'z',
67            C, 'x',
68            C, 'c',
69            C, 'v',
70            C, 'b',
71            C, 'n',
72            C, 'm',      /* 0x30 */
73            0, ',',
74            0, '.',
75            0, '/',
76            0, '_',
77            0, ' ',
78            0, 0,        /* HOME */
79            0, '\b',     /* really DEL, BS & DEL swapped */
80            0, 0,        /* 0x38 ROLLUP */
81            0, 0,        /* ROLLDOWN */
82            0, 0,        /* UNDO */
83            S, 0x0C,     /* CRSR LEFT */
84            S, 0x00,     /* now it gets hairy.. CRSR UP */
85            S, 0x08,     /* CRSR RIGHT */
86            S, 0x04,     /* CRSR DOWN */
87            K, 0,        /* CLR */
88            K, '/',      /* 0x40 */
89            K, '*',
90            K, '-',
91            K, '7',
92            K, '8',
93            K, '9',
94            K, '+',
95            K, '4',
96            K, '5',      /* 0x48 */
97            K, '6',
98            K, '=',
99            K, '1',
100            K, '2',
101            K, '3',
102            K, '\r',     /* enter */
103            K, '0',
104            K, ',',      /* 0x50 */
105            K, '.',
106            0, 0,
107            0, 0,
108            S, 0x42,     /* HELP */
109            0, 0,
110            0, 0,
111            0, 0,
112            0, 0,        /* 0x58 */
113            0, 0,
114            0, 0,
115            0, 0,
116            0, 0,
117            0, 0,
118            0, 0,
119            0, 0,
120            0, 0,        /* 0x60 */
121            0, 0,
122            0, 0,
123            S, 0x10,     /* F1 */
124            S, 0x15,     /* F2 */
125            S, 0x1A,     /* F3 */
126            S, 0x1F,     /* F4 */
127            S, 0x24,     /* F5 */
128            S, 0x29,     /* F6 */
129            S, 0x2E,     /* F7 */
130            S, 0x33,     /* 0x58 F8 */
131            S, 0x38,     /* F9 */
132            S, 0x3D,     /* F10 */
133         },
135         /* shifted map */
136         {
137            0, 0,        /* 0x00 */
138            0, ESC,
139            0, '!',
140            0, '@',
141            0, '#',
142            0, '$',
143            0, '%',
144            0, '^',
145            0, '&',      /* 0x08 */
146            0, '*',
147            0, '(',
148            0, ')',
149            0, '_',
150            0, '+',
151            0, '|',
152            0, DEL,      /* really BS, DEL & BS swapped */
153            S, 0x99,     /* 0x10 shift TAB */
154            C, 'Q',
155            C, 'W',
156            C, 'E',
157            C, 'R',
158            C, 'T',
159            C, 'Y',
160            C, 'U',
161            C, 'I',      /* 0x18 */
162            C, 'O',
163            C, 'P',
164            0, '{',
165            0, '}',
166            0, '\r',     /* return */
167            C, 'A',
168            C, 'S',
169            C, 'D',      /* 0x20 */
170            C, 'F',
171            C, 'G',
172            C, 'H',
173            C, 'J',
174            C, 'K',
175            C, 'L',
176            0, ':',
177            0, '\"',     /* 0x28 */
178            0, '~',
179            C, 'Z',      
180            C, 'X',
181            C, 'C',
182            C, 'V',
183            C, 'B',
184            C, 'N',
185            C, 'M',      /* 0x30 */
186            0, '<',      /* 0x38 */
187            0, '>',
188            0, '?',
189            0, '_',
190            0, ' ',
191            0, 0,        /* HOME */
192            0, '\b',     /* really DEL, BS & DEL swapped */
193            0, 0,        /* 0x38 ROLLUP */
194            0, 0,        /* ROLLDOWN */
195            0, 0,        /* UNDO */
196            S, 0x51,     /* shift CRSR RIGHT */
197            S, 0x47,     /* shift CRSR UP */
198            S, 0x57,     /* shift CRSR LEFT */
199            S, 0x4C,     /* shift CRSR DOWN */
200            K, 0,        /* CLR */
201            K, '/',      /* 0x40 */
202            0, 0,
203            K, '*',
204            K, '-',
205            K, '7',
206            K, '8',
207            K, '9',
208            K, '+',
209            K, '4',
210            K, '5',      /* 0x48 */
211            K, '6',
212            K, '=',
213            K, '1',
214            K, '2',
215            K, '3',
216            K, '\r',     /* enter */
217            K, '0',
218            K, ',',      /* 0x50 */
219            K, '.',
220            0, 0,
221            0, 0,
222            S, 0x42,     /* HELP */
223            0, 0,
224            0, 0,
225            0, 0,
226            0, 0,        /* 0x58 */
227            0, 0,
228            0, 0,
229            0, 0,
230            0, 0,
231            0, 0,
232            0, 0,
233            0, 0,
234            0, 0,        /* 0x60 */
235            0, 0,
236            0, 0,
237            S, 0x5D,     /* shift F1 */
238            S, 0x63,     /* shift F2 */
239            S, 0x69,     /* shift F3 */
240            S, 0x6F,     /* shift F4 */
241            S, 0x75,     /* shift F5 */
242            S, 0x7B,     /* shift F6 */
243            S, 0x81,     /* shift F7 */
244            S, 0x87,     /* 0x58 shift F8 */
245            S, 0x8D,     /* shift F9 */
246            S, 0x93,     /* shift F10 */
247         },
250         /* alt map */
251         {
252         },
254         /* shift alt map */
255         {
256         },
258         {
259           /* string table. If there's a better way to get the offsets into the
260              above table, please tell me..
262              NOTE: save yourself and others a lot of grief by *not* using
263                    CSI == 0x9b, using the two-character sequence gives
264                    much less trouble, especially in GNU-Emacs.. */
266           3, ESC, '[', 'A',             /* 0x00: CRSR UP */
267           3, ESC, '[', 'B',             /* 0x04: CRSR DOWN */
268           3, ESC, '[', 'C',             /* 0x08: CRSR RIGHT */
269           3, ESC, '[', 'D',             /* 0x0C: CRSR LEFT */
270           4, ESC, '[', '0', '~',        /* 0x10: F1 */
271           4, ESC, '[', '1', '~',        /* 0x15: F2 */
272           4, ESC, '[', '2', '~',        /* 0x1A: F3 */
273           4, ESC, '[', '3', '~',        /* 0x1F: F4 */
274           4, ESC, '[', '4', '~',        /* 0x24: F5 */
275           4, ESC, '[', '5', '~',        /* 0x29: F6 */
276           4, ESC, '[', '6', '~',        /* 0x2E: F7 */
277           4, ESC, '[', '7', '~',        /* 0x33: F8 */
278           4, ESC, '[', '8', '~',        /* 0x38: F9 */
279           4, ESC, '[', '9', '~',        /* 0x3D: F10 */
280           4, ESC, '[', '?', '~',        /* 0x42: HELP */
282           4, ESC, '[', 'T', '~',        /* 0x47: shift CRSR UP */
283           4, ESC, '[', 'S', '~',        /* 0x4C: shift CRSR DOWN */
284           5, ESC, '[', ' ', '@', '~',   /* 0x51: shift CRSR RIGHT */
285           5, ESC, '[', ' ', 'A', '~',   /* 0x57: shift CRSR LEFT */
286           5, ESC, '[', '1', '0', '~',   /* 0x5D: shift F1 */
287           5, ESC, '[', '1', '1', '~',   /* 0x63: shift F2 */
288           5, ESC, '[', '1', '2', '~',   /* 0x69: shift F3 */
289           5, ESC, '[', '1', '3', '~',   /* 0x6F: shift F4 */
290           5, ESC, '[', '1', '4', '~',   /* 0x75: shift F5 */
291           5, ESC, '[', '1', '5', '~',   /* 0x7B: shift F6 */
292           5, ESC, '[', '1', '6', '~',   /* 0x81: shift F7 */
293           5, ESC, '[', '1', '7', '~',   /* 0x87: shift F8 */
294           5, ESC, '[', '1', '8', '~',   /* 0x8D: shift F9 */
295           5, ESC, '[', '1', '9', '~',   /* 0x93: shift F10 */
296           3, ESC, '[', 'Z',             /* 0x99: shift TAB */
297           2, ESC, '[',                  /* 0x9d: alt ESC == CSI */
298         },
301 unsigned char acctable[KBD_NUM_ACC][64] = {
304