2 Copyright © 1995-2006, The AROS Development Team. All rights reserved.
5 Desc: French PC105 Keymap
9 #include <devices/keymap.h>
11 STATIC
char keymapname
[] = "pc105_f";
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
=
25 #if (AROS_FLAVOUR & AROS_FLAVOUR_BINCOMPAT)
27 NULL
, NULL
, 0, 0, keymapname
31 NULL
, NULL
, keymapname
, 0, 0
35 (UBYTE
*)lokeymaptypes
,
38 (UBYTE
*)lorepeatable
,
39 (UBYTE
*)hikeymaptypes
,
64 #define EUR 0xA4 /* ISO 8859-15: Euro = 164 = 0xA4) */
66 STATIC CONST UBYTE lokeymaptypes
[] =
68 S
|A
, /* 00 left of 1 */
79 S
|A
, /* 0B Right of 0 */
80 S
|A
, /* 0C 2nd right of 0 */
81 N
, /* 0D 3rd right of 0 */
96 D
|S
|A
, /* 1A dead key ^" */
116 N
, /* 2C undefined */
132 N
, /* 3B undefined */
139 STATIC CONST UBYTE hikeymaptypes
[] =
142 N
, /* 41 BACKSPACE */
148 ST
|S
, /* 47 INSERT ?? */
149 ST
|S
, /* 48 PAGE UP ?? */
150 ST
|S
, /* 49 PAGE DOWN ?? */
151 N
, /* 4A NUMERIC PAD - */
152 ST
|S
, /* 4B F11 ?? */
153 ST
|S
, /* 4C CURSORUP*/
154 ST
|S
, /* 4D CURSORDOWN */
155 ST
|S
, /* 4E CURSORRIGHT */
156 ST
|S
, /* 4F CURSORLEFT */
167 NOP
, /* 5A NUMLOCK */
173 NOP
, /* 60 LEFT SHIFT*/
174 NOP
, /* 61 RIGHT SHIFT */
175 NOP
, /* 62 CAPS LOCK */
176 NOP
, /* 63 CONTROL */
179 NOP
, /* 66 LCOMMAND */
180 NOP
, /* 67 RCOMMAND */
181 NOP
, /* 68 LEFT MOUSE BUTTON*/
182 NOP
, /* 69 RIGHT MOUSE BUTTON */
183 NOP
, /* 6A MIDDLE MOUSE BUTTON */
187 ST
|A
, /* 6E PAUSE/BREAK ??*/
188 ST
|S
, /* 6F F12 ?? */
189 ST
|C
, /* 70 HOME ?? */
190 ST
|C
, /* 71 END ?? */
220 #define STRING(x) (IPTR)x
221 #define DEAD(x) (IPTR)x
222 #define BYTES(b0, b1, b2, b3) \
223 (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0)
236 STATIC CONST UBYTE a_descr
[] =
247 'a', 'á' /*0xE1*/, 'à' /*0xE0*/, 'â' /*0xE2*/, 'ã' /*0xE3*/, 'ä' /*0xE4*/, 'å' /*0xE5*/,
249 'A', 'Á' /*0xC1*/, 'À' /*0xC0*/, 'Â' /*0xC2*/, 'Ã' /*0xC3*/, 'Ä' /*0xC4*/, 'Å' /*0xC5*/
252 STATIC CONST UBYTE e_descr
[] =
263 'e', 'é' /*0xE9*/, 'è' /*0xE8*/, 'ê' /*0xEA*/, 'e', 'ë' /*0xEB*/, 'e',
265 'E', 'É' /*0xC9*/, 'È' /*0xC8*/, 'Ê' /*0xCA*/, 'E', 'Ë' /*0xCB*/, 'E'
268 STATIC CONST UBYTE u_descr
[] =
279 'u', 'ú' /*0xFA*/, 'ù' /*0xF9*/, 'û' /*0xFB*/, 'u', 'ü' /*0xFC*/, 'u',
281 'U', 'Ú' /*0xDA*/, 'Ù' /*0xD9*/, 'Û' /*0xDB*/, 'U', 'Ü' /*0xDC*/, 'U'
284 STATIC CONST UBYTE i_descr
[] =
295 'i', 'í' /*0xED*/, 'ì' /*0xEC*/, 'î' /*0xEE*/, 'i', 'ï' /*0xEF*/, 'i',
297 'I', 'Í' /*0xCD*/, 'Ì' /*0xCC*/, 'Î' /*0xCE*/, 'I', 'Ï' /*0xCF*/, 'I'
300 STATIC CONST UBYTE o_descr
[] =
311 'o', 'ó' /*0xF3*/, 'ò' /*0xF2*/, 'ô' /*0xF4*/, 'õ' /*0xF5*/, 'ö' /*0xF6*/, 'o',
313 'O', 'Ó' /*0xD3*/, 'Ò' /*0xD2*/, 'Ô' /*0xD4*/, 'Õ' /*0xD5*/, 'Ö' /*0xD6*/, 'O'
316 STATIC CONST UBYTE c_descr
[] =
327 'c', 'ç' /*0xE7*/, 'c', 'c', 'c', 'c', 'c',
329 'C', 'Ç' /*0xC7*/, 'C', 'C', 'C', 'C', 'C'
332 STATIC CONST UBYTE space_descr
[] =
337 ' ', '´' /*0xB4*/, '`','^','~', '¨' /*0xA8*/, '°' /*0xB0*/
340 STATIC CONST UBYTE KEY1A_descr
[] =
348 STATIC CONST UBYTE KEY37_descr
[] =
356 STATIC CONST UBYTE KEY2A_descr
[] =
364 STATIC CONST UBYTE KEY2B_descr
[] =
372 STATIC CONST IPTR lokeymap
[] =
374 BYTES('¬', '¬', '~', '²'), /* 00 Left of 1 Key */
375 BYTES('¡', '¹', '1', '&'), /* 01 1 */
376 BYTES('²', '~', '2', 'é'), /* 02 2 */
377 BYTES('£', '#', '3', '"'), /* 03 3 */
378 BYTES('$', '{', '4','\''), /* 04 4 */
379 BYTES('5', '[', '5', '('), /* 05 5 */
380 BYTES('6', '|', '6', '-'), /* 06 6 */
381 BYTES('7', '`', '7', 'è'), /* 07 7 */
382 BYTES('8','\\', '8', '_'), /* 08 8 */
383 BYTES('±', '^', '9', 'ç'), /* 09 9 */
384 BYTES('°', '@', '0', 'à'), /* 0A 0 */
385 BYTES('¿', ']', '°', ')'), /* 0B Right of 0 */
386 BYTES('+', '}', '+', '='), /* 0C 2nd right of 0 */
387 BYTES('|', '|', '|', '|'), /* 0D 3rd right of 0 */
388 BYTES(0, 0, 0, 0), /* 0E undefined */
389 BYTES('0', '0', '0', '0'), /* 0F NUM 0 */
390 DEAD(a_descr
), /* 10 */ /* old: BYTES('Æ', 'æ', 'A', 'a'), */
391 BYTES('<', '«', 'Z', 'z'), /* 11 */
392 DEAD(e_descr
), /* 12 */ /* old: BYTES('¢', EUR, 'E', 'e'), */
393 BYTES('®', '¶', 'R', 'r'), /* 13 */
394 BYTES('T', 't', 'T', 't'), /* 14 */
395 BYTES('¥', 'y', 'Y', 'y'), /* 15 */
396 DEAD(u_descr
), /* 16 */ /* old: BYTES('U', 'u', 'U', 'u'), */
397 DEAD(i_descr
), /* 17 */ /* old: BYTES('I', 'i', 'I', 'i'), */
398 DEAD(o_descr
), /* 18 */ /* old: BYTES('Ø', 'ø', 'O', 'o'), */
399 BYTES('Þ', 'þ', 'P', 'p'), /* 19 */
401 DEAD(KEY1A_descr
), /* 1A */ /* old: BYTES('°', '°', '"', '^'), */
402 BYTES('£', '¤', '£', '$'), /* 1B */
403 BYTES(0, 0, 0, 0), /* 1C undefined */
404 BYTES('1', '1', '1', '1'), /* 1D NUM 1*/
405 BYTES('2', '2', '2', '2'), /* 1E NUM 2*/
406 BYTES('3', '3', '3', '3'), /* 1F NUM 3*/
408 BYTES('Q', '@', 'Q', 'q'), /* 20 */
409 BYTES('§', 'ß', 'S', 's'), /* 21 */
410 BYTES('Ð', 'ð', 'D', 'd'), /* 22 */
411 BYTES('ª', 'f', 'F', 'f'), /* 23 */
412 BYTES('G', 'g', 'G', 'g'), /* 24 */
413 BYTES('H', 'h', 'H', 'h'), /* 25 */
414 BYTES('J', 'j', 'J', 'j'), /* 26 */
415 BYTES('&', 'k', 'K', 'k'), /* 27 */
416 BYTES('L', 'l', 'L', 'l'), /* 28 */
417 BYTES('º', 'µ', 'M', 'm'), /* 29 */
419 DEAD(KEY2A_descr
), /* 2A */
420 DEAD(KEY2B_descr
), /* 2B */
421 BYTES(0, 0, 0, 0), /* 2C undefined */
422 BYTES('4', '4', '4', '4'), /* 2D NUM 4 */
423 BYTES('5', '5', '5', '5'), /* 2E NUM 5 */
424 BYTES('6', '6', '6', '6'), /* 2F NUM 6 */
425 BYTES('¦', '|', '>', '<'), /* 30 */
426 BYTES('W', 'w', 'W', 'w'), /* 31 */
427 BYTES('>', '»', 'X', 'x'), /* 32 */
428 DEAD(c_descr
), /* 33 */
429 BYTES('`', 'v', 'V', 'v'), /* 34 */
430 BYTES('\'','b', 'B', 'b'), /* 35 */
431 BYTES('N', 'n', 'N', 'n'), /* 36 */
433 DEAD(KEY37_descr
), /* 37 */
434 BYTES('×', ';', '.', ';'), /* 38 */
435 BYTES('÷', '·', '/', ':'), /* 39 */
436 BYTES('§', '!', '§', '!'), /* 3A */
437 BYTES(0, 0, 0, 0), /* 3B */
438 BYTES('.', '.', '.', '.'), /* 3C NUM . */
439 BYTES('7', '7', '7', '7'), /* 3D NUM 7 */
440 BYTES('8', '8', '8', '8'), /* 3E NUM 8 */
441 BYTES('9', '9', '9', '9'), /* 3F NUM 9 */
444 #include "standard.h"
446 STATIC CONST IPTR hikeymap
[] =
448 DEAD(space_descr
), /* 40 */
449 BYTES(8, 8, 8, 8), /* 41 BACKSPACE*/
450 STRING(tab_descr
), /* 42 TAB */
451 BYTES(13, 13, 13, 13), /* 43 ENTER */
452 BYTES(0, 0, 10, 13), /* 44 RETURN */
453 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
454 BYTES(127, 127, 127, 127), /* 46 DEL */
455 STRING(insert_descr
), /* 47 INSERT ?? */
456 STRING(pageup_descr
), /* 48 PAGEUP ?? */
457 STRING(pagedown_descr
), /* 49 PAGEDOWN ?? */
458 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
459 STRING(f11_descr
), /* 4B F11 ?? */
460 STRING(up_descr
), /* 4C CURSOR UP*/
461 STRING(down_descr
), /* 4D CURSOR DOWN*/
462 STRING(right_descr
), /* 4E CURSOR RIGHT */
463 STRING(left_descr
), /* 4F CURSOR LEFT */
464 STRING(f1_descr
), /* 50 F1 */
465 STRING(f2_descr
), /* 51 */
466 STRING(f3_descr
), /* 52 */
467 STRING(f4_descr
), /* 53 */
468 STRING(f5_descr
), /* 54 */
469 STRING(f6_descr
), /* 55 */
470 STRING(f7_descr
), /* 56 */
471 STRING(f8_descr
), /* 57 */
472 STRING(f9_descr
), /* 58 */
473 STRING(f10_descr
), /* 59 */
474 BYTES(0, 0, 0, 0), /* 5A */
475 BYTES('/', '/', '/', '/'), /* 5B */
476 BYTES('*', '*', '*', '*'), /* 5C */
477 BYTES('-', '-', '-', '-'), /* 5D */
478 BYTES('+', '+', '+', '+'), /* 5E */
479 STRING(help_descr
), /* 5F HELP */
480 BYTES(0, 0, 0, 0), /* 60 */
481 BYTES(0, 0, 0, 0), /* 61 */
482 BYTES(0, 0, 0, 0), /* 62 */
483 BYTES(0, 0, 0, 0), /* 63 */
484 BYTES(0, 0, 0, 0), /* 64 */
485 BYTES(0, 0, 0, 0), /* 65 */
486 BYTES(0, 0, 0, 0), /* 66 */
487 BYTES(0, 0, 0, 0), /* 67 */
488 BYTES(0, 0, 0, 0), /* 68 */
489 BYTES(0, 0, 0, 0), /* 69 */
490 BYTES(0, 0, 0, 0), /* 6A */
491 BYTES(0, 0, 0, 0), /* 6B */
492 BYTES(0, 0, 0, 0), /* 6C */
493 BYTES(0, 0, 0, 0), /* 6D */
494 STRING(pausebreak_descr
), /* 6E PAUSE/BREAK ?? */
495 STRING(f12_descr
), /* 6F F12 ?? */
496 STRING(home_descr
), /* 70 HOME ?? */
497 STRING(end_descr
), /* 71 END ?? */
498 BYTES(0, 0, 0, 0), /* 72 */
499 BYTES(0, 0, 0, 0), /* 73 */
500 BYTES(0, 0, 0, 0), /* 74 */
501 BYTES(0, 0, 0, 0), /* 75 */
502 BYTES(0, 0, 0, 0), /* 76 */
503 BYTES(0, 0, 0, 0), /* 77 */
504 BYTES(0, 0, 0, 0), /* 78 */
505 BYTES(0, 0, 0, 0), /* 79 */
506 BYTES(0, 0, 0, 0), /* 7A */
507 BYTES(0, 0, 0, 0), /* 7B */
508 BYTES(0, 0, 0, 0), /* 7C */
509 BYTES(0, 0, 0, 0), /* 7D */
510 BYTES(0, 0, 0, 0), /* 7E */
511 BYTES(0, 0, 0, 0), /* 7F */
516 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
517 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
519 STATIC CONST UBYTE locapsable
[] =
521 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
522 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
524 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
525 SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */
527 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
528 SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */
530 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
531 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */
534 STATIC CONST UBYTE hicapsable
[] =
536 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
537 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
539 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
540 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
542 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
543 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
545 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
546 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
549 STATIC CONST UBYTE lorepeatable
[] =
551 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
552 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
554 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
555 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
557 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
558 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
560 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
561 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
564 STATIC CONST UBYTE hirepeatable
[] =
566 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
567 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
569 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
570 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
572 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
573 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
575 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
576 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */