/* Automatically generated by cnv_defkeymap */

#include <linux/autoconf.h>
#include <linux/types.h>
#include <linux/keyboard.h>
#include <linux/kd.h>

/* This one points to the machine specific key mapping. */
u_short *mach_key_map;

#if defined(CONFIG_AMIGA)
/* (permutation array was ami_kmap) */

u_short amiga_key_map[NR_KEYMAPS][NR_KEYS] = {
    { /* no modifiers */
/* 00-03 */	'`',	'1',	'2',	'3',
/* 04-07 */	'4',	'5',	'6',	'7',
/* 08-0b */	'8',	'9',	'0',	'-',
/* 0c-0f */	'=',	'\\',	K_HOLE,	K_P0,
/* 10-13 */	'q',	'w',	'e',	'r',
/* 14-17 */	't',	'y',	'u',	'i',
/* 18-1b */	'o',	'p',	'[',	']',
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	'a',	's',	'd',	'f',
/* 24-27 */	'g',	'h',	'j',	'k',
/* 28-2b */	'l',	';',	'\'',	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	'z',	'x',	'c',
/* 34-37 */	'v',	'b',	'n',	'm',
/* 38-3b */	',',	'.',	'/',	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	' ',	'H'&0x1f,	'I'&0x1f,	K_PENTER,
/* 44-47 */	K_ENTER,	'['&0x1f,	'?'|0x40,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_F1,	K_F2,	K_F3,	K_F4,
/* 54-57 */	K_F5,	K_F6,	K_F7,	K_F8,
/* 58-5b */	K_F9,	K_F10,	K_NUM,	K_HOLD,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_F11,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift */
/* 00-03 */	'~',	'!',	'@',	'#',
/* 04-07 */	'$',	'%',	'^',	'&',
/* 08-0b */	'*',	'(',	')',	'_',
/* 0c-0f */	'+',	'|',	K_HOLE,	K_P0,
/* 10-13 */	'Q',	'W',	'E',	'R',
/* 14-17 */	'T',	'Y',	'U',	'I',
/* 18-1b */	'O',	'P',	'{',	'}',
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	'A',	'S',	'D',	'F',
/* 24-27 */	'G',	'H',	'J',	'K',
/* 28-2b */	'L',	':',	'"',	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	'Z',	'X',	'C',
/* 34-37 */	'V',	'B',	'N',	'M',
/* 38-3b */	'<',	'>',	'?',	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	' ',	'H'&0x1f,	'I'&0x1f,	K_PENTER,
/* 44-47 */	K_ENTER,	'['&0x1f,	'?'|0x40,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_F11,	K_F12,	K_F13,	K_F14,
/* 54-57 */	K_F15,	K_F16,	K_F17,	K_F18,
/* 58-5b */	K_F19,	K_F20,	K_NUM,	K_SH_MEM,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_F11,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* altgr */
/* 00-03 */	K_HOLE,	K_HOLE,	'@',	K_HOLE,
/* 04-07 */	'$',	K_HOLE,	K_HOLE,	'{',
/* 08-0b */	'[',	']',	'}',	'\\',
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	'~',
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K(KT_CONS,12),	K(KT_CONS,13),	K(KT_CONS,14),	K(KT_CONS,15),
/* 54-57 */	K(KT_CONS,16),	K(KT_CONS,17),	K(KT_CONS,18),	K(KT_CONS,19),
/* 58-5b */	K(KT_CONS,20),	K(KT_CONS,21),	K_NUM,	K_SH_REGS,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K(KT_CONS,22),
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift altgr */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* control */
/* 00-03 */	'@'&0x1f,	K_HOLE,	'@'&0x1f,	'['&0x1f,
/* 04-07 */	'\\'&0x1f,	']'&0x1f,	'^'&0x1f,	'_'&0x1f,
/* 08-0b */	'?'|0x40,	K_HOLE,	K_HOLE,	'_'&0x1f,
/* 0c-0f */	K_HOLE,	'\\'&0x1f,	K_HOLE,	K_P0,
/* 10-13 */	'Q'&0x1f,	'W'&0x1f,	'E'&0x1f,	'R'&0x1f,
/* 14-17 */	'T'&0x1f,	'Y'&0x1f,	'U'&0x1f,	'I'&0x1f,
/* 18-1b */	'O'&0x1f,	'P'&0x1f,	'['&0x1f,	']'&0x1f,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	'A'&0x1f,	'S'&0x1f,	'D'&0x1f,	'F'&0x1f,
/* 24-27 */	'G'&0x1f,	'H'&0x1f,	'J'&0x1f,	'K'&0x1f,
/* 28-2b */	'L'&0x1f,	K_HOLE,	'G'&0x1f,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	'Z'&0x1f,	'X'&0x1f,	'C'&0x1f,
/* 34-37 */	'V'&0x1f,	'B'&0x1f,	'N'&0x1f,	'M'&0x1f,
/* 38-3b */	K_HOLE,	K_HOLE,	'?'|0x40,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	'@'&0x1f,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_F1,	K_F2,	K_F3,	K_F4,
/* 54-57 */	K_F5,	K_F6,	K_F7,	K_F8,
/* 58-5b */	K_F9,	K_F10,	K_NUM,	K_SH_STAT,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_F11,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift control */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* control altgr */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_BOOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift control altgr */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* alt */
/* 00-03 */	K(KT_META,'`'),	K(KT_META,'1'),	K(KT_META,'2'),	K(KT_META,'3'),
/* 04-07 */	K(KT_META,'4'),	K(KT_META,'5'),	K(KT_META,'6'),	K(KT_META,'7'),
/* 08-0b */	K(KT_META,'8'),	K(KT_META,'9'),	K(KT_META,'0'),	K(KT_META,'-'),
/* 0c-0f */	K(KT_META,'='),	K(KT_META,'\\'),	K_HOLE,	K_ASC0,
/* 10-13 */	K(KT_META,'q'),	K(KT_META,'w'),	K(KT_META,'e'),	K(KT_META,'r'),
/* 14-17 */	K(KT_META,'t'),	K(KT_META,'y'),	K(KT_META,'u'),	K(KT_META,'i'),
/* 18-1b */	K(KT_META,'o'),	K(KT_META,'p'),	K(KT_META,'['),	K(KT_META,']'),
/* 1c-1f */	K_HOLE,	K_ASC1,	K_ASC2,	K_ASC3,
/* 20-23 */	K(KT_META,'a'),	K(KT_META,'s'),	K(KT_META,'d'),	K(KT_META,'f'),
/* 24-27 */	K(KT_META,'g'),	K(KT_META,'h'),	K(KT_META,'j'),	K(KT_META,'k'),
/* 28-2b */	K(KT_META,'l'),	K(KT_META,';'),	K(KT_META,'\''),	K_HOLE,
/* 2c-2f */	K_HOLE,	K_ASC4,	K_ASC5,	K_ASC6,
/* 30-33 */	K_HOLE,	K(KT_META,'z'),	K(KT_META,'x'),	K(KT_META,'c'),
/* 34-37 */	K(KT_META,'v'),	K(KT_META,'b'),	K(KT_META,'n'),	K(KT_META,'m'),
/* 38-3b */	K(KT_META,','),	K(KT_META,'.'),	K(KT_META,'/'),	K_HOLE,
/* 3c-3f */	K_PDOT,	K_ASC7,	K_ASC8,	K_ASC9,
/* 40-43 */	K(KT_META,' '),	K(KT_META,'H'&0x1f),	K(KT_META,'I'&0x1f),	K_PENTER,
/* 44-47 */	K(KT_META,'M'&0x1f),	K(KT_META,'['&0x1f),	K(KT_META,'?'|0x40),	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K(KT_CONS,0),	K(KT_CONS,1),	K(KT_CONS,2),	K(KT_CONS,3),
/* 54-57 */	K(KT_CONS,4),	K(KT_CONS,5),	K(KT_CONS,6),	K(KT_CONS,7),
/* 58-5b */	K(KT_CONS,8),	K(KT_CONS,9),	K_NUM,	K_HOLD,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K(KT_CONS,10),
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift alt */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* alt altgr */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift alt altgr */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* control alt */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_BOOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift control alt */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* control alt altgr */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift control alt altgr */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K_HOLE,	K_P0,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_HOLE,	K_P1,	K_P2,	K_P3,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_P4,	K_P5,	K_P6,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 38-3b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 3c-3f */	K_PDOT,	K_P7,	K_P8,	K_P9,
/* 40-43 */	K_HOLE,	'H'&0x1f,	K_HOLE,	K_PENTER,
/* 44-47 */	K_ENTER,	K_HOLE,	K_HOLE,	K_HOLE,
/* 48-4b */	K_HOLE,	K_HOLE,	K_PMINUS,	K_HOLE,
/* 4c-4f */	K_UP,	K_DOWN,	K_RIGHT,	K_LEFT,
/* 50-53 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_NUM,	K_HOLE,
/* 5c-5f */	K_PSLASH,	K_PSTAR,	K_PPLUS,	K_HOLE,
/* 60-63 */	K_SHIFT,	K_SHIFT,	K_CAPS,	K_CTRL,
/* 64-67 */	K_ALT,	K_ALTGR,	K_HOLE,	K_HOLE,
/* 68-6b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 6c-6f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 70-73 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    },
};

#endif

#if defined(CONFIG_ATARI)
/* (permutation array was ata_kmap) */

/*
 * ++roman: The following changes were applied manually:
 *
 *  - The Alt (= Meta) key works in combination with Shift and Control, e.g. Alt+Shift+a sends Meta-A (0xc1),
 *    Alt+Control+A sends Meta-Ctrl-A (0x81) ...
 *
 *  - The parentheses on the keypad send '(' and ')' with all modifiers (as would do e.g. keypad '+'), but they cannot
 *    be used as application keys (i.e. sending Esc O c).
 *
 *  - HELP and UNDO are mapped to be F11 and F12, resp. This way, applications that allow their own keyboard mappings
 *    (e.g. tcsh, X Windows) can be configured to use them in the way the Label suggests (providing help or undoing).
 *
 *  - Console switching is done with Alt+Fx (consoles 1..10) and Shift+Alt+Fx (consoles 11..20).
 *
 *  - The misc. special function implemented in the kernel are mapped to the following key combinations:
 *
 *      ClrHome          -> Home/Find
 *      Shift + ClrHome  -> End/Select
 *      Shift + Up       -> Page Up
 *      Shift + Down     -> Page Down
 *      Alt + Help       -> show system status
 *      Shift + Help     -> show memory info
 *      Ctrl + Help      -> show registers
 *      Ctrl + Alt + Del -> Reboot
 *      Alt + Undo       -> switch to last console
 *      Shift + Undo     -> send interrupt
 *      Alt + Insert     -> stop/start output (same as ^S/^Q)
 *      Alt + Up         -> Scroll back console (if implemented)
 *      Alt + Down       -> Scroll forward console (if implemented)
 *
 */

u_short atari_key_map[NR_KEYMAPS][NR_KEYS] = {
    { /* no modifiers */
/* 00-03 */	K_HOLE,	'['&0x1f,	'1',	'2',
/* 04-07 */	'3',	'4',	'5',	'6',
/* 08-0b */	'7',	'8',	'9',	'0',
/* 0c-0f */	'-',	'=',	'H'&0x1f,	'I'&0x1f,
/* 10-13 */	K(KT_LETTER,'q'),	K(KT_LETTER,'w'),	K(KT_LETTER,'e'),	K(KT_LETTER,'r'),
/* 14-17 */	K(KT_LETTER,'t'),	K(KT_LETTER,'y'),	K(KT_LETTER,'u'),	K(KT_LETTER,'i'),
/* 18-1b */	K(KT_LETTER,'o'),	K(KT_LETTER,'p'),	'[',	']',
/* 1c-1f */	K_ENTER,	K_CTRL,	K(KT_LETTER,'a'),	K(KT_LETTER,'s'),
/* 20-23 */	K(KT_LETTER,'d'),	K(KT_LETTER,'f'),	K(KT_LETTER,'g'),	K(KT_LETTER,'h'),
/* 24-27 */	K(KT_LETTER,'j'),	K(KT_LETTER,'k'),	K(KT_LETTER,'l'),	';',
/* 28-2b */	'\'',	'`',	K_SHIFT,	'\\',
/* 2c-2f */	K(KT_LETTER,'z'),	K(KT_LETTER,'x'),	K(KT_LETTER,'c'),	K(KT_LETTER,'v'),
/* 30-33 */	K(KT_LETTER,'b'),	K(KT_LETTER,'n'),	K(KT_LETTER,'m'),	',',
/* 34-37 */	'.',	'/',	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	' ',	K_CAPS,	K_F1,
/* 3c-3f */	K_F2,	K_F3,	K_F4,	K_F5,
/* 40-43 */	K_F6,	K_F7,	K_F8,	K_F9,
/* 44-47 */	K_F10,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	'?'|0x40,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_F12,	K_F11,	'(',
/* 64-67 */	')',	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift */
/* 00-03 */	K_HOLE,	'['&0x1f,	'!',	'@',
/* 04-07 */	'#',	'$',	'%',	'^',
/* 08-0b */	'&',	'*',	'(',	')',
/* 0c-0f */	'_',	'+',	'H'&0x1f,	'I'&0x1f,
/* 10-13 */	K(KT_LETTER,'Q'),	K(KT_LETTER,'W'),	K(KT_LETTER,'E'),	K(KT_LETTER,'R'),
/* 14-17 */	K(KT_LETTER,'T'),	K(KT_LETTER,'Y'),	K(KT_LETTER,'U'),	K(KT_LETTER,'I'),
/* 18-1b */	K(KT_LETTER,'O'),	K(KT_LETTER,'P'),	'{',	'}',
/* 1c-1f */	K_ENTER,	K_CTRL,	K(KT_LETTER,'A'),	K(KT_LETTER,'S'),
/* 20-23 */	K(KT_LETTER,'D'),	K(KT_LETTER,'F'),	K(KT_LETTER,'G'),	K(KT_LETTER,'H'),
/* 24-27 */	K(KT_LETTER,'J'),	K(KT_LETTER,'K'),	K(KT_LETTER,'L'),	':',
/* 28-2b */	'"',	'~',	K_SHIFT,	'|',
/* 2c-2f */	K(KT_LETTER,'Z'),	K(KT_LETTER,'X'),	K(KT_LETTER,'C'),	K(KT_LETTER,'V'),
/* 30-33 */	K(KT_LETTER,'B'),	K(KT_LETTER,'N'),	K(KT_LETTER,'M'),	'<',
/* 34-37 */	'>',	'?',	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	' ',	K_CAPS,	K_F11,
/* 3c-3f */	K_F12,	K_F13,	K_F14,	K_F15,
/* 40-43 */	K_F16,	K_F17,	K_F18,	K_F19,
/* 44-47 */	K_F20,	K_HOLE,	K_HOLE,	K_SELECT,
/* 48-4b */	K_PGUP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_PGDN,	K_HOLE,	K_INSERT,	'?'|0x40,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_BREAK,	K_SH_MEM,	'(',
/* 64-67 */	')',	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* altgr */ /* this can't happen on Atari (no AltGr key!) */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	'@',
/* 04-07 */	K_HOLE,	'$',	K_HOLE,	K_HOLE,
/* 08-0b */	'{',	'[',	']',	'}',
/* 0c-0f */	'\\',	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	'~',
/* 1c-1f */	K_ENTER,	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K(KT_CONS,12),
/* 3c-3f */	K(KT_CONS,13),	K(KT_CONS,14),	K(KT_CONS,15),	K(KT_CONS,16),
/* 40-43 */	K(KT_CONS,17),	K(KT_CONS,18),	K(KT_CONS,19),	K(KT_CONS,20),
/* 44-47 */	K(KT_CONS,21),	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 64-67 */	K_HOLE,	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift altgr */ /* this can't happen on Atari (no AltGr key!) */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_ENTER,	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K_HOLE,
/* 3c-3f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 40-43 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 44-47 */	K_HOLE,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 64-67 */	K_HOLE,	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* control */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	'@'&0x1f,
/* 04-07 */	'['&0x1f,	'\\'&0x1f,	']'&0x1f,	'^'&0x1f,
/* 08-0b */	'_'&0x1f,	'?'|0x40,	K_HOLE,	K_HOLE,
/* 0c-0f */	'_'&0x1f,	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	'Q'&0x1f,	'W'&0x1f,	'E'&0x1f,	'R'&0x1f,
/* 14-17 */	'T'&0x1f,	'Y'&0x1f,	'U'&0x1f,	'I'&0x1f,
/* 18-1b */	'O'&0x1f,	'P'&0x1f,	'['&0x1f,	']'&0x1f,
/* 1c-1f */	K_ENTER,	K_CTRL,	'A'&0x1f,	'S'&0x1f,
/* 20-23 */	'D'&0x1f,	'F'&0x1f,	'G'&0x1f,	'H'&0x1f,
/* 24-27 */	'J'&0x1f,	'K'&0x1f,	'L'&0x1f,	K_HOLE,
/* 28-2b */	'G'&0x1f,	'@'&0x1f,	K_SHIFT,	'\\'&0x1f,
/* 2c-2f */	'Z'&0x1f,	'X'&0x1f,	'C'&0x1f,	'V'&0x1f,
/* 30-33 */	'B'&0x1f,	'N'&0x1f,	'M'&0x1f,	K_HOLE,
/* 34-37 */	K_HOLE,	'?'|0x40,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	'@'&0x1f,	K_CAPS,	K_F1,
/* 3c-3f */	K_F2,	K_F3,	K_F4,	K_F5,
/* 40-43 */	K_F6,	K_F7,	K_F8,	K_F9,
/* 44-47 */	K_F10,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_SH_REGS,	'(',
/* 64-67 */	')',	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift control */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_ENTER,	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K_HOLE,
/* 3c-3f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 40-43 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 44-47 */	K_HOLE,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	'(',
/* 64-67 */	')',	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* control altgr */ /* this can't happen on Atari (no AltGr key!) */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_ENTER,	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K_HOLE,
/* 3c-3f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 40-43 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 44-47 */	K_HOLE,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 64-67 */	K_HOLE,	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_BOOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift control altgr */ /* this can't happen on Atari (no AltGr key!) */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_ENTER,	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K_HOLE,
/* 3c-3f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 40-43 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 44-47 */	K_HOLE,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 64-67 */	K_HOLE,	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* alt */
/* 00-03 */	K_HOLE,	K(KT_META,'['&0x1f),	K(KT_META,'1'),	K(KT_META,'2'),
/* 04-07 */	K(KT_META,'3'),	K(KT_META,'4'),	K(KT_META,'5'),	K(KT_META,'6'),
/* 08-0b */	K(KT_META,'7'),	K(KT_META,'8'),	K(KT_META,'9'),	K(KT_META,'0'),
/* 0c-0f */	K(KT_META,'-'),	K(KT_META,'='),	K(KT_META,'H'&0x1f),	K(KT_META,'I'&0x1f),
/* 10-13 */	K(KT_META,'q'),	K(KT_META,'w'),	K(KT_META,'e'),	K(KT_META,'r'),
/* 14-17 */	K(KT_META,'t'),	K(KT_META,'y'),	K(KT_META,'u'),	K(KT_META,'i'),
/* 18-1b */	K(KT_META,'o'),	K(KT_META,'p'),	K(KT_META,'['),	K(KT_META,']'),
/* 1c-1f */	K(KT_META,'M'&0x1f),	K_CTRL,	K(KT_META,'a'),	K(KT_META,'s'),
/* 20-23 */	K(KT_META,'d'),	K(KT_META,'f'),	K(KT_META,'g'),	K(KT_META,'h'),
/* 24-27 */	K(KT_META,'j'),	K(KT_META,'k'),	K(KT_META,'l'),	K(KT_META,';'),
/* 28-2b */	K(KT_META,'\''),	K(KT_META,'`'),	K_SHIFT,	K(KT_META,'\\'),
/* 2c-2f */	K(KT_META,'z'),	K(KT_META,'x'),	K(KT_META,'c'),	K(KT_META,'v'),
/* 30-33 */	K(KT_META,'b'),	K(KT_META,'n'),	K(KT_META,'m'),	K(KT_META,','),
/* 34-37 */	K(KT_META,'.'),	K(KT_META,'/'),	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K(KT_META,' '),	K_CAPS,	K(KT_CONS,0),
/* 3c-3f */	K(KT_CONS,1),	K(KT_CONS,2),	K(KT_CONS,3),	K(KT_CONS,4),
/* 40-43 */	K(KT_CONS,5),	K(KT_CONS,6),	K(KT_CONS,7),	K(KT_CONS,8),
/* 44-47 */	K(KT_CONS,9),	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_SCROLLBACK,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_SCROLLFORW,	K_HOLE,	K_HOLD,	K(KT_META,'?'|0x40),
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_CONS,	K_SH_STAT,	'(',
/* 64-67 */	')',	K_PSLASH,	K_PSTAR,	K_ASC7,
/* 68-6b */	K_ASC8,	K_ASC9,	K_ASC4,	K_ASC5,
/* 6c-6f */	K_ASC6,	K_ASC1,	K_ASC2,	K_ASC3,
/* 70-73 */	K_ASC0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift alt */
/* 00-03 */	K_HOLE,	K(KT_META,'['&0x1f),	K(KT_META,'!'),	K(KT_META,'@'),
/* 04-07 */	K(KT_META,'#'),	K(KT_META,'$'),	K(KT_META,'%'),	K(KT_META,'^'),
/* 08-0b */	K(KT_META,'&'),	K(KT_META,'*'),	K(KT_META,'('),	K(KT_META,')'),
/* 0c-0f */	K(KT_META,'_'),	K(KT_META,'+'),	K(KT_META,'H'&0x1f),	K(KT_META,'I'&0x1f),
/* 10-13 */	K(KT_META,'Q'),	K(KT_META,'W'),	K(KT_META,'E'),	K(KT_META,'R'),
/* 14-17 */	K(KT_META,'T'),	K(KT_META,'Y'),	K(KT_META,'U'),	K(KT_META,'I'),
/* 18-1b */	K(KT_META,'O'),	K(KT_META,'P'),	K(KT_META,'{'),	K(KT_META,'}'),
/* 1c-1f */	K(KT_META,K_ENTER),	K_CTRL,	K(KT_META,'A'),	K(KT_META,'S'),
/* 20-23 */	K(KT_META,'D'),	K(KT_META,'F'),	K(KT_META,'G'),	K(KT_META,'H'),
/* 24-27 */	K(KT_META,'J'),	K(KT_META,'K'),	K(KT_META,'L'),	K(KT_META,':'),
/* 28-2b */	K(KT_META,'"'),	K(KT_META,'~'),	K_SHIFT,	K(KT_META,'|'),
/* 2c-2f */	K(KT_META,'Z'),	K(KT_META,'X'),	K(KT_META,'C'),	K(KT_META,'V'),
/* 30-33 */	K(KT_META,'B'),	K(KT_META,'N'),	K(KT_META,'M'),	K(KT_META,'<'),
/* 34-37 */	K(KT_META,'>'),	K(KT_META,'?'),	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K(KT_META,' '),	K_CAPS,	K(KT_CONS,10),
/* 3c-3f */	K(KT_CONS,11),	K(KT_CONS,12),	K(KT_CONS,13),	K(KT_CONS,14),
/* 40-43 */	K(KT_CONS,15),	K(KT_CONS,16),	K(KT_CONS,17),	K(KT_CONS,18),
/* 44-47 */	K(KT_CONS,19),	K_HOLE,	K_HOLE,	K_SELECT,
/* 48-4b */	K_PGUP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_PGDN,	K_HOLE,	K_INSERT,	K(KT_META,'?'|0x40),
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	'(',
/* 64-67 */	')',	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* alt altgr */ /* this can't happen on Atari (no AltGr key!) */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_ENTER,	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K_HOLE,
/* 3c-3f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 40-43 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 44-47 */	K_HOLE,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 64-67 */	K_HOLE,	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift alt altgr */ /* this can't happen on Atari (no AltGr key!) */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_ENTER,	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K_HOLE,
/* 3c-3f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 40-43 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 44-47 */	K_HOLE,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 64-67 */	K_HOLE,	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* control alt */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K(KT_META,'@'&0x1f),
/* 04-07 */	K(KT_META,'['&0x1f),	K(KT_META,'\\'&0x1f),	K(KT_META,']'&0x1f),	K(KT_META,'^'&0x1f),
/* 08-0b */	K(KT_META,'_'&0x1f),	K(KT_META,'?'|0x40),	K_HOLE,	K_HOLE,
/* 0c-0f */	K(KT_META,'_'&0x1f),	K_HOLE,	K(KT_META,'H'&0x1f),	K_HOLE,
/* 10-13 */	K(KT_META,'Q'&0x1f),	K(KT_META,'W'&0x1f),	K(KT_META,'E'&0x1f),	K(KT_META,'R'&0x1f),
/* 14-17 */	K(KT_META,'T'&0x1f),	K(KT_META,'Y'&0x1f),	K(KT_META,'U'&0x1f),	K(KT_META,'I'&0x1f),
/* 18-1b */	K(KT_META,'O'&0x1f),	K(KT_META,'P'&0x1f),	K(KT_META,'['&0x1f),	K(KT_META,']'&0x1f),
/* 1c-1f */	K(KT_META,K_ENTER),	K_CTRL,	K(KT_META,'A'&0x1f),	K(KT_META,'S'&0x1f),
/* 20-23 */	K(KT_META,'D'&0x1f),	K(KT_META,'F'&0x1f),	K(KT_META,'G'&0x1f),	K(KT_META,'H'&0x1f),
/* 24-27 */	K(KT_META,'J'&0x1f),	K(KT_META,'K'&0x1f),	K(KT_META,'L'&0x1f),	K_HOLE,
/* 28-2b */	K(KT_META,'G'&0x1f),	K(KT_META,'@'&0x1f),	K_SHIFT,	K(KT_META,'\\'&0x1f),
/* 2c-2f */	K(KT_META,'Z'&0x1f),	K(KT_META,'X'&0x1f),	K(KT_META,'C'&0x1f),	K(KT_META,'V'&0x1f),
/* 30-33 */	K(KT_META,'B'&0x1f),	K(KT_META,'N'&0x1f),	K(KT_META,'M'&0x1f),	K_HOLE,
/* 34-37 */	K_HOLE,	K(KT_META,'?'|0x40),	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K(KT_META,'@'&0x1f),	K_CAPS,	K_F1,
/* 3c-3f */	K_F2,	K_F3,	K_F4,	K_F5,
/* 40-43 */	K_F6,	K_F7,	K_F8,	K_F9,
/* 44-47 */	K_F10,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_BOOT,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	'(',
/* 64-67 */	')',	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift control alt */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	K(KT_META,'H'&0x1f),	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K(KT_META,K_ENTER),	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K_HOLE,
/* 3c-3f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 40-43 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 44-47 */	K_HOLE,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	'(',
/* 64-67 */	')',	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* control alt altgr */ /* this can't happen on Atari (no AltGr key!) */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_ENTER,	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K_HOLE,
/* 3c-3f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 40-43 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 44-47 */	K_HOLE,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 64-67 */	K_HOLE,	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    }, { /* shift control alt altgr */ /* this can't happen on Atari (no AltGr key!) */
/* 00-03 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 04-07 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 08-0b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 0c-0f */	K_HOLE,	K_HOLE,	'H'&0x1f,	K_HOLE,
/* 10-13 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 14-17 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 18-1b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 1c-1f */	K_ENTER,	K_CTRL,	K_HOLE,	K_HOLE,
/* 20-23 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 24-27 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 28-2b */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 2c-2f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 30-33 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 34-37 */	K_HOLE,	K_HOLE,	K_SHIFT,	K_HOLE,
/* 38-3b */	K_ALT,	K_HOLE,	K_CAPS,	K_HOLE,
/* 3c-3f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 40-43 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 44-47 */	K_HOLE,	K_HOLE,	K_HOLE,	K_FIND,
/* 48-4b */	K_UP,	K_HOLE,	K_PMINUS,	K_LEFT,
/* 4c-4f */	K_HOLE,	K_RIGHT,	K_PPLUS,	K_HOLE,
/* 50-53 */	K_DOWN,	K_HOLE,	K_INSERT,	K_HOLE,
/* 54-57 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 58-5b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 5c-5f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 60-63 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 64-67 */	K_HOLE,	K_PSLASH,	K_PSTAR,	K_P7,
/* 68-6b */	K_P8,	K_P9,	K_P4,	K_P5,
/* 6c-6f */	K_P6,	K_P1,	K_P2,	K_P3,
/* 70-73 */	K_P0,	K_PDOT,	K_PENTER,	K_HOLE,
/* 74-77 */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 78-7b */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
/* 7c-7f */	K_HOLE,	K_HOLE,	K_HOLE,	K_HOLE,
    },
};

#endif


char func_buf[FUNC_BUFSIZE] = {
    '\033', '[', '[', 'A', 0, 
    '\033', '[', '[', 'B', 0, 
    '\033', '[', '[', 'C', 0, 
    '\033', '[', '[', 'D', 0, 
    '\033', '[', '[', 'E', 0, 
    '\033', '[', '1', '7', '~', 0, 
    '\033', '[', '1', '8', '~', 0, 
    '\033', '[', '1', '9', '~', 0, 
    '\033', '[', '2', '0', '~', 0, 
    '\033', '[', '2', '1', '~', 0, 
    '\033', '[', '2', '3', '~', 0, 
    '\033', '[', '2', '4', '~', 0, 
    '\033', '[', '2', '5', '~', 0, 
    '\033', '[', '2', '6', '~', 0, 
    '\033', '[', '2', '8', '~', 0, 
    '\033', '[', '2', '9', '~', 0, 
    '\033', '[', '3', '1', '~', 0, 
    '\033', '[', '3', '2', '~', 0, 
    '\033', '[', '3', '3', '~', 0, 
    '\033', '[', '3', '4', '~', 0, 
    '\033', '[', '1', '~', 0, 
    '\033', '[', '2', '~', 0, 
    '\033', '[', '3', '~', 0, 
    '\033', '[', '4', '~', 0, 
    '\033', '[', '5', '~', 0, 
    '\033', '[', '6', '~', 0, 
    0, 
    0, 
    0, 
    0, 
    0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
};

char *func_table[NR_FUNC] = {
    func_buf + 0,
    func_buf + 5,
    func_buf + 10,
    func_buf + 15,
    func_buf + 20,
    func_buf + 25,
    func_buf + 31,
    func_buf + 37,
    func_buf + 43,
    func_buf + 49,
    func_buf + 55,
    func_buf + 61,
    func_buf + 67,
    func_buf + 73,
    func_buf + 79,
    func_buf + 85,
    func_buf + 91,
    func_buf + 97,
    func_buf + 103,
    func_buf + 109,
    func_buf + 115,
    func_buf + 120,
    func_buf + 125,
    func_buf + 130,
    func_buf + 135,
    func_buf + 140,
    func_buf + 145,
    func_buf + 146,
    func_buf + 147,
    func_buf + 148,
    func_buf + 149,
    func_buf + 150,
};

struct kbdiacr accent_table[MAX_DIACR] = {
    {'`', 'A', '\300'},	{'`', 'a', '\340'},
    {'\'', 'A', '\301'}, {'\'', 'a', '\341'},
    {'^', 'A', '\302'},	{'^', 'a', '\342'},
    {'~', 'A', '\303'},	{'~', 'a', '\343'},
    {'"', 'A', '\304'},	{'"', 'a', '\344'},
    {'O', 'A', '\305'},	{'o', 'a', '\345'},
    {'0', 'A', '\305'},	{'0', 'a', '\345'},
    {'A', 'A', '\305'},	{'a', 'a', '\345'},
    {'A', 'E', '\306'},	{'a', 'e', '\346'},
    {',', 'C', '\307'},	{',', 'c', '\347'},
    {'`', 'E', '\310'},	{'`', 'e', '\350'},
    {'\'', 'E', '\311'},{'\'', 'e', '\351'},
    {'^', 'E', '\312'},	{'^', 'e', '\352'},
    {'"', 'E', '\313'},	{'"', 'e', '\353'},
    {'`', 'I', '\314'},	{'`', 'i', '\354'},
    {'\'', 'I', '\315'},{'\'', 'i', '\355'},
    {'^', 'I', '\316'},	{'^', 'i', '\356'},
    {'"', 'I', '\317'},	{'"', 'i', '\357'},
    {'-', 'D', '\320'},	{'-', 'd', '\360'},
    {'~', 'N', '\321'},	{'~', 'n', '\361'},
    {'`', 'O', '\322'},	{'`', 'o', '\362'},
    {'\'', 'O', '\323'},{'\'', 'o', '\363'},
    {'^', 'O', '\324'},	{'^', 'o', '\364'},
    {'~', 'O', '\325'},	{'~', 'o', '\365'},
    {'"', 'O', '\326'},	{'"', 'o', '\366'},
    {'/', 'O', '\330'},	{'/', 'o', '\370'},
    {'`', 'U', '\331'},	{'`', 'u', '\371'},
    {'\'', 'U', '\332'},{'\'', 'u', '\372'},
    {'^', 'U', '\333'},	{'^', 'u', '\373'},
    {'"', 'U', '\334'},	{'"', 'u', '\374'},
    {'\'', 'Y', '\335'},{'\'', 'y', '\375'},
    {'T', 'H', '\336'},	{'t', 'h', '\376'},
    {'s', 's', '\337'},	{'"', 'y', '\377'},
    {'s', 'z', '\337'},	{'i', 'j', '\377'},
};

unsigned int accent_table_size = 68;

/* Local Variables: */
/* tab-width:24 */
/* End: */
