2 Copyright © 2009-2011, The AROS Development Team. All rights reserved.
5 Desc: Elliniki (Greek) PC105 Keymap
9 #include <devices/keymap.h>
11 STATIC
char keymapname
[] = "pc105_gr";
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-7: 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)
215 STATIC CONST UBYTE a_descr
[] =
217 DPF_MOD
, 0x10, /* key pressed without qualifier */
218 DPF_MOD
, 0x17, /* key pressed with SHIFT */
219 0, 'á', /* 0xE6 */ /* key pressed with ALT */
220 0, 'Á', /* 0xC6 */ /* key pressed with SHIFT + ALT */
221 0, 0x01, /* key pressed with CONTROL */
222 0, 0x01, /* key pressed with CONTROL + SHIFT */
223 0, 0x81, /* key pressed with CONTROL + ALT */
224 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */
226 'a', 'Ü' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/,
227 'A', '¶' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/
230 STATIC CONST UBYTE e_descr
[] =
232 DPF_MOD
, 0x10, /* key pressed without qualifier */
233 DPF_MOD
, 0x17, /* key pressed with SHIFT */
234 0, 'å', /* 0xE6 */ /* key pressed with ALT */
235 0, 'Å', /* 0xC6 */ /* key pressed with SHIFT + ALT */
236 0, 0x01, /* key pressed with CONTROL */
237 0, 0x01, /* key pressed with CONTROL + SHIFT */
238 0, 0x81, /* key pressed with CONTROL + ALT */
239 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */
241 'e', 'Ý' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/,
242 'E', '¸' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/
245 STATIC CONST UBYTE h_descr
[] =
247 DPF_MOD
, 0x10, /* key pressed without qualifier */
248 DPF_MOD
, 0x17, /* key pressed with SHIFT */
249 0, 'ç', /* 0xE6 */ /* key pressed with ALT */
250 0, 'Ç', /* 0xC6 */ /* key pressed with SHIFT + ALT */
251 0, 0x01, /* key pressed with CONTROL */
252 0, 0x01, /* key pressed with CONTROL + SHIFT */
253 0, 0x81, /* key pressed with CONTROL + ALT */
254 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */
256 'h', 'Þ' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/,
257 'H', '¹' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/
260 STATIC CONST UBYTE i_descr
[] =
262 DPF_MOD
, 0x10, /* key pressed without qualifier */
263 DPF_MOD
, 0x17, /* key pressed with SHIFT */
264 0, 'é', /* 0xE6 */ /* key pressed with ALT */
265 0, 'É', /* 0xC6 */ /* key pressed with SHIFT + ALT */
266 0, 0x01, /* key pressed with CONTROL */
267 0, 0x01, /* key pressed with CONTROL + SHIFT */
268 0, 0x81, /* key pressed with CONTROL + ALT */
269 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */
271 'i', 'ß' /*0xE1*/, 'ú' /*0xE0*/, 'À' /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/,
272 'I', 'º' /*0xC1*/, 'Ú' /*0xC0*/, 'º' /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/
275 STATIC CONST UBYTE o_descr
[] =
277 DPF_MOD
, 0x10, /* key pressed without qualifier */
278 DPF_MOD
, 0x17, /* key pressed with SHIFT */
279 0, 'ï', /* 0xE6 */ /* key pressed with ALT */
280 0, 'Ï', /* 0xC6 */ /* key pressed with SHIFT + ALT */
281 0, 0x01, /* key pressed with CONTROL */
282 0, 0x01, /* key pressed with CONTROL + SHIFT */
283 0, 0x81, /* key pressed with CONTROL + ALT */
284 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */
286 'o', 'ü' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/,
287 'O', '¼' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/
290 STATIC CONST UBYTE y_descr
[] =
292 DPF_MOD
, 0x10, /* key pressed without qualifier */
293 DPF_MOD
, 0x17, /* key pressed with SHIFT */
294 0, 'õ', /* 0xE6 */ /* key pressed with ALT */
295 0, 'Õ', /* 0xC6 */ /* key pressed with SHIFT + ALT */
296 0, 0x01, /* key pressed with CONTROL */
297 0, 0x01, /* key pressed with CONTROL + SHIFT */
298 0, 0x81, /* key pressed with CONTROL + ALT */
299 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */
301 'y', 'ý' /*0xE1*/, 'û' /*0xE0*/, 'à' /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/,
302 'Y', '¾' /*0xC1*/, 'Û' /*0xC0*/, '¾' /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/
305 STATIC CONST UBYTE v_descr
[] =
307 DPF_MOD
, 0x10, /* key pressed without qualifier */
308 DPF_MOD
, 0x17, /* key pressed with SHIFT */
309 0, 'ù', /* 0xE6 */ /* key pressed with ALT */
310 0, 'Ù', /* 0xC6 */ /* key pressed with SHIFT + ALT */
311 0, 0x01, /* key pressed with CONTROL */
312 0, 0x01, /* key pressed with CONTROL + SHIFT */
313 0, 0x81, /* key pressed with CONTROL + ALT */
314 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */
316 'v', 'þ' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/,
317 'V', '¿' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/
323 STATIC CONST UBYTE key29_descr
[] =
334 STATIC CONST UBYTE key0b_descr
[] =
349 28, /* CTRL + SHIFT */
351 28, /* CTRL + ALT + SHIFT */
354 STATIC CONST IPTR lokeymap
[] =
356 BYTES('°', '^', '~', '`'), /* 00 Left of 1 Key */
357 BYTES('!', 0, '!', '1'), /* 01 1 */
358 BYTES('"', '²', '@', '2'), /* 02 2 */
359 BYTES('#', '³', '#', '3'), /* 03 3 */
360 BYTES(0, '°', '$', '4'), /* 04 4 */
361 BYTES('%', 0, '%', '5'), /* 05 5 */
362 BYTES('^', '½', '^', '6'), /* 06 6 */
363 BYTES('&', '{', '&', '7'), /* 07 7 */
364 BYTES('*', '[', '*', '8'), /* 08 8 */
365 BYTES('(', ']', '(', '9'), /* 09 9 */
366 BYTES(')', '}', ')', '0'), /* 0A 0 */
367 BYTES(0, 0, '_', '-'), /* 0B Right of 0 */
368 BYTES('+', '=', '=', '+'), /* 0C 2nd right of 0 */
369 BYTES(0, 0, 0, 0), /* 0D 3rd right of 0 */
370 BYTES(0, 0, 0, 0), /* 0E undefined */
371 BYTES('0', '0', '0', '0'), /* 0F NUM 0 */
372 BYTES(':', ';', 'Q', 'q'), /* 10 */
373 BYTES('Ó', 'ò', 'W', 'w'), /* 11 */
374 DEAD(e_descr
), /* 12 */
375 BYTES('Ñ', 'ñ', 'R', 'r'), /* 13 */
376 BYTES('Ô', 'ô', 'T', 't'), /* 14 */
377 DEAD(y_descr
), /* 15 */
378 BYTES('È', 'è', 'U', 'u'), /* 16 */
379 DEAD(i_descr
), /* 17 */
380 DEAD(o_descr
), /* 18 */
381 BYTES('Ð', 'ð', 'P', 'p'), /* 19 */
383 BYTES('{', '[', '{', '['), /* 1A */
384 BYTES('}', ']', '}', ']'), /* 1B */
385 BYTES(0, 0, 0, 0), /* 1C undefined */
386 BYTES('1', '1', '1', '1'), /* 1D NUM 1*/
387 BYTES('2', '2', '2', '2'), /* 1E NUM 2*/
388 BYTES('3', '3', '3', '3'), /* 1F NUM 3*/
390 DEAD(a_descr
), /* 20 */
391 BYTES('Ó', 'ó', 'S', 's'), /* 21 */
392 BYTES('Ä', 'ä', 'D', 'd'), /* 22 */
393 BYTES('Ö', 'ö', 'F', 'f'), /* 23 */
394 BYTES('Ã', 'ã', 'G', 'g'), /* 24 */
395 DEAD(h_descr
), /* 25 */
396 BYTES('Î', 'î', 'J', 'j'), /* 26 */
397 BYTES('Ê', 'ê', 'K', 'k'), /* 27 */
398 BYTES('Ë', 'ë', 'L', 'l'), /* 28 */
400 DEAD(key29_descr
), /* 29 */
401 BYTES(0, 0, '"', '\''), /* 2A */
402 BYTES(0, 0, 0, 0), /* 2B */
403 BYTES(0, 0, 0, 0), /* 2C undefined */
404 BYTES('4', '4', '4', '4'), /* 2D NUM 4 */
405 BYTES('5', '5', '5', '5'), /* 2E NUM 5 */
406 BYTES('6', '6', '6', '6'), /* 2F NUM 6 */
407 BYTES(0 , '|', '>', '<'), /* 30 */
408 BYTES('Æ', 'æ', 'Z', 'z'), /* 31 */
409 BYTES('×', '÷', 'X', 'x'), /* 32 */
410 BYTES('Ø', 'ø', 'C', 'c'), /* 33 */
411 DEAD(v_descr
), /* 34 */
412 BYTES('Â', 'â', 'B', 'b'), /* 35 */
413 BYTES('Í', 'í', 'N', 'n'), /* 36 */
414 BYTES('Ì', 'ì', 'M', 'm'), /* 37 */
416 BYTES(0, 0, '<', ','), /* 38 */
417 BYTES(0, 0, '>', '.'), /* 39 */
418 BYTES(0, 0, '?', '/'), /* 3A */
419 BYTES(0, 0, 0, 0), /* 3B */
420 BYTES(',', ',', ',', ','), /* 3C NUM . */
421 BYTES('7', '7', '7', '7'), /* 3D NUM 7 */
422 BYTES('8', '8', '8', '8'), /* 3E NUM 8 */
423 BYTES('9', '9', '9', '9'), /* 3F NUM 9 */
426 #include "standard.h"
428 STATIC CONST IPTR hikeymap
[] =
430 BYTES(' ', ' ', ' ', ' '), /* 40 */
431 BYTES(8, 8, 8, 8), /* 41 BACKSPACE*/
432 STRING(tab_descr
), /* 42 TAB */
433 BYTES(13, 13, 13, 13), /* 43 ENTER */
434 BYTES(0, 0, 10, 13), /* 44 RETURN */
435 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
436 BYTES(127, 127, 127, 127), /* 46 DEL */
437 STRING(insert_descr
), /* 47 INSERT ?? */
438 STRING(pageup_descr
), /* 48 PAGEUP ?? */
439 STRING(pagedown_descr
), /* 49 PAGEDOWN ?? */
440 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
441 STRING(f11_descr
), /* 4B F11 ?? */
442 STRING(up_descr
), /* 4C CURSOR UP*/
443 STRING(down_descr
), /* 4D CURSOR DOWN*/
444 STRING(right_descr
), /* 4E CURSOR RIGHT */
445 STRING(left_descr
), /* 4F CURSOR LEFT */
446 STRING(f1_descr
), /* 50 F1 */
447 STRING(f2_descr
), /* 51 */
448 STRING(f3_descr
), /* 52 */
449 STRING(f4_descr
), /* 53 */
450 STRING(f5_descr
), /* 54 */
451 STRING(f6_descr
), /* 55 */
452 STRING(f7_descr
), /* 56 */
453 STRING(f8_descr
), /* 57 */
454 STRING(f9_descr
), /* 58 */
455 STRING(f10_descr
), /* 59 */
456 BYTES(0, 0, 0, 0), /* 5A */
457 BYTES('/', '/', '/', '/'), /* 5B */
458 BYTES('*', '*', '*', '*'), /* 5C */
459 BYTES('-', '-', '-', '-'), /* 5D */
460 BYTES('+', '+', '+', '+'), /* 5E */
461 STRING(help_descr
), /* 5F HELP */
462 BYTES(0, 0, 0, 0), /* 60 */
463 BYTES(0, 0, 0, 0), /* 61 */
464 BYTES(0, 0, 0, 0), /* 62 */
465 BYTES(0, 0, 0, 0), /* 63 */
466 BYTES(0, 0, 0, 0), /* 64 */
467 BYTES(0, 0, 0, 0), /* 65 */
468 BYTES(0, 0, 0, 0), /* 66 */
469 BYTES(0, 0, 0, 0), /* 67 */
470 BYTES(0, 0, 0, 0), /* 68 */
471 BYTES(0, 0, 0, 0), /* 69 */
472 BYTES(0, 0, 0, 0), /* 6A */
473 BYTES(0, 0, 0, 0), /* 6B */
474 BYTES(0, 0, 0, 0), /* 6C */
475 BYTES(0, 0, 0, 0), /* 6D */
476 STRING(pausebreak_descr
), /* 6E PAUSE/BREAK ?? */
477 STRING(f12_descr
), /* 6F F12 ?? */
478 STRING(home_descr
), /* 70 HOME ?? */
479 STRING(end_descr
), /* 71 END ?? */
480 BYTES(0, 0, 0, 0), /* 72 */
481 BYTES(0, 0, 0, 0), /* 73 */
482 BYTES(0, 0, 0, 0), /* 74 */
483 BYTES(0, 0, 0, 0), /* 75 */
484 BYTES(0, 0, 0, 0), /* 76 */
485 BYTES(0, 0, 0, 0), /* 77 */
486 BYTES(0, 0, 0, 0), /* 78 */
487 BYTES(0, 0, 0, 0), /* 79 */
488 BYTES(0, 0, 0, 0), /* 7A */
489 BYTES(0, 0, 0, 0), /* 7B */
490 BYTES(0, 0, 0, 0), /* 7C */
491 BYTES(0, 0, 0, 0), /* 7D */
492 BYTES(0, 0, 0, 0), /* 7E */
493 BYTES(0, 0, 0, 0), /* 7F */
498 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
499 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
501 STATIC CONST UBYTE locapsable
[] =
503 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
504 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
506 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
507 SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */
509 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
510 SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */
512 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
513 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */
516 STATIC CONST UBYTE hicapsable
[] =
518 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
519 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
521 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
522 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
524 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
525 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
527 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
528 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
531 STATIC CONST UBYTE lorepeatable
[] =
533 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
534 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
536 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
537 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
539 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
540 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
542 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
543 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
546 STATIC CONST UBYTE hirepeatable
[] =
548 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
549 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
551 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
552 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
554 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
555 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
557 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
558 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */