Expand PMF_FN_* macros.
[netbsd-mini2440.git] / sys / arch / amiga / stand / loadkmap / us / us-kbdmap.c
blob6d796aac6a1a2f878c585bb28f475439863a3a71
1 /* $NetBSD: us-kbdmap.c,v 1.4 1996/06/08 15:29:04 is Exp $ */
3 #include <unistd.h>
5 #include "../../../dev/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 /* normal map */
23 0, '`', /* 0x00 */
24 0, '1',
25 0, '2',
26 0, '3',
27 0, '4',
28 0, '5',
29 0, '6',
30 0, '7',
31 0, '8', /* 0x08 */
32 0, '9',
33 0, '0',
34 0, '-',
35 0, '=',
36 0, '\\',
37 0, 0,
38 K, '0',
39 C, 'q', /* 0x10 */
40 C, 'w',
41 C, 'e',
42 C, 'r',
43 C, 't',
44 C, 'y',
45 C, 'u',
46 C, 'i',
47 C, 'o', /* 0x18 */
48 C, 'p',
49 0, '[',
50 0, ']',
51 0, 0,
52 K, '1',
53 K, '2',
54 K, '3',
55 C, 'a', /* 0x20 */
56 C, 's',
57 C, 'd',
58 C, 'f',
59 C, 'g',
60 C, 'h',
61 C, 'j',
62 C, 'k',
63 C, 'l', /* 0x28 */
64 0, ';',
65 0, '\'',
66 0, 0,
67 0, 0,
68 K, '4',
69 K, '5',
70 K, '6',
71 0, 0, /* 0x30 */
72 C, 'z',
73 C, 'x',
74 C, 'c',
75 C, 'v',
76 C, 'b',
77 C, 'n',
78 C, 'm',
79 0, ',', /* 0x38 */
80 0, '.',
81 0, '/',
82 0, 0,
83 K, '.',
84 K, '7',
85 K, '8',
86 K, '9',
87 0, ' ', /* 0x40 */
88 0, DEL, /* really BS, DEL & BS swapped */
89 0, '\t',
90 K, '\r', /* enter */
91 0, '\r', /* return */
92 0, ESC,
93 0, '\b', /* really DEL, BS & DEL swapped */
94 0, 0,
95 0, 0, /* 0x48 */
96 0, 0,
97 K, '-',
98 0, 0,
99 S, 0x00, /* now it gets hairy.. CRSR UP */
100 S, 0x04, /* CRSR DOWN */
101 S, 0x08, /* CRSR RIGHT */
102 S, 0x0C, /* CRSR LEFT */
103 S, 0x10, /* 0x50 F1 */
104 S, 0x15, /* F2 */
105 S, 0x1A, /* F3 */
106 S, 0x1F, /* F4 */
107 S, 0x24, /* F5 */
108 S, 0x29, /* F6 */
109 S, 0x2E, /* F7 */
110 S, 0x33, /* 0x58 F8 */
111 S, 0x38, /* F9 */
112 S, 0x3D, /* F10 */
113 K, '(',
114 K, ')',
115 K, '/',
116 K, '*',
117 S, 0x42, /* HELP */
120 /* shifted map */
122 0, '~', /* 0x00 */
123 0, '!',
124 0, '@',
125 0, '#',
126 0, '$',
127 0, '%',
128 0, '^',
129 0, '&',
130 0, '*', /* 0x08 */
131 0, '(',
132 0, ')',
133 0, '_',
134 0, '+',
135 0, '|',
136 0, 0,
137 K, '0',
138 C, 'Q', /* 0x10 */
139 C, 'W',
140 C, 'E',
141 C, 'R',
142 C, 'T',
143 C, 'Y',
144 C, 'U',
145 C, 'I',
146 C, 'O', /* 0x18 */
147 C, 'P',
148 0, '{',
149 0, '}',
150 0, 0,
151 K, '1',
152 K, '2',
153 K, '3',
154 C, 'A', /* 0x20 */
155 C, 'S',
156 C, 'D',
157 C, 'F',
158 C, 'G',
159 C, 'H',
160 C, 'J',
161 C, 'K',
162 C, 'L', /* 0x28 */
163 0, ':',
164 0, '\"',
165 0, 0,
166 0, 0,
167 K, '4',
168 K, '5',
169 K, '6',
170 0, 0, /* 0x30 */
171 C, 'Z',
172 C, 'X',
173 C, 'C',
174 C, 'V',
175 C, 'B',
176 C, 'N',
177 C, 'M',
178 0, '<', /* 0x38 */
179 0, '>',
180 0, '?',
181 0, 0,
182 K, '.',
183 K, '7',
184 K, '8',
185 K, '9',
186 0, ' ', /* 0x40 */
187 0, DEL, /* really BS, DEL & BS swapped */
188 S, 0x99, /* shift TAB */
189 K, '\r', /* enter */
190 0, '\r', /* return */
191 0, ESC,
192 0, '\b', /* really DEL, BS & DEL swapped */
193 0, 0,
194 0, 0, /* 0x48 */
195 0, 0,
196 K, '-',
197 0, 0,
198 S, 0x47, /* shift CRSR UP */
199 S, 0x4C, /* shift CRSR DOWN */
200 S, 0x51, /* shift CRSR RIGHT */
201 S, 0x57, /* shift CRSR LEFT */
202 S, 0x5D, /* 0x50 shift F1 */
203 S, 0x63, /* shift F2 */
204 S, 0x69, /* shift F3 */
205 S, 0x6F, /* shift F4 */
206 S, 0x75, /* shift F5 */
207 S, 0x7B, /* shift F6 */
208 S, 0x81, /* shift F7 */
209 S, 0x87, /* 0x58 shift F8 */
210 S, 0x8D, /* shift F9 */
211 S, 0x93, /* shift F10 */
212 K, '(',
213 K, ')',
214 K, '/',
215 K, '*',
216 S, 0x42, /* HELP (no special shift code) */
220 /* alt map */
222 0, '`', /* 0x00 */
223 0, '¹',
224 0, '²',
225 0, '³',
226 0, '¢',
227 0, '¼',
228 0, '½',
229 0, '¾',
230 0, '·', /* 0x08 */
231 0, '«',
232 0, '»',
233 0, '-',
234 0, '=',
235 0, '\\',
236 0, 0,
237 K, '0',
238 C, 'å', /* 0x10 */
239 0, '°',
240 0, '©',
241 0, '®',
242 C, 'þ',
243 0, '¤',
244 0, 'µ',
245 0, '¡',
246 C, 'ø', /* 0x18 */
247 0, '¶',
248 0, '[',
249 0, ']',
250 0, 0,
251 K, '1',
252 K, '2',
253 K, '3',
254 C, 'æ', /* 0x20 */
255 0, 'ß',
256 C, 'ð',
257 DA, '´',
258 DG, '`',
259 DC, '^',
260 DT, '~',
261 DD, '¨',
262 0, '£', /* 0x28 */
263 0, ';',
264 0, '\'',
265 0, 0,
266 0, 0,
267 K, '4',
268 K, '5',
269 K, '6',
270 0, 0, /* 0x30 */
271 0, '±',
272 0, '×',
273 C, 'ç',
274 0, 'ª',
275 0, 'º',
276 0, '­',
277 0, '¸',
278 0, ',', /* 0x38 */
279 0, '.',
280 0, '/',
281 0, 0,
282 K, '.',
283 K, '7',
284 K, '8',
285 K, '9',
286 0, ' ', /* 0x40 */
287 0, DEL, /* really BS, DEL & BS swapped */
288 0, '\t',
289 K, '\r', /* enter */
290 0, '\r', /* return */
291 S, 0x9d, /* CSI */
292 0, '\b', /* really DEL, BS & DEL swapped */
293 0, 0,
294 0, 0, /* 0x48 */
295 0, 0,
296 K, '-',
297 0, 0,
298 S, 0x00, /* now it gets hairy.. CRSR UP */
299 S, 0x04, /* CRSR DOWN */
300 S, 0x08, /* CRSR RIGHT */
301 S, 0x0C, /* CRSR LEFT */
302 S, 0x10, /* 0x50 F1 */
303 S, 0x15, /* F2 */
304 S, 0x1A, /* F3 */
305 S, 0x1F, /* F4 */
306 S, 0x24, /* F5 */
307 S, 0x29, /* F6 */
308 S, 0x2E, /* F7 */
309 S, 0x33, /* 0x58 F8 */
310 S, 0x38, /* F9 */
311 S, 0x3D, /* F10 */
312 K, '(',
313 K, ')',
314 K, '/',
315 K, '*',
316 S, 0x42, /* HELP */
319 /* shift alt map */
321 0, '~', /* 0x00 */
322 0, '!',
323 0, '@',
324 0, '#',
325 0, '$',
326 0, '%',
327 0, '^',
328 0, '&',
329 0, '*', /* 0x08 */
330 0, '(',
331 0, ')',
332 0, '_',
333 0, '+',
334 0, '|',
335 0, 0,
336 K, '0',
337 C, 'Å', /* 0x10 */
338 0, '°',
339 0, '©',
340 0, '®',
341 C, 'Þ',
342 0, '¥',
343 0, 'µ',
344 0, '¦',
345 C, 'Ø', /* 0x18 */
346 0, '¶',
347 0, '[',
348 0, ']',
349 0, 0,
350 K, '1',
351 K, '2',
352 K, '3',
353 C, 'Æ', /* 0x20 */
354 0, '§',
355 C, 'Ð',
356 DA, '´',
357 DG, '`',
358 DC, '^',
359 DT, '~',
360 DD, '¨',
361 0, '£', /* 0x28 */
362 0, ';',
363 0, '\'',
364 0, 0,
365 0, 0,
366 K, '4',
367 K, '5',
368 K, '6',
369 0, 0, /* 0x30 */
370 0, '±',
371 0, '×',
372 C, 'ç',
373 0, 'ª',
374 0, 'º',
375 0, '­',
376 0, '¸',
377 0, ',', /* 0x38 */
378 0, '.',
379 0, '/',
380 0, 0,
381 K, '.',
382 K, '7',
383 K, '8',
384 K, '9',
385 0, ' ', /* 0x40 */
386 0, DEL, /* really BS, DEL & BS swapped */
387 0, '\t',
388 K, '\r', /* enter */
389 0, '\r', /* return */
390 S, 0x9d, /* CSI */
391 0, '\b', /* really DEL, BS & DEL swapped */
392 0, 0,
393 0, 0, /* 0x48 */
394 0, 0,
395 K, '-',
396 0, 0,
397 S, 0x00, /* now it gets hairy.. CRSR UP */
398 S, 0x04, /* CRSR DOWN */
399 S, 0x08, /* CRSR RIGHT */
400 S, 0x0C, /* CRSR LEFT */
401 S, 0x10, /* 0x50 F1 */
402 S, 0x15, /* F2 */
403 S, 0x1A, /* F3 */
404 S, 0x1F, /* F4 */
405 S, 0x24, /* F5 */
406 S, 0x29, /* F6 */
407 S, 0x2E, /* F7 */
408 S, 0x33, /* 0x58 F8 */
409 S, 0x38, /* F9 */
410 S, 0x3D, /* F10 */
411 K, '(',
412 K, ')',
413 K, '/',
414 K, '*',
415 S, 0x42, /* HELP */
419 /* string table. If there's a better way to get the offsets into the
420 above table, please tell me..
422 NOTE: save yourself and others a lot of grief by *not* using
423 CSI == 0x9b, using the two-character sequence gives
424 much less trouble, especially in GNU-Emacs.. */
426 3, ESC, '[', 'A', /* 0x00: CRSR UP */
427 3, ESC, '[', 'B', /* 0x04: CRSR DOWN */
428 3, ESC, '[', 'C', /* 0x08: CRSR RIGHT */
429 3, ESC, '[', 'D', /* 0x0C: CRSR LEFT */
430 4, ESC, '[', '0', '~', /* 0x10: F1 */
431 4, ESC, '[', '1', '~', /* 0x15: F2 */
432 4, ESC, '[', '2', '~', /* 0x1A: F3 */
433 4, ESC, '[', '3', '~', /* 0x1F: F4 */
434 4, ESC, '[', '4', '~', /* 0x24: F5 */
435 4, ESC, '[', '5', '~', /* 0x29: F6 */
436 4, ESC, '[', '6', '~', /* 0x2E: F7 */
437 4, ESC, '[', '7', '~', /* 0x33: F8 */
438 4, ESC, '[', '8', '~', /* 0x38: F9 */
439 4, ESC, '[', '9', '~', /* 0x3D: F10 */
440 4, ESC, '[', '?', '~', /* 0x42: HELP */
442 4, ESC, '[', 'T', '~', /* 0x47: shift CRSR UP */
443 4, ESC, '[', 'S', '~', /* 0x4C: shift CRSR DOWN */
444 5, ESC, '[', ' ', '@', '~', /* 0x51: shift CRSR RIGHT */
445 5, ESC, '[', ' ', 'A', '~', /* 0x57: shift CRSR LEFT */
446 5, ESC, '[', '1', '0', '~', /* 0x5D: shift F1 */
447 5, ESC, '[', '1', '1', '~', /* 0x63: shift F2 */
448 5, ESC, '[', '1', '2', '~', /* 0x69: shift F3 */
449 5, ESC, '[', '1', '3', '~', /* 0x6F: shift F4 */
450 5, ESC, '[', '1', '4', '~', /* 0x75: shift F5 */
451 5, ESC, '[', '1', '5', '~', /* 0x7B: shift F6 */
452 5, ESC, '[', '1', '6', '~', /* 0x81: shift F7 */
453 5, ESC, '[', '1', '7', '~', /* 0x87: shift F8 */
454 5, ESC, '[', '1', '8', '~', /* 0x8D: shift F9 */
455 5, ESC, '[', '1', '9', '~', /* 0x93: shift F10 */
456 3, ESC, '[', 'Z', /* 0x99: shift TAB */
457 2, ESC, '[', /* 0x9d: alt ESC == CSI */
461 unsigned char acctable[KBD_NUM_ACC][64] = {
462 { "@ÀBCDÈFGHÌJKLMNÒPQRSTÙVWXYZ[\\]^_"
463 "`àbcdèfghìjklmnòpqrstùvwxyz{|}~\177"}, /* KBD_ACC_GRAVE */
465 { "@ÁBCDÉFGHÍJKLMNÓPQRSTÚVWXYZ[\\]^_"
466 "`ábcdéfghíjklmnópqrstúvwxyz{|}~\177"}, /* KBD_ACC_ACUTE */
468 { "@ÂBCDÊFGHÎJKLMNÔPQRSTÛVWXYZ[\\]^_"
469 "`âbcdêfghîjklmnôpqrstûvwxyz{|}~\177"}, /* KBD_ACC_CIRC */
471 { "@ÃBCDEFGHIJKLMÑÕPQRSTUVWXYZ[\\]^_"
472 "`ãbcdefghijklmñÕpqrstuvwxyz{|}~\177"}, /* KBD_ACC_TILDE */
474 { "@ÄBCDËFGHÏJKLMNÖPQRSTÜVWXYZ[\\]^_"
475 "`äbcdëfghïjklmnöpqrstüvwxyz{|}~\177"}, /* KBD_ACC_DIER */
481 main(void)
483 write (1, &kbdmap, sizeof (kbdmap));
485 return 0;