nuclear@1: #ifndef KEYB_C_ nuclear@1: #error "do not include scancode.h anywhere..." nuclear@1: #endif nuclear@1: nuclear@1: /* special keys */ nuclear@1: enum { nuclear@1: LALT, RALT, nuclear@1: LCTRL, RCTRL, nuclear@1: LSHIFT, RSHIFT, nuclear@1: F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, nuclear@1: CAPSLK, NUMLK, SCRLK, SYSRQ, nuclear@1: ESC = 27, nuclear@1: INSERT, DEL, HOME, END, PGUP, PGDN, LEFT, RIGHT, UP, DOWN, nuclear@1: NUM_DOT, NUM_ENTER, NUM_PLUS, NUM_MINUS, NUM_MUL, NUM_DIV, nuclear@1: NUM_0, NUM_1, NUM_2, NUM_3, NUM_4, NUM_5, NUM_6, NUM_7, NUM_8, NUM_9, nuclear@1: BACKSP = 127 nuclear@1: }; nuclear@1: nuclear@1: /* table with rough translations from set 1 scancodes to ASCII-ish */ nuclear@1: static int scantbl[] = { nuclear@1: 0, ESC, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '\b', /* 0 - e */ nuclear@1: '\t', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '\n', /* f - 1c */ nuclear@1: LCTRL, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', '\'', '`', /* 1d - 29 */ nuclear@1: LSHIFT, '\\', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', RSHIFT, /* 2a - 36 */ nuclear@1: NUM_MUL, LALT, ' ', CAPSLK, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, /* 37 - 44 */ nuclear@1: NUMLK, SCRLK, NUM_7, NUM_8, NUM_9, NUM_MINUS, NUM_4, NUM_5, NUM_6, NUM_PLUS, /* 45 - 4e */ nuclear@1: NUM_1, NUM_2, NUM_3, NUM_0, NUM_DOT, SYSRQ, 0, 0, F11, F12, /* 4d - 58 */ nuclear@1: 0, 0, 0, 0, 0, 0, 0, /* 59 - 5f */ nuclear@1: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 60 - 6f */ nuclear@1: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /* 70 - 7f */ nuclear@1: };