a500kbd

annotate src/scantbl.h @ 1:3228a731d4db

translate scancodes
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 14 Oct 2017 07:23:47 +0300
parents
children a4fd9c5a6655
rev   line source
nuclear@1 1 #ifndef SCANTBL_H_
nuclear@1 2 #define SCANTBL_H_
nuclear@1 3
nuclear@1 4 enum {
nuclear@1 5 KEY_ESC = 27,
nuclear@1 6
nuclear@1 7 KEY_F1 = 256,
nuclear@1 8 KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8,
nuclear@1 9 KEY_F9, KEY_F10, KEY_F11, KEY_F12, KEY_SYSRQ, KEY_BRK,
nuclear@1 10 KEY_SCRLK, KEY_CAPSLK, KEY_NUMLK,
nuclear@1 11
nuclear@1 12 KEY_LSHIFT, KEY_RSHIFT,
nuclear@1 13 KEY_LCTRL, KEY_RCTRL,
nuclear@1 14 KEY_LALT, KEY_RALT,
nuclear@1 15 KEY_LWIN, KEY_RWIN, KEY_MENU,
nuclear@1 16
nuclear@1 17 KEY_INS, KEY_DEL, KEY_HOME, KEY_END, KEY_PGUP, KEY_PGDOWN,
nuclear@1 18 KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN,
nuclear@1 19
nuclear@1 20 KEY_KP_0, KEY_KP_1, KEY_KP_2, KEY_KP_3, KEY_KP_4,
nuclear@1 21 KEY_KP_5, KEY_KP_6, KEY_KP_7, KEY_KP_8, KEY_KP_9,
nuclear@1 22 KEY_KP_DIV, KEY_KP_MUL, KEY_KP_MINUS, KEY_KP_PLUS,
nuclear@1 23 KEY_KP_DOT, KEY_KP_ENTER,
nuclear@1 24
nuclear@1 25 KEY_MM_WWW_SEARCH, KEY_MM_WWW_FAV, KEY_MM_WWW_REFRESH, KEY_MM_WWW_STOP,
nuclear@1 26 KEY_MM_WWW_FWD, KEY_MM_WWW_BACK, KEY_MM_WWW_HOME,
nuclear@1 27 KEY_MM_PREV, KEY_MM_NEXT, KEY_MM_PLAY, KEY_MM_STOP, KEY_MM_VOLUP, KEY_MM_VOLDOWN,
nuclear@1 28 KEY_MM_MUTE, KEY_MM_CALC, KEY_MM_MYCOMP, KEY_MM_EMAIL, KEY_MM_SELECT,
nuclear@1 29 KEY_APPS,
nuclear@1 30 KEY_ACPI_POWER, KEY_ACPI_SLEEP, KEY_ACPI_WAKEUP
nuclear@1 31 };
nuclear@1 32
nuclear@1 33
nuclear@1 34 static const char *skeystr[] = {
nuclear@1 35 "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12",
nuclear@1 36 "SysRq", "Break", "Scroll Lock", "Caps Lock", "Num Lock",
nuclear@1 37 "L Shift", "R Shift", "L Ctrl", "R Ctrl", "L Alt", "R Alt", "L Win", "R Win", "Menu",
nuclear@1 38 "Insert", "Delete", "Home", "End", "Page Up", "Page Down", "Left", "Right", "Up", "Down",
nuclear@1 39 "Keypad 0", "Keypad 1", "Keypad 2", "Keypad 3", "Keypad 4", "Keypad 5", "Keypad 6",
nuclear@1 40 "Keypad 7", "Keypad 8", "Keypad 9", "Keypad /", "Keypad *", "Keypad -", "Keypad +",
nuclear@1 41 "Keypad .", "Keypad Enter",
nuclear@1 42 "WWW Search", "WWW Fav", "WWW Refresh", "WWW Stop", "WWW Fwd", "WWW Back", "WWW Home",
nuclear@1 43 "Prev", "Next", "Play", "Stop", "Volume Up", "Volume Down", "Mute", "Calculator",
nuclear@1 44 "My Computer", "Email", "Select Media", "Apps",
nuclear@1 45 "Power", "Sleep", "Wakeup",
nuclear@1 46 };
nuclear@1 47
nuclear@1 48
nuclear@1 49 #define KEYMAP_NORMAL_SIZE (sizeof keymap_normal / sizeof *keymap_normal)
nuclear@1 50 static int keymap_normal[] = {
nuclear@1 51 0, KEY_F9, 0, KEY_F5, KEY_F3, KEY_F1, KEY_F2, KEY_F12, /* 00 - 07 */
nuclear@1 52 0, KEY_F10, KEY_F8, KEY_F6, KEY_F4, '\t', '`', 0, /* 08 - 0f */
nuclear@1 53 0, KEY_LALT, KEY_LSHIFT, 0, KEY_LCTRL, 'q', '1', 0, /* 10 - 17 */
nuclear@1 54 0, 0, 'z', 's', 'a', 'w', '2', 0, /* 18 - 1f */
nuclear@1 55 0, 'c', 'x', 'd', 'e', '4', '3', 0, /* 20 - 27 */
nuclear@1 56 0, ' ', 'v', 'f', 't', 'r', '5', 0, /* 28 - 2f */
nuclear@1 57 0, 'n', 'b', 'h', 'g', 'y', '6', 0, /* 30 - 37 */
nuclear@1 58 0, 0, 'm', 'j', 'u', '7', '8', 0, /* 38 - 3f */
nuclear@1 59 0, ',', 'k', 'i', 'o', '0', '9', 0, /* 40 - 47 */
nuclear@1 60 0, '.', '/', 'l', ';', 'p', '-', 0, /* 48 - 4f */
nuclear@1 61 0, 0, '\'', 0, '[', '=', 0, 0, /* 50 - 57 */
nuclear@1 62 KEY_CAPSLK, KEY_RSHIFT, '\n', ']', 0, '\\', 0, 0, /* 58 - 5f */
nuclear@1 63 0, 0, 0, 0, 0, 0, '\b', 0, /* 60 - 67 */
nuclear@1 64 0, KEY_KP_1, 0, KEY_KP_4, KEY_KP_7, 0, 0, 0, /* 68 - 6f */
nuclear@1 65 KEY_KP_0, KEY_KP_DOT, KEY_KP_2, KEY_KP_5, KEY_KP_6, KEY_KP_8, KEY_ESC, KEY_NUMLK, /* 70 - 77 */
nuclear@1 66 KEY_F11, KEY_KP_PLUS, KEY_KP_3, KEY_KP_MINUS, KEY_KP_MUL, KEY_KP_9, KEY_SCRLK, 0,/* 78 - 7f */
nuclear@1 67 0, 0, 0, KEY_F7 /* 80 - 83 */
nuclear@1 68 };
nuclear@1 69
nuclear@1 70 #define KEYMAP_EXT_SIZE (sizeof keymap_ext / sizeof *keymap_ext)
nuclear@1 71 static int keymap_ext[] = {
nuclear@1 72 0, 0, 0, 0, 0, 0, 0, 0, /* 00 - 07 */
nuclear@1 73 0, 0, 0, 0, 0, 0, 0, 0, /* 08 - 0f */
nuclear@1 74 KEY_MM_WWW_SEARCH, KEY_RALT, 0, 0, KEY_RCTRL, KEY_MM_PREV, 0, 0, /* 10 - 17 */
nuclear@1 75 KEY_MM_WWW_FAV, 0, 0, 0, 0, 0, 0, KEY_LWIN, /* 18 - 1f */
nuclear@1 76 KEY_MM_WWW_REFRESH, KEY_MM_VOLDOWN, 0, KEY_MM_MUTE, 0, 0, 0, KEY_RWIN, /* 20 - 27 */
nuclear@1 77 KEY_MM_STOP, 0, 0, KEY_MM_CALC, 0, 0, 0, KEY_APPS, /* 28 - 2f */
nuclear@1 78 KEY_MM_WWW_FWD, 0, KEY_MM_VOLUP, 0, KEY_MM_PLAY, 0, 0, KEY_ACPI_POWER, /* 30 - 37 */
nuclear@1 79 KEY_MM_WWW_BACK, 0, KEY_MM_WWW_HOME, KEY_MM_STOP, 0, 0, 0, KEY_ACPI_SLEEP, /* 38 - 3f */
nuclear@1 80 KEY_MM_MYCOMP, 0, 0, 0, KEY_MM_EMAIL, 0, KEY_KP_DIV, 0, /* 40 - 47 */
nuclear@1 81 0, KEY_MM_NEXT, 0, 0, KEY_MM_SELECT, 0, 0, 0, /* 48 - 4f */
nuclear@1 82 0, 0, KEY_ACPI_WAKEUP, 0, 0, KEY_END, 0, KEY_LEFT, /* 50 - 57 */
nuclear@1 83 KEY_HOME, 0, 0, 0, KEY_INS, KEY_DEL, KEY_DOWN, 0, /* 58 - 5f */
nuclear@1 84 KEY_RIGHT, KEY_UP, 0, 0, 0, 0, KEY_DOWN, 0, /* 60 - 67 */
nuclear@1 85 };
nuclear@1 86
nuclear@1 87 #endif /* SCANTBL_H_ */