a500kbd

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