2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
5 Desc: Deutsch (German) PC105 Keymap
9 #include <devices/keymap.h>
11 STATIC
char keymapname
[] = "pc105_d";
13 STATIC CONST UBYTE lokeymaptypes
[];
14 STATIC CONST IPTR lokeymap
[];
15 STATIC CONST UBYTE locapsable
[];
16 STATIC CONST UBYTE lorepeatable
[];
18 STATIC CONST UBYTE hikeymaptypes
[];
19 STATIC CONST IPTR hikeymap
[];
20 STATIC CONST UBYTE hicapsable
[];
21 STATIC CONST UBYTE hirepeatable
[];
23 CONST
struct KeyMapNode km
=
26 NULL
, NULL
, 0, 0, keymapname
29 (UBYTE
*)lokeymaptypes
,
32 (UBYTE
*)lorepeatable
,
33 (UBYTE
*)hikeymaptypes
,
58 #define EUR 0xA4 /* ISO 8859-15: Euro = 164 = 0xA4) */
60 STATIC CONST UBYTE lokeymaptypes
[] =
128 STATIC CONST UBYTE hikeymaptypes
[] =
131 N
, /* 41 BACKSPACE */
137 ST
|S
, /* 47 INSERT ?? */
138 ST
|S
, /* 48 PAGE UP ?? */
139 ST
|S
, /* 49 PAGE DOWN ?? */
140 N
, /* 4A NUMERIC PAD - */
141 ST
|S
, /* 4B F11 ?? */
142 ST
|S
, /* 4C CURSORUP*/
143 ST
|S
, /* 4D CURSORDOWN */
144 ST
|S
, /* 4E CURSORRIGHT */
145 ST
|S
, /* 4F CURSORLEFT */
156 NOP
, /* 5A NUMLOCK */
162 NOP
, /* 60 LEFT SHIFT*/
163 NOP
, /* 61 RIGHT SHIFT */
164 NOP
, /* 62 CAPS LOCK */
165 NOP
, /* 63 CONTROL */
168 NOP
, /* 66 LCOMMAND */
169 NOP
, /* 67 RCOMMAND */
170 NOP
, /* 68 LEFT MOUSE BUTTON*/
171 NOP
, /* 69 RIGHT MOUSE BUTTON */
172 NOP
, /* 6A MIDDLE MOUSE BUTTON */
176 ST
|A
, /* 6E PAUSE/BREAK ??*/
177 ST
|S
, /* 6F F12 ?? */
178 ST
|C
, /* 70 HOME ?? */
179 ST
|C
, /* 71 END ?? */
209 #define STRING(x) (IPTR)x
210 #define DEAD(x) (IPTR)x
211 #define BYTES(b0, b1, b2, b3) \
212 (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0)
225 STATIC CONST UBYTE a_descr
[] =
236 'a' , 'á' /*0xE1*/, 'à' /*0xE0*/, 'â' /*0xE2*/, 'ã' /*0xE3*/, 'ä' /*0xE4*/, 'å' /*0xE5*/,
237 'á' /*0xE1*/, 'á' /*0xE1*/, 'â' /*0xE2*/, 'á' /*0xE1*/, 'á' /*0xE1*/, 'á' /*0xE1*/, 'á' /*0xE1*/,
238 'à' /*0xE0*/, 'â' /*0xE2*/, 'à' /*0xE0*/, 'à' /*0xE0*/, 'à' /*0xE0*/, 'à' /*0xE0*/, 'à' /*0xE0*/,
240 'A', 'Á' /*0xC1*/, 'À' /*0xC0*/, 'Â' /*0xC2*/, 'Ã' /*0xC3*/, 'Ä' /*0xC4*/, 'Å' /*0xC5*/,
241 'Á' /*0xC1*/, 'Á' /*0xC1*/, 'Â' /*0xC2*/, 'Á' /*0xC1*/, 'Á' /*0xC1*/, 'Á' /*0xC1*/, 'Á' /*0xC1*/,
242 'À' /*0xC0*/, 'Â' /*0xC2*/, 'À' /*0xC0*/, 'À' /*0xC0*/, 'À' /*0xC0*/, 'À' /*0xC0*/, 'À' /*0xC0*/
245 STATIC CONST UBYTE e_descr
[] =
256 'e', 'é' /*0xE9*/, 'è' /*0xE8*/, 'ê' /*0xEA*/, 'e', 'ë' /*0xEB*/, 'e',
257 'é' /*0xE9*/, 'é' /*0xE9*/, 'ê' /*0xEA*/, 'é' /*0xE9*/, 'é' /*0xE9*/, 'é' /*0xE9*/, 'é' /*0xE9*/,
258 'è' /*0xE8*/, 'ê' /*0xEA*/, 'è' /*0xE8*/, 'è' /*0xE8*/, 'è' /*0xE8*/, 'è' /*0xE8*/, 'è' /*0xE8*/,
260 'E', 'É' /*0xC9*/, 'È' /*0xC8*/, 'Ê' /*0xCA*/, 'E', 'Ë' /*0xCB*/, 'E',
261 'É' /*0xC9*/, 'É' /*0xC9*/, 'Ê' /*0xCA*/, 'É' /*0xC9*/, 'É' /*0xC9*/, 'É' /*0xC9*/, 'É' /*0xC9*/,
262 'È' /*0xC8*/, 'Ê' /*0xCA*/, 'È' /*0xC8*/, 'È' /*0xC8*/, 'È' /*0xC8*/, 'È' /*0xC8*/, 'È' /*0xC8*/
265 STATIC CONST UBYTE u_descr
[] =
276 'u', 'ú' /*0xFA*/, 'ù' /*0xF9*/, 'û' /*0xFB*/, 'u', 'ü' /*0xFC*/, 'u',
277 'ú' /*0xFA*/, 'ú' /*0xFA*/, 'û' /*0xFB*/, 'ú' /*0xFA*/, 'ú' /*0xFA*/, 'ú' /*0xFA*/, 'ú' /*0xFA*/,
278 'ù' /*0xF9*/, 'û' /*0xFB*/, 'ù' /*0xF9*/, 'ù' /*0xF9*/, 'ù' /*0xF9*/, 'ù' /*0xF9*/, 'ù' /*0xF9*/,
280 'U', 'Ú' /*0xDA*/, 'Ù' /*0xD9*/, 'Û' /*0xDB*/, 'U', 'Ü' /*0xDC*/, 'U',
281 'Ú' /*0xDA*/, 'Ú' /*0xDA*/, 'Û' /*0xDB*/, 'Ú' /*0xDA*/, 'Ú' /*0xDA*/, 'Ú' /*0xDA*/, 'Ú' /*0xDA*/,
282 'Ù' /*0xD9*/, 'Û' /*0xDB*/, 'Ù' /*0xD9*/, 'Ù' /*0xD9*/, 'Ù' /*0xD9*/, 'Ù' /*0xD9*/, 'Ù' /*0xD9*/
285 STATIC CONST UBYTE i_descr
[] =
296 'i', 'í' /*0xED*/, 'ì' /*0xEC*/, 'î' /*0xEE*/, 'i', 'ï' /*0xEF*/, 'i',
297 'í' /*0xED*/, 'í' /*0xED*/, 'î' /*0xEE*/, 'í' /*0xED*/, 'í' /*0xED*/, 'í' /*0xED*/, 'í' /*0xED*/,
298 'ì' /*0xEC*/, 'î' /*0xEE*/, 'ì' /*0xEC*/, 'ì' /*0xEC*/, 'ì' /*0xEC*/, 'ì' /*0xEC*/, 'ì' /*0xEC*/,
300 'I', 'Í' /*0xCD*/, 'Ì' /*0xCC*/, 'Î' /*0xCE*/, 'I', 'Ï' /*0xCF*/, 'I',
301 'Í' /*0xCD*/, 'Í' /*0xCD*/, 'Î' /*0xCE*/, 'Í' /*0xCD*/, 'Í' /*0xCD*/, 'Í' /*0xCD*/, 'Í' /*0xCD*/,
302 'Ì' /*0xCC*/, 'Î' /*0xCE*/, 'Ì' /*0xCC*/, 'Ì' /*0xCC*/, 'Ì' /*0xCC*/, 'Ì' /*0xCC*/, 'Ì' /*0xCC*/
305 STATIC CONST UBYTE o_descr
[] =
316 'o', 'ó' /*0xF3*/, 'ò' /*0xF2*/, 'ô' /*0xF4*/, 'õ' /*0xF5*/, 'ö' /*0xF6*/, 'o',
317 'ó' /*0xF3*/, 'ó' /*0xF3*/, 'ô' /*0xF4*/, 'ó' /*0xF3*/, 'ó' /*0xF3*/, 'ó' /*0xF3*/, 'ó' /*0xF3*/,
318 'ò' /*0xF2*/, 'ô' /*0xF4*/, 'ò' /*0xF2*/, 'ò' /*0xF2*/, 'ò' /*0xF2*/, 'ò' /*0xF2*/, 'ò' /*0xF2*/,
320 'O', 'Ó' /*0xD3*/, 'Ò' /*0xD2*/, 'Ô' /*0xD4*/, 'Õ' /*0xD5*/, 'Ö' /*0xD6*/, 'O',
321 'Ó' /*0xD3*/, 'Ó' /*0xD3*/, 'Ô' /*0xD4*/, 'Ó' /*0xD3*/, 'Ó' /*0xD3*/, 'Ó' /*0xD3*/, 'Ó' /*0xD3*/,
322 'Ò' /*0xD2*/, 'Ô' /*0xD4*/, 'Ò' /*0xD2*/, 'Ò' /*0xD2*/, 'Ò' /*0xD2*/, 'Ò' /*0xD2*/, 'Ò' /*0xD2*/
325 STATIC CONST UBYTE y_descr
[] =
336 'y', 'ý', 'y', 'y', 'y', 'ÿ', 'y',
337 'ý', 'ý', 'ý', 'ý', 'ý', 'ý', 'ý',
338 'y', 'y', 'y', 'y', 'y', 'y', 'y',
340 'Y', 'Ý', 'Y', 'Y', 'Y', 'Y', 'Y',
341 'Ý', 'Ý', 'Ý', 'Ý', 'Ý', 'Ý', 'Ý',
342 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'
345 STATIC CONST UBYTE n_descr
[] =
356 'n', 'n', 'n', 'n', 'ñ', 'n', 'n',
357 'n', 'n', 'n', 'n', 'n', 'n', 'n',
358 'n', 'n', 'n', 'n', 'n', 'n', 'n',
360 'N', 'N', 'N', 'N', 'Ñ', 'N', 'N',
361 'N', 'N', 'N', 'N', 'N', 'N', 'N',
362 'N', 'N', 'N', 'N', 'N', 'N', 'N'
365 STATIC CONST UBYTE f_descr
[] =
369 DPF_DEAD
, 1 + (7 << DP_2DFACSHIFT
),
370 DPF_DEAD
, 1 + (7 << DP_2DFACSHIFT
),
377 STATIC CONST UBYTE g_descr
[] =
381 DPF_DEAD
, 2 + (7 << DP_2DFACSHIFT
),
382 DPF_DEAD
, 2 + (7 << DP_2DFACSHIFT
),
389 STATIC CONST UBYTE h_descr
[] =
401 STATIC CONST UBYTE j_descr
[] =
413 STATIC CONST UBYTE k_descr
[] =
425 STATIC CONST UBYTE key00_descr
[] =
427 0, '^', // normal state can't be made a dead key
437 STATIC CONST UBYTE key0c_descr
[] =
439 DPF_DEAD
, 1 + (7 << DP_2DFACSHIFT
),
440 DPF_DEAD
, 2 + (7 << DP_2DFACSHIFT
),
445 STATIC CONST IPTR lokeymap
[] =
447 DEAD(key00_descr
), /* 00 Left of 1 Key */
448 BYTES('!', '¹', '!', '1'), /* 01 1 */
449 BYTES('@', '²', '"', '2'), /* 02 2 */
450 BYTES('#', '³', '§', '3'), /* 03 3 */
451 BYTES('¢', '°', '$', '4'), /* 04 4 */
452 BYTES('%', '¼', '%', '5'), /* 05 5 */
453 BYTES('^', '½', '&', '6'), /* 06 6 */
454 BYTES('¾', '{', '/', '7'), /* 07 7 */
455 BYTES('*', '[', '(', '8'), /* 08 8 */
456 BYTES('«', ']', ')', '9'), /* 09 9 */
457 BYTES('»', '}', '=', '0'), /* 0A 0 */
458 BYTES('|', '\\', '?', 'ß'), /* 0B Right of 0 */
459 DEAD(key0c_descr
), /* 0C 2nd right of 0 */
460 BYTES('`', '`', '\'', '#'), /* 0D 3rd right of 0 */
461 BYTES(0, 0, 0, 0), /* 0E undefined */
462 BYTES(0, 0, 0, '0'), /* 0F NUM 0 */
463 BYTES('@', '@', 'Q', 'q'), /* 10 */
464 BYTES('°', '°', 'W', 'w'), /* 11 */
465 DEAD(e_descr
), /* 12 */
466 BYTES('®', '®', 'R', 'r'), /* 13 */
467 BYTES('Þ', 'þ', 'T', 't'), /* 14 */
468 BYTES('¥', EUR
, 'Z', 'z'), /* 15 */
469 DEAD(u_descr
), /* 16 */
470 DEAD(i_descr
), /* 17 */
471 DEAD(o_descr
), /* 18 */
472 BYTES('¶', '¶', 'P', 'p'), /* 19 */
474 BYTES('{', '[', 'Ü', 'ü'), /* 1A */
475 BYTES('*', '~', '*', '+'), /* 1B */
476 BYTES(0, 0, 0, 0), /* 1C undefined */
477 BYTES(0, 0, 0, '1'), /* 1D NUM 1*/
478 BYTES(0, 0, 0, '2'), /* 1E NUM 2*/
479 BYTES(0, 0, 0, '3'), /* 1F NUM 3*/
481 DEAD(a_descr
), /* 20 */
482 BYTES('§', 'ß', 'S', 's'), /* 21 */
483 BYTES('Ð', 'ð', 'D', 'd'), /* 22 */
484 DEAD(f_descr
), /* 23 */
485 DEAD(g_descr
), /* 24 */
486 DEAD(h_descr
), /* 25 */
487 DEAD(j_descr
), /* 26 */
488 DEAD(k_descr
), /* 27 */
489 BYTES('£', '£', 'L', 'l'), /* 28 */
491 BYTES(':', ';', 'Ö', 'ö'), /* 29 */
492 BYTES('"', '\'', 'Ä', 'ä'), /* 2A */
493 BYTES('`', '`', '\'', '#'), /* 2B */
494 BYTES(0, 0, 0, 0), /* 2C undefined */
495 BYTES(0, 0, 0, '4'), /* 2D NUM 4 */
496 BYTES(0, 0, 0, '5'), /* 2E NUM 5 */
497 BYTES(0, 0, 0, '6'), /* 2F NUM 6 */
498 BYTES('¦', '|', '>', '<'), /* 30 */
499 DEAD(y_descr
), /* 31 */
500 BYTES('÷', '×', 'X', 'x'), /* 32 */
501 BYTES('Ç', 'ç', 'C', 'c'), /* 33 */
502 BYTES('ª', 'ª', 'V', 'v'), /* 34 */
503 BYTES('º', 'º', 'B', 'b'), /* 35 */
504 DEAD(n_descr
), /* 36 */
505 BYTES('µ', 'µ', 'M', 'm'), /* 37 */
507 BYTES('<', ',', ';', ','), /* 38 */
508 BYTES('>', '.', ':', '.'), /* 39 */
509 BYTES('?', '/', '_', '-'), /* 3A */
510 BYTES(0, 0, 0, 0), /* 3B */
511 BYTES(0, 0, 0, ','), /* 3C NUM . */
512 BYTES(0, 0, 0, '7'), /* 3D NUM 7 */
513 BYTES(0, 0, 0, '8'), /* 3E NUM 8 */
514 BYTES(0, 0, 0, '9'), /* 3F NUM 9 */
517 #include "standard.h"
519 STATIC CONST UBYTE space_descr
[] =
524 ' ', '´' /*0xB4*/, '`', '^', '~', '¨' /*0xA8*/, '°' /*0xB0*/,
525 '´' /*0xB4*/, '´' /*0xB4*/, '^', '´' /*0xB4*/, '´' /*0xB4*/, '´' /*0xB4*/, '´' /*0xB4*/,
526 '`', '^', '`', '`', '`', '`', '`'
529 STATIC CONST IPTR hikeymap
[] =
531 DEAD(space_descr
), /* 40 */
532 BYTES(8, 8, 8, 8), /* 41 BACKSPACE*/
533 STRING(tab_descr
), /* 42 TAB */
534 BYTES(13, 13, 13, 13), /* 43 ENTER */
535 BYTES(0, 0, 10, 13), /* 44 RETURN */
536 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
537 BYTES(127, 127, 127, 127), /* 46 DEL */
538 STRING(insert_descr
), /* 47 INSERT ?? */
539 STRING(pageup_descr
), /* 48 PAGEUP ?? */
540 STRING(pagedown_descr
), /* 49 PAGEDOWN ?? */
541 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
542 STRING(f11_descr
), /* 4B F11 ?? */
543 STRING(up_descr
), /* 4C CURSOR UP*/
544 STRING(down_descr
), /* 4D CURSOR DOWN*/
545 STRING(right_descr
), /* 4E CURSOR RIGHT */
546 STRING(left_descr
), /* 4F CURSOR LEFT */
547 STRING(f1_descr
), /* 50 F1 */
548 STRING(f2_descr
), /* 51 */
549 STRING(f3_descr
), /* 52 */
550 STRING(f4_descr
), /* 53 */
551 STRING(f5_descr
), /* 54 */
552 STRING(f6_descr
), /* 55 */
553 STRING(f7_descr
), /* 56 */
554 STRING(f8_descr
), /* 57 */
555 STRING(f9_descr
), /* 58 */
556 STRING(f10_descr
), /* 59 */
557 BYTES(0, 0, 0, 0), /* 5A */
558 BYTES('/', '/', '/', '/'), /* 5B */
559 BYTES('*', '*', '*', '*'), /* 5C */
560 BYTES('-', '-', '-', '-'), /* 5D */
561 BYTES('+', '+', '+', '+'), /* 5E */
562 STRING(help_descr
), /* 5F HELP */
563 BYTES(0, 0, 0, 0), /* 60 */
564 BYTES(0, 0, 0, 0), /* 61 */
565 BYTES(0, 0, 0, 0), /* 62 */
566 BYTES(0, 0, 0, 0), /* 63 */
567 BYTES(0, 0, 0, 0), /* 64 */
568 BYTES(0, 0, 0, 0), /* 65 */
569 BYTES(0, 0, 0, 0), /* 66 */
570 BYTES(0, 0, 0, 0), /* 67 */
571 BYTES(0, 0, 0, 0), /* 68 */
572 BYTES(0, 0, 0, 0), /* 69 */
573 BYTES(0, 0, 0, 0), /* 6A */
574 BYTES(0, 0, 0, 0), /* 6B */
575 BYTES(0, 0, 0, 0), /* 6C */
576 BYTES(0, 0, 0, 0), /* 6D */
577 STRING(pausebreak_descr
), /* 6E PAUSE/BREAK ?? */
578 STRING(f12_descr
), /* 6F F12 ?? */
579 STRING(home_descr
), /* 70 HOME ?? */
580 STRING(end_descr
), /* 71 END ?? */
581 BYTES(0, 0, 0, 0), /* 72 */
582 BYTES(0, 0, 0, 0), /* 73 */
583 BYTES(0, 0, 0, 0), /* 74 */
584 BYTES(0, 0, 0, 0), /* 75 */
585 BYTES(0, 0, 0, 0), /* 76 */
586 BYTES(0, 0, 0, 0), /* 77 */
587 BYTES(0, 0, 0, 0), /* 78 */
588 BYTES(0, 0, 0, 0), /* 79 */
589 BYTES(0, 0, 0, 0), /* 7A */
590 BYTES(0, 0, 0, 0), /* 7B */
591 BYTES(0, 0, 0, 0), /* 7C */
592 BYTES(0, 0, 0, 0), /* 7D */
593 BYTES(0, 0, 0, 0), /* 7E */
594 BYTES(0, 0, 0, 0), /* 7F */
599 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
600 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
602 STATIC CONST UBYTE locapsable
[] =
604 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
605 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
607 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
608 SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */
610 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
611 SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 28 - 2F */
613 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
614 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */
617 STATIC CONST UBYTE hicapsable
[] =
619 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
620 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
622 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
623 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
625 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
626 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
628 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
629 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
632 STATIC CONST UBYTE lorepeatable
[] =
634 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
635 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
637 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
638 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
640 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
641 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
643 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
644 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
647 STATIC CONST UBYTE hirepeatable
[] =
649 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
650 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
652 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
653 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
655 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
656 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
658 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
659 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */