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
[] =
426 // Making key 0 a dead key would require a fix
427 // because prev. key is initialized with 0.
428 // Keymap.library treads that as if dead key 0 has
429 // been pressed before.
430 STATIC CONST UBYTE key00_descr
[] =
443 STATIC CONST UBYTE key0c_descr
[] =
445 DPF_DEAD
, 1 + (7 << DP_2DFACSHIFT
),
446 DPF_DEAD
, 2 + (7 << DP_2DFACSHIFT
),
451 STATIC CONST IPTR lokeymap
[] =
453 BYTES('°', '^', '°', '^'), /* 00 Left of 1 Key */
454 BYTES('!', '¹', '!', '1'), /* 01 1 */
455 BYTES('@', '²', '"', '2'), /* 02 2 */
456 BYTES('#', '³', '§', '3'), /* 03 3 */
457 BYTES('¢', '°', '$', '4'), /* 04 4 */
458 BYTES('%', '¼', '%', '5'), /* 05 5 */
459 BYTES('^', '½', '&', '6'), /* 06 6 */
460 BYTES('¾', '{', '/', '7'), /* 07 7 */
461 BYTES('*', '[', '(', '8'), /* 08 8 */
462 BYTES('«', ']', ')', '9'), /* 09 9 */
463 BYTES('»', '}', '=', '0'), /* 0A 0 */
464 BYTES('|', '\\', '?', 'ß'), /* 0B Right of 0 */
465 DEAD(key0c_descr
), /* 0C 2nd right of 0 */
466 BYTES('`', '`', '\'', '#'), /* 0D 3rd right of 0 */
467 BYTES(0, 0, 0, 0), /* 0E undefined */
468 BYTES(0, 0, 0, '0'), /* 0F NUM 0 */
469 BYTES('@', '@', 'Q', 'q'), /* 10 */
470 BYTES('°', '°', 'W', 'w'), /* 11 */
471 DEAD(e_descr
), /* 12 */
472 BYTES('®', '®', 'R', 'r'), /* 13 */
473 BYTES('Þ', 'þ', 'T', 't'), /* 14 */
474 BYTES('¥', EUR
, 'Z', 'z'), /* 15 */
475 DEAD(u_descr
), /* 16 */
476 DEAD(i_descr
), /* 17 */
477 DEAD(o_descr
), /* 18 */
478 BYTES('¶', '¶', 'P', 'p'), /* 19 */
480 BYTES('{', '[', 'Ü', 'ü'), /* 1A */
481 BYTES('*', '~', '*', '+'), /* 1B */
482 BYTES(0, 0, 0, 0), /* 1C undefined */
483 BYTES(0, 0, 0, '1'), /* 1D NUM 1*/
484 BYTES(0, 0, 0, '2'), /* 1E NUM 2*/
485 BYTES(0, 0, 0, '3'), /* 1F NUM 3*/
487 DEAD(a_descr
), /* 20 */
488 BYTES('§', 'ß', 'S', 's'), /* 21 */
489 BYTES('Ð', 'ð', 'D', 'd'), /* 22 */
490 DEAD(f_descr
), /* 23 */
491 DEAD(g_descr
), /* 24 */
492 DEAD(h_descr
), /* 25 */
493 DEAD(j_descr
), /* 26 */
494 DEAD(k_descr
), /* 27 */
495 BYTES('£', '£', 'L', 'l'), /* 28 */
497 BYTES(':', ';', 'Ö', 'ö'), /* 29 */
498 BYTES('"', '\'', 'Ä', 'ä'), /* 2A */
499 BYTES('`', '`', '\'', '#'), /* 2B */
500 BYTES(0, 0, 0, 0), /* 2C undefined */
501 BYTES(0, 0, 0, '4'), /* 2D NUM 4 */
502 BYTES(0, 0, 0, '5'), /* 2E NUM 5 */
503 BYTES(0, 0, 0, '6'), /* 2F NUM 6 */
504 BYTES('¦', '|', '>', '<'), /* 30 */
505 DEAD(y_descr
), /* 31 */
506 BYTES('÷', '×', 'X', 'x'), /* 32 */
507 BYTES('Ç', 'ç', 'C', 'c'), /* 33 */
508 BYTES('ª', 'ª', 'V', 'v'), /* 34 */
509 BYTES('º', 'º', 'B', 'b'), /* 35 */
510 DEAD(n_descr
), /* 36 */
511 BYTES('µ', 'µ', 'M', 'm'), /* 37 */
513 BYTES('<', ',', ';', ','), /* 38 */
514 BYTES('>', '.', ':', '.'), /* 39 */
515 BYTES('?', '/', '_', '-'), /* 3A */
516 BYTES(0, 0, 0, 0), /* 3B */
517 BYTES(0, 0, 0, ','), /* 3C NUM . */
518 BYTES(0, 0, 0, '7'), /* 3D NUM 7 */
519 BYTES(0, 0, 0, '8'), /* 3E NUM 8 */
520 BYTES(0, 0, 0, '9'), /* 3F NUM 9 */
523 #include "standard.h"
525 STATIC CONST UBYTE space_descr
[] =
530 ' ', '´' /*0xB4*/, '`', '^', '~', '¨' /*0xA8*/, '°' /*0xB0*/,
531 '´' /*0xB4*/, '´' /*0xB4*/, '^', '´' /*0xB4*/, '´' /*0xB4*/, '´' /*0xB4*/, '´' /*0xB4*/,
532 '`', '^', '`', '`', '`', '`', '`'
535 STATIC CONST IPTR hikeymap
[] =
537 DEAD(space_descr
), /* 40 */
538 BYTES(8, 8, 8, 8), /* 41 BACKSPACE*/
539 STRING(tab_descr
), /* 42 TAB */
540 BYTES(13, 13, 13, 13), /* 43 ENTER */
541 BYTES(0, 0, 10, 13), /* 44 RETURN */
542 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
543 BYTES(127, 127, 127, 127), /* 46 DEL */
544 STRING(insert_descr
), /* 47 INSERT ?? */
545 STRING(pageup_descr
), /* 48 PAGEUP ?? */
546 STRING(pagedown_descr
), /* 49 PAGEDOWN ?? */
547 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
548 STRING(f11_descr
), /* 4B F11 ?? */
549 STRING(up_descr
), /* 4C CURSOR UP*/
550 STRING(down_descr
), /* 4D CURSOR DOWN*/
551 STRING(right_descr
), /* 4E CURSOR RIGHT */
552 STRING(left_descr
), /* 4F CURSOR LEFT */
553 STRING(f1_descr
), /* 50 F1 */
554 STRING(f2_descr
), /* 51 */
555 STRING(f3_descr
), /* 52 */
556 STRING(f4_descr
), /* 53 */
557 STRING(f5_descr
), /* 54 */
558 STRING(f6_descr
), /* 55 */
559 STRING(f7_descr
), /* 56 */
560 STRING(f8_descr
), /* 57 */
561 STRING(f9_descr
), /* 58 */
562 STRING(f10_descr
), /* 59 */
563 BYTES(0, 0, 0, 0), /* 5A */
564 BYTES('/', '/', '/', '/'), /* 5B */
565 BYTES('*', '*', '*', '*'), /* 5C */
566 BYTES('-', '-', '-', '-'), /* 5D */
567 BYTES('+', '+', '+', '+'), /* 5E */
568 STRING(help_descr
), /* 5F HELP */
569 BYTES(0, 0, 0, 0), /* 60 */
570 BYTES(0, 0, 0, 0), /* 61 */
571 BYTES(0, 0, 0, 0), /* 62 */
572 BYTES(0, 0, 0, 0), /* 63 */
573 BYTES(0, 0, 0, 0), /* 64 */
574 BYTES(0, 0, 0, 0), /* 65 */
575 BYTES(0, 0, 0, 0), /* 66 */
576 BYTES(0, 0, 0, 0), /* 67 */
577 BYTES(0, 0, 0, 0), /* 68 */
578 BYTES(0, 0, 0, 0), /* 69 */
579 BYTES(0, 0, 0, 0), /* 6A */
580 BYTES(0, 0, 0, 0), /* 6B */
581 BYTES(0, 0, 0, 0), /* 6C */
582 BYTES(0, 0, 0, 0), /* 6D */
583 STRING(pausebreak_descr
), /* 6E PAUSE/BREAK ?? */
584 STRING(f12_descr
), /* 6F F12 ?? */
585 STRING(home_descr
), /* 70 HOME ?? */
586 STRING(end_descr
), /* 71 END ?? */
587 BYTES(0, 0, 0, 0), /* 72 */
588 BYTES(0, 0, 0, 0), /* 73 */
589 BYTES(0, 0, 0, 0), /* 74 */
590 BYTES(0, 0, 0, 0), /* 75 */
591 BYTES(0, 0, 0, 0), /* 76 */
592 BYTES(0, 0, 0, 0), /* 77 */
593 BYTES(0, 0, 0, 0), /* 78 */
594 BYTES(0, 0, 0, 0), /* 79 */
595 BYTES(0, 0, 0, 0), /* 7A */
596 BYTES(0, 0, 0, 0), /* 7B */
597 BYTES(0, 0, 0, 0), /* 7C */
598 BYTES(0, 0, 0, 0), /* 7D */
599 BYTES(0, 0, 0, 0), /* 7E */
600 BYTES(0, 0, 0, 0), /* 7F */
605 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
606 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
608 STATIC CONST UBYTE locapsable
[] =
610 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
611 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
613 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
614 SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */
616 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
617 SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 28 - 2F */
619 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
620 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */
623 STATIC CONST UBYTE hicapsable
[] =
625 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
626 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
628 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
629 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
631 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
632 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
634 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
635 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
638 STATIC CONST UBYTE lorepeatable
[] =
640 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
641 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
643 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
644 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
646 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
647 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
649 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
650 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
653 STATIC CONST UBYTE hirepeatable
[] =
655 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
656 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
658 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
659 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
661 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
662 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
664 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
665 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */