a500kbd
diff 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 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/scantbl.h Sat Oct 14 07:23:47 2017 +0300 1.3 @@ -0,0 +1,87 @@ 1.4 +#ifndef SCANTBL_H_ 1.5 +#define SCANTBL_H_ 1.6 + 1.7 +enum { 1.8 + KEY_ESC = 27, 1.9 + 1.10 + KEY_F1 = 256, 1.11 + KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, 1.12 + KEY_F9, KEY_F10, KEY_F11, KEY_F12, KEY_SYSRQ, KEY_BRK, 1.13 + KEY_SCRLK, KEY_CAPSLK, KEY_NUMLK, 1.14 + 1.15 + KEY_LSHIFT, KEY_RSHIFT, 1.16 + KEY_LCTRL, KEY_RCTRL, 1.17 + KEY_LALT, KEY_RALT, 1.18 + KEY_LWIN, KEY_RWIN, KEY_MENU, 1.19 + 1.20 + KEY_INS, KEY_DEL, KEY_HOME, KEY_END, KEY_PGUP, KEY_PGDOWN, 1.21 + KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN, 1.22 + 1.23 + KEY_KP_0, KEY_KP_1, KEY_KP_2, KEY_KP_3, KEY_KP_4, 1.24 + KEY_KP_5, KEY_KP_6, KEY_KP_7, KEY_KP_8, KEY_KP_9, 1.25 + KEY_KP_DIV, KEY_KP_MUL, KEY_KP_MINUS, KEY_KP_PLUS, 1.26 + KEY_KP_DOT, KEY_KP_ENTER, 1.27 + 1.28 + KEY_MM_WWW_SEARCH, KEY_MM_WWW_FAV, KEY_MM_WWW_REFRESH, KEY_MM_WWW_STOP, 1.29 + KEY_MM_WWW_FWD, KEY_MM_WWW_BACK, KEY_MM_WWW_HOME, 1.30 + KEY_MM_PREV, KEY_MM_NEXT, KEY_MM_PLAY, KEY_MM_STOP, KEY_MM_VOLUP, KEY_MM_VOLDOWN, 1.31 + KEY_MM_MUTE, KEY_MM_CALC, KEY_MM_MYCOMP, KEY_MM_EMAIL, KEY_MM_SELECT, 1.32 + KEY_APPS, 1.33 + KEY_ACPI_POWER, KEY_ACPI_SLEEP, KEY_ACPI_WAKEUP 1.34 +}; 1.35 + 1.36 + 1.37 +static const char *skeystr[] = { 1.38 + "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", 1.39 + "SysRq", "Break", "Scroll Lock", "Caps Lock", "Num Lock", 1.40 + "L Shift", "R Shift", "L Ctrl", "R Ctrl", "L Alt", "R Alt", "L Win", "R Win", "Menu", 1.41 + "Insert", "Delete", "Home", "End", "Page Up", "Page Down", "Left", "Right", "Up", "Down", 1.42 + "Keypad 0", "Keypad 1", "Keypad 2", "Keypad 3", "Keypad 4", "Keypad 5", "Keypad 6", 1.43 + "Keypad 7", "Keypad 8", "Keypad 9", "Keypad /", "Keypad *", "Keypad -", "Keypad +", 1.44 + "Keypad .", "Keypad Enter", 1.45 + "WWW Search", "WWW Fav", "WWW Refresh", "WWW Stop", "WWW Fwd", "WWW Back", "WWW Home", 1.46 + "Prev", "Next", "Play", "Stop", "Volume Up", "Volume Down", "Mute", "Calculator", 1.47 + "My Computer", "Email", "Select Media", "Apps", 1.48 + "Power", "Sleep", "Wakeup", 1.49 +}; 1.50 + 1.51 + 1.52 +#define KEYMAP_NORMAL_SIZE (sizeof keymap_normal / sizeof *keymap_normal) 1.53 +static int keymap_normal[] = { 1.54 + 0, KEY_F9, 0, KEY_F5, KEY_F3, KEY_F1, KEY_F2, KEY_F12, /* 00 - 07 */ 1.55 + 0, KEY_F10, KEY_F8, KEY_F6, KEY_F4, '\t', '`', 0, /* 08 - 0f */ 1.56 + 0, KEY_LALT, KEY_LSHIFT, 0, KEY_LCTRL, 'q', '1', 0, /* 10 - 17 */ 1.57 + 0, 0, 'z', 's', 'a', 'w', '2', 0, /* 18 - 1f */ 1.58 + 0, 'c', 'x', 'd', 'e', '4', '3', 0, /* 20 - 27 */ 1.59 + 0, ' ', 'v', 'f', 't', 'r', '5', 0, /* 28 - 2f */ 1.60 + 0, 'n', 'b', 'h', 'g', 'y', '6', 0, /* 30 - 37 */ 1.61 + 0, 0, 'm', 'j', 'u', '7', '8', 0, /* 38 - 3f */ 1.62 + 0, ',', 'k', 'i', 'o', '0', '9', 0, /* 40 - 47 */ 1.63 + 0, '.', '/', 'l', ';', 'p', '-', 0, /* 48 - 4f */ 1.64 + 0, 0, '\'', 0, '[', '=', 0, 0, /* 50 - 57 */ 1.65 + KEY_CAPSLK, KEY_RSHIFT, '\n', ']', 0, '\\', 0, 0, /* 58 - 5f */ 1.66 + 0, 0, 0, 0, 0, 0, '\b', 0, /* 60 - 67 */ 1.67 + 0, KEY_KP_1, 0, KEY_KP_4, KEY_KP_7, 0, 0, 0, /* 68 - 6f */ 1.68 + KEY_KP_0, KEY_KP_DOT, KEY_KP_2, KEY_KP_5, KEY_KP_6, KEY_KP_8, KEY_ESC, KEY_NUMLK, /* 70 - 77 */ 1.69 + KEY_F11, KEY_KP_PLUS, KEY_KP_3, KEY_KP_MINUS, KEY_KP_MUL, KEY_KP_9, KEY_SCRLK, 0,/* 78 - 7f */ 1.70 + 0, 0, 0, KEY_F7 /* 80 - 83 */ 1.71 +}; 1.72 + 1.73 +#define KEYMAP_EXT_SIZE (sizeof keymap_ext / sizeof *keymap_ext) 1.74 +static int keymap_ext[] = { 1.75 + 0, 0, 0, 0, 0, 0, 0, 0, /* 00 - 07 */ 1.76 + 0, 0, 0, 0, 0, 0, 0, 0, /* 08 - 0f */ 1.77 + KEY_MM_WWW_SEARCH, KEY_RALT, 0, 0, KEY_RCTRL, KEY_MM_PREV, 0, 0, /* 10 - 17 */ 1.78 + KEY_MM_WWW_FAV, 0, 0, 0, 0, 0, 0, KEY_LWIN, /* 18 - 1f */ 1.79 + KEY_MM_WWW_REFRESH, KEY_MM_VOLDOWN, 0, KEY_MM_MUTE, 0, 0, 0, KEY_RWIN, /* 20 - 27 */ 1.80 + KEY_MM_STOP, 0, 0, KEY_MM_CALC, 0, 0, 0, KEY_APPS, /* 28 - 2f */ 1.81 + KEY_MM_WWW_FWD, 0, KEY_MM_VOLUP, 0, KEY_MM_PLAY, 0, 0, KEY_ACPI_POWER, /* 30 - 37 */ 1.82 + KEY_MM_WWW_BACK, 0, KEY_MM_WWW_HOME, KEY_MM_STOP, 0, 0, 0, KEY_ACPI_SLEEP, /* 38 - 3f */ 1.83 + KEY_MM_MYCOMP, 0, 0, 0, KEY_MM_EMAIL, 0, KEY_KP_DIV, 0, /* 40 - 47 */ 1.84 + 0, KEY_MM_NEXT, 0, 0, KEY_MM_SELECT, 0, 0, 0, /* 48 - 4f */ 1.85 + 0, 0, KEY_ACPI_WAKEUP, 0, 0, KEY_END, 0, KEY_LEFT, /* 50 - 57 */ 1.86 + KEY_HOME, 0, 0, 0, KEY_INS, KEY_DEL, KEY_DOWN, 0, /* 58 - 5f */ 1.87 + KEY_RIGHT, KEY_UP, 0, 0, 0, 0, KEY_DOWN, 0, /* 60 - 67 */ 1.88 +}; 1.89 + 1.90 +#endif /* SCANTBL_H_ */