23410 lines
1.1 MiB
Generated
23410 lines
1.1 MiB
Generated
// auto-generated from keys.py, do not edit!
|
|
#pragma once
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include <limits.h>
|
|
// map glfw key numbers to 7-bit numbers for compact data storage
|
|
static const uint8_t key_map[349] = {
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
0, /* SPACE */
|
|
1, /* EXCLAM */
|
|
2, /* DOUBLE_QUOTE */
|
|
3, /* NUMBER_SIGN */
|
|
4, /* DOLLAR */
|
|
UINT8_MAX,
|
|
5, /* AMPERSAND */
|
|
6, /* APOSTROPHE */
|
|
7, /* PARENTHESIS_LEFT */
|
|
8, /* PARENTHESIS_RIGHT */
|
|
UINT8_MAX,
|
|
9, /* PLUS */
|
|
10, /* COMMA */
|
|
11, /* MINUS */
|
|
12, /* PERIOD */
|
|
13, /* SLASH */
|
|
14, /* 0 */
|
|
15, /* 1 */
|
|
16, /* 2 */
|
|
17, /* 3 */
|
|
18, /* 4 */
|
|
19, /* 5 */
|
|
20, /* 6 */
|
|
21, /* 7 */
|
|
22, /* 8 */
|
|
23, /* 9 */
|
|
24, /* COLON */
|
|
25, /* SEMICOLON */
|
|
26, /* LESS */
|
|
27, /* EQUAL */
|
|
28, /* GREATER */
|
|
UINT8_MAX,
|
|
29, /* AT */
|
|
30, /* A */
|
|
31, /* B */
|
|
32, /* C */
|
|
33, /* D */
|
|
34, /* E */
|
|
35, /* F */
|
|
36, /* G */
|
|
37, /* H */
|
|
38, /* I */
|
|
39, /* J */
|
|
40, /* K */
|
|
41, /* L */
|
|
42, /* M */
|
|
43, /* N */
|
|
44, /* O */
|
|
45, /* P */
|
|
46, /* Q */
|
|
47, /* R */
|
|
48, /* S */
|
|
49, /* T */
|
|
50, /* U */
|
|
51, /* V */
|
|
52, /* W */
|
|
53, /* X */
|
|
54, /* Y */
|
|
55, /* Z */
|
|
56, /* LEFT_BRACKET */
|
|
57, /* BACKSLASH */
|
|
58, /* RIGHT_BRACKET */
|
|
59, /* CIRCUMFLEX */
|
|
60, /* UNDERSCORE */
|
|
61, /* GRAVE_ACCENT */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
62, /* WORLD_1 */
|
|
63, /* WORLD_2 */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
64, /* PARAGRAPH */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
65, /* MASCULINE */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
66, /* A_GRAVE */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
67, /* A_DIAERESIS */
|
|
68, /* A_RING */
|
|
69, /* AE */
|
|
70, /* C_CEDILLA */
|
|
71, /* E_GRAVE */
|
|
72, /* E_ACUTE */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
73, /* I_GRAVE */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
74, /* N_TILDE */
|
|
75, /* O_GRAVE */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
76, /* O_DIAERESIS */
|
|
UINT8_MAX,
|
|
77, /* O_SLASH */
|
|
78, /* U_GRAVE */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
79, /* U_DIAERESIS */
|
|
UINT8_MAX,
|
|
80, /* S_SHARP */
|
|
81, /* CYRILLIC_A */
|
|
82, /* CYRILLIC_BE */
|
|
83, /* CYRILLIC_VE */
|
|
84, /* CYRILLIC_GHE */
|
|
85, /* CYRILLIC_DE */
|
|
86, /* CYRILLIC_IE */
|
|
87, /* CYRILLIC_ZHE */
|
|
88, /* CYRILLIC_ZE */
|
|
89, /* CYRILLIC_I */
|
|
90, /* CYRILLIC_SHORT_I */
|
|
91, /* CYRILLIC_KA */
|
|
92, /* CYRILLIC_EL */
|
|
93, /* CYRILLIC_EM */
|
|
94, /* CYRILLIC_EN */
|
|
95, /* CYRILLIC_O */
|
|
96, /* CYRILLIC_PE */
|
|
97, /* CYRILLIC_ER */
|
|
98, /* CYRILLIC_ES */
|
|
99, /* CYRILLIC_TE */
|
|
100, /* CYRILLIC_U */
|
|
101, /* CYRILLIC_EF */
|
|
102, /* CYRILLIC_HA */
|
|
103, /* CYRILLIC_TSE */
|
|
104, /* CYRILLIC_CHE */
|
|
105, /* CYRILLIC_SHA */
|
|
106, /* CYRILLIC_SHCHA */
|
|
107, /* CYRILLIC_HARD_SIGN */
|
|
108, /* CYRILLIC_YERU */
|
|
109, /* CYRILLIC_SOFT_SIGN */
|
|
110, /* CYRILLIC_E */
|
|
111, /* CYRILLIC_YU */
|
|
112, /* CYRILLIC_YA */
|
|
113, /* CYRILLIC_IO */
|
|
114, /* ESCAPE */
|
|
115, /* ENTER */
|
|
116, /* TAB */
|
|
117, /* BACKSPACE */
|
|
118, /* INSERT */
|
|
119, /* DELETE */
|
|
120, /* RIGHT */
|
|
121, /* LEFT */
|
|
122, /* DOWN */
|
|
123, /* UP */
|
|
124, /* PAGE_UP */
|
|
125, /* PAGE_DOWN */
|
|
126, /* HOME */
|
|
127, /* END */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
128, /* CAPS_LOCK */
|
|
129, /* SCROLL_LOCK */
|
|
130, /* NUM_LOCK */
|
|
131, /* PRINT_SCREEN */
|
|
132, /* PAUSE */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
133, /* F1 */
|
|
134, /* F2 */
|
|
135, /* F3 */
|
|
136, /* F4 */
|
|
137, /* F5 */
|
|
138, /* F6 */
|
|
139, /* F7 */
|
|
140, /* F8 */
|
|
141, /* F9 */
|
|
142, /* F10 */
|
|
143, /* F11 */
|
|
144, /* F12 */
|
|
145, /* F13 */
|
|
146, /* F14 */
|
|
147, /* F15 */
|
|
148, /* F16 */
|
|
149, /* F17 */
|
|
150, /* F18 */
|
|
151, /* F19 */
|
|
152, /* F20 */
|
|
153, /* F21 */
|
|
154, /* F22 */
|
|
155, /* F23 */
|
|
156, /* F24 */
|
|
157, /* F25 */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
158, /* KP_0 */
|
|
159, /* KP_1 */
|
|
160, /* KP_2 */
|
|
161, /* KP_3 */
|
|
162, /* KP_4 */
|
|
163, /* KP_5 */
|
|
164, /* KP_6 */
|
|
165, /* KP_7 */
|
|
166, /* KP_8 */
|
|
167, /* KP_9 */
|
|
168, /* KP_DECIMAL */
|
|
169, /* KP_DIVIDE */
|
|
170, /* KP_MULTIPLY */
|
|
171, /* KP_SUBTRACT */
|
|
172, /* KP_ADD */
|
|
173, /* KP_ENTER */
|
|
174, /* KP_EQUAL */
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
UINT8_MAX,
|
|
175, /* LEFT_SHIFT */
|
|
176, /* LEFT_CONTROL */
|
|
177, /* LEFT_ALT */
|
|
178, /* LEFT_SUPER */
|
|
179, /* RIGHT_SHIFT */
|
|
180, /* RIGHT_CONTROL */
|
|
181, /* RIGHT_ALT */
|
|
182, /* RIGHT_SUPER */
|
|
183, /* MENU */
|
|
};
|
|
|
|
static inline const char* key_name(int key) { switch(key) {
|
|
case 32: return "SPACE";
|
|
case 33: return "EXCLAM";
|
|
case 34: return "DOUBLE_QUOTE";
|
|
case 35: return "NUMBER_SIGN";
|
|
case 36: return "DOLLAR";
|
|
case 38: return "AMPERSAND";
|
|
case 39: return "APOSTROPHE";
|
|
case 40: return "PARENTHESIS_LEFT";
|
|
case 41: return "PARENTHESIS_RIGHT";
|
|
case 43: return "PLUS";
|
|
case 44: return "COMMA";
|
|
case 45: return "MINUS";
|
|
case 46: return "PERIOD";
|
|
case 47: return "SLASH";
|
|
case 48: return "0";
|
|
case 49: return "1";
|
|
case 50: return "2";
|
|
case 51: return "3";
|
|
case 52: return "4";
|
|
case 53: return "5";
|
|
case 54: return "6";
|
|
case 55: return "7";
|
|
case 56: return "8";
|
|
case 57: return "9";
|
|
case 58: return "COLON";
|
|
case 59: return "SEMICOLON";
|
|
case 60: return "LESS";
|
|
case 61: return "EQUAL";
|
|
case 62: return "GREATER";
|
|
case 64: return "AT";
|
|
case 65: return "A";
|
|
case 66: return "B";
|
|
case 67: return "C";
|
|
case 68: return "D";
|
|
case 69: return "E";
|
|
case 70: return "F";
|
|
case 71: return "G";
|
|
case 72: return "H";
|
|
case 73: return "I";
|
|
case 74: return "J";
|
|
case 75: return "K";
|
|
case 76: return "L";
|
|
case 77: return "M";
|
|
case 78: return "N";
|
|
case 79: return "O";
|
|
case 80: return "P";
|
|
case 81: return "Q";
|
|
case 82: return "R";
|
|
case 83: return "S";
|
|
case 84: return "T";
|
|
case 85: return "U";
|
|
case 86: return "V";
|
|
case 87: return "W";
|
|
case 88: return "X";
|
|
case 89: return "Y";
|
|
case 90: return "Z";
|
|
case 91: return "LEFT_BRACKET";
|
|
case 92: return "BACKSLASH";
|
|
case 93: return "RIGHT_BRACKET";
|
|
case 94: return "CIRCUMFLEX";
|
|
case 95: return "UNDERSCORE";
|
|
case 96: return "GRAVE_ACCENT";
|
|
case 161: return "WORLD_1";
|
|
case 162: return "WORLD_2";
|
|
case 167: return "PARAGRAPH";
|
|
case 186: return "MASCULINE";
|
|
case 192: return "A_GRAVE";
|
|
case 196: return "A_DIAERESIS";
|
|
case 197: return "A_RING";
|
|
case 198: return "AE";
|
|
case 199: return "C_CEDILLA";
|
|
case 200: return "E_GRAVE";
|
|
case 201: return "E_ACUTE";
|
|
case 204: return "I_GRAVE";
|
|
case 209: return "N_TILDE";
|
|
case 210: return "O_GRAVE";
|
|
case 214: return "O_DIAERESIS";
|
|
case 216: return "O_SLASH";
|
|
case 217: return "U_GRAVE";
|
|
case 220: return "U_DIAERESIS";
|
|
case 222: return "S_SHARP";
|
|
case 223: return "CYRILLIC_A";
|
|
case 224: return "CYRILLIC_BE";
|
|
case 225: return "CYRILLIC_VE";
|
|
case 226: return "CYRILLIC_GHE";
|
|
case 227: return "CYRILLIC_DE";
|
|
case 228: return "CYRILLIC_IE";
|
|
case 229: return "CYRILLIC_ZHE";
|
|
case 230: return "CYRILLIC_ZE";
|
|
case 231: return "CYRILLIC_I";
|
|
case 232: return "CYRILLIC_SHORT_I";
|
|
case 233: return "CYRILLIC_KA";
|
|
case 234: return "CYRILLIC_EL";
|
|
case 235: return "CYRILLIC_EM";
|
|
case 236: return "CYRILLIC_EN";
|
|
case 237: return "CYRILLIC_O";
|
|
case 238: return "CYRILLIC_PE";
|
|
case 239: return "CYRILLIC_ER";
|
|
case 240: return "CYRILLIC_ES";
|
|
case 241: return "CYRILLIC_TE";
|
|
case 242: return "CYRILLIC_U";
|
|
case 243: return "CYRILLIC_EF";
|
|
case 244: return "CYRILLIC_HA";
|
|
case 245: return "CYRILLIC_TSE";
|
|
case 246: return "CYRILLIC_CHE";
|
|
case 247: return "CYRILLIC_SHA";
|
|
case 248: return "CYRILLIC_SHCHA";
|
|
case 249: return "CYRILLIC_HARD_SIGN";
|
|
case 250: return "CYRILLIC_YERU";
|
|
case 251: return "CYRILLIC_SOFT_SIGN";
|
|
case 252: return "CYRILLIC_E";
|
|
case 253: return "CYRILLIC_YU";
|
|
case 254: return "CYRILLIC_YA";
|
|
case 255: return "CYRILLIC_IO";
|
|
case 256: return "ESCAPE";
|
|
case 257: return "ENTER";
|
|
case 258: return "TAB";
|
|
case 259: return "BACKSPACE";
|
|
case 260: return "INSERT";
|
|
case 261: return "DELETE";
|
|
case 262: return "RIGHT";
|
|
case 263: return "LEFT";
|
|
case 264: return "DOWN";
|
|
case 265: return "UP";
|
|
case 266: return "PAGE_UP";
|
|
case 267: return "PAGE_DOWN";
|
|
case 268: return "HOME";
|
|
case 269: return "END";
|
|
case 280: return "CAPS_LOCK";
|
|
case 281: return "SCROLL_LOCK";
|
|
case 282: return "NUM_LOCK";
|
|
case 283: return "PRINT_SCREEN";
|
|
case 284: return "PAUSE";
|
|
case 290: return "F1";
|
|
case 291: return "F2";
|
|
case 292: return "F3";
|
|
case 293: return "F4";
|
|
case 294: return "F5";
|
|
case 295: return "F6";
|
|
case 296: return "F7";
|
|
case 297: return "F8";
|
|
case 298: return "F9";
|
|
case 299: return "F10";
|
|
case 300: return "F11";
|
|
case 301: return "F12";
|
|
case 302: return "F13";
|
|
case 303: return "F14";
|
|
case 304: return "F15";
|
|
case 305: return "F16";
|
|
case 306: return "F17";
|
|
case 307: return "F18";
|
|
case 308: return "F19";
|
|
case 309: return "F20";
|
|
case 310: return "F21";
|
|
case 311: return "F22";
|
|
case 312: return "F23";
|
|
case 313: return "F24";
|
|
case 314: return "F25";
|
|
case 320: return "KP_0";
|
|
case 321: return "KP_1";
|
|
case 322: return "KP_2";
|
|
case 323: return "KP_3";
|
|
case 324: return "KP_4";
|
|
case 325: return "KP_5";
|
|
case 326: return "KP_6";
|
|
case 327: return "KP_7";
|
|
case 328: return "KP_8";
|
|
case 329: return "KP_9";
|
|
case 330: return "KP_DECIMAL";
|
|
case 331: return "KP_DIVIDE";
|
|
case 332: return "KP_MULTIPLY";
|
|
case 333: return "KP_SUBTRACT";
|
|
case 334: return "KP_ADD";
|
|
case 335: return "KP_ENTER";
|
|
case 336: return "KP_EQUAL";
|
|
case 340: return "LEFT_SHIFT";
|
|
case 341: return "LEFT_CONTROL";
|
|
case 342: return "LEFT_ALT";
|
|
case 343: return "LEFT_SUPER";
|
|
case 344: return "RIGHT_SHIFT";
|
|
case 345: return "RIGHT_CONTROL";
|
|
case 346: return "RIGHT_ALT";
|
|
case 347: return "RIGHT_SUPER";
|
|
case 348: return "MENU";
|
|
default: return NULL; }}
|
|
|
|
typedef enum { NORMAL, APPLICATION, EXTENDED } KeyboardMode;
|
|
|
|
static inline const char*
|
|
key_lookup(uint8_t key, KeyboardMode mode, uint8_t mods, uint8_t action) {
|
|
switch(mode) {
|
|
case NORMAL:
|
|
switch(action & 3) { case 3: return NULL;
|
|
case 0: // RELEASE
|
|
return NULL;
|
|
|
|
case 1: // PRESS
|
|
switch (mods & 0xf) {
|
|
case 0x0:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0x1:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x03\x1b\x5b\x5a";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x32\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x32\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x32\x7e";
|
|
} // end switch(key)
|
|
case 0x2:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x01\x00";
|
|
case 6: // APOSTROPHE
|
|
return "\x01\x27";
|
|
case 10: // COMMA
|
|
return "\x01\x2c";
|
|
case 11: // MINUS
|
|
return "\x01\x2d";
|
|
case 12: // PERIOD
|
|
return "\x01\x2e";
|
|
case 13: // SLASH
|
|
return "\x01\x1f";
|
|
case 14: // 0
|
|
return "\x01\x30";
|
|
case 15: // 1
|
|
return "\x01\x31";
|
|
case 16: // 2
|
|
return "\x01\x00";
|
|
case 17: // 3
|
|
return "\x01\x1b";
|
|
case 18: // 4
|
|
return "\x01\x1c";
|
|
case 19: // 5
|
|
return "\x01\x1d";
|
|
case 20: // 6
|
|
return "\x01\x1e";
|
|
case 21: // 7
|
|
return "\x01\x1f";
|
|
case 22: // 8
|
|
return "\x01\x7f";
|
|
case 23: // 9
|
|
return "\x01\x39";
|
|
case 25: // SEMICOLON
|
|
return "\x01\x3b";
|
|
case 27: // EQUAL
|
|
return "\x01\x3d";
|
|
case 30: // A
|
|
return "\x01\x01";
|
|
case 31: // B
|
|
return "\x01\x02";
|
|
case 32: // C
|
|
return "\x01\x03";
|
|
case 33: // D
|
|
return "\x01\x04";
|
|
case 34: // E
|
|
return "\x01\x05";
|
|
case 35: // F
|
|
return "\x01\x06";
|
|
case 36: // G
|
|
return "\x01\x07";
|
|
case 37: // H
|
|
return "\x01\x08";
|
|
case 38: // I
|
|
return "\x01\x09";
|
|
case 39: // J
|
|
return "\x01\x0a";
|
|
case 40: // K
|
|
return "\x01\x0b";
|
|
case 41: // L
|
|
return "\x01\x0c";
|
|
case 42: // M
|
|
return "\x01\x0d";
|
|
case 43: // N
|
|
return "\x01\x0e";
|
|
case 44: // O
|
|
return "\x01\x0f";
|
|
case 45: // P
|
|
return "\x01\x10";
|
|
case 46: // Q
|
|
return "\x01\x11";
|
|
case 47: // R
|
|
return "\x01\x12";
|
|
case 48: // S
|
|
return "\x01\x13";
|
|
case 49: // T
|
|
return "\x01\x14";
|
|
case 50: // U
|
|
return "\x01\x15";
|
|
case 51: // V
|
|
return "\x01\x16";
|
|
case 52: // W
|
|
return "\x01\x17";
|
|
case 53: // X
|
|
return "\x01\x18";
|
|
case 54: // Y
|
|
return "\x01\x19";
|
|
case 55: // Z
|
|
return "\x01\x1a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x01\x1b";
|
|
case 57: // BACKSLASH
|
|
return "\x01\x1c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x01\x1d";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x01\x1e";
|
|
case 60: // UNDERSCORE
|
|
return "\x01\x00";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x01\x00";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x08";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x35\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x35\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x35\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x35\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x35\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x35\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x35\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x35\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x35\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x35\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x35\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x35\x7e";
|
|
} // end switch(key)
|
|
case 0x3:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 11: // MINUS
|
|
return "\x01\x1f";
|
|
case 13: // SLASH
|
|
return "\x01\x7f";
|
|
case 16: // 2
|
|
return "\x01\x00";
|
|
case 20: // 6
|
|
return "\x01\x1e";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x36\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x36\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x36\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x36\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x36\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x36\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x36\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x36\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x36\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x36\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x36\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x36\x7e";
|
|
} // end switch(key)
|
|
case 0x4:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x20";
|
|
case 6: // APOSTROPHE
|
|
return "\x02\x1b\x27";
|
|
case 10: // COMMA
|
|
return "\x02\x1b\x2c";
|
|
case 11: // MINUS
|
|
return "\x02\x1b\x2d";
|
|
case 12: // PERIOD
|
|
return "\x02\x1b\x2e";
|
|
case 13: // SLASH
|
|
return "\x02\x1b\x2f";
|
|
case 14: // 0
|
|
return "\x02\x1b\x30";
|
|
case 15: // 1
|
|
return "\x02\x1b\x31";
|
|
case 16: // 2
|
|
return "\x02\x1b\x32";
|
|
case 17: // 3
|
|
return "\x02\x1b\x33";
|
|
case 18: // 4
|
|
return "\x02\x1b\x34";
|
|
case 19: // 5
|
|
return "\x02\x1b\x35";
|
|
case 20: // 6
|
|
return "\x02\x1b\x36";
|
|
case 21: // 7
|
|
return "\x02\x1b\x37";
|
|
case 22: // 8
|
|
return "\x02\x1b\x38";
|
|
case 23: // 9
|
|
return "\x02\x1b\x39";
|
|
case 25: // SEMICOLON
|
|
return "\x02\x1b\x3b";
|
|
case 27: // EQUAL
|
|
return "\x02\x1b\x3d";
|
|
case 30: // A
|
|
return "\x02\x1b\x61";
|
|
case 31: // B
|
|
return "\x02\x1b\x62";
|
|
case 32: // C
|
|
return "\x02\x1b\x63";
|
|
case 33: // D
|
|
return "\x02\x1b\x64";
|
|
case 34: // E
|
|
return "\x02\x1b\x65";
|
|
case 35: // F
|
|
return "\x02\x1b\x66";
|
|
case 36: // G
|
|
return "\x02\x1b\x67";
|
|
case 37: // H
|
|
return "\x02\x1b\x68";
|
|
case 38: // I
|
|
return "\x02\x1b\x69";
|
|
case 39: // J
|
|
return "\x02\x1b\x6a";
|
|
case 40: // K
|
|
return "\x02\x1b\x6b";
|
|
case 41: // L
|
|
return "\x02\x1b\x6c";
|
|
case 42: // M
|
|
return "\x02\x1b\x6d";
|
|
case 43: // N
|
|
return "\x02\x1b\x6e";
|
|
case 44: // O
|
|
return "\x02\x1b\x6f";
|
|
case 45: // P
|
|
return "\x02\x1b\x70";
|
|
case 46: // Q
|
|
return "\x02\x1b\x71";
|
|
case 47: // R
|
|
return "\x02\x1b\x72";
|
|
case 48: // S
|
|
return "\x02\x1b\x73";
|
|
case 49: // T
|
|
return "\x02\x1b\x74";
|
|
case 50: // U
|
|
return "\x02\x1b\x75";
|
|
case 51: // V
|
|
return "\x02\x1b\x76";
|
|
case 52: // W
|
|
return "\x02\x1b\x77";
|
|
case 53: // X
|
|
return "\x02\x1b\x78";
|
|
case 54: // Y
|
|
return "\x02\x1b\x79";
|
|
case 55: // Z
|
|
return "\x02\x1b\x7a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x02\x1b\x5b";
|
|
case 57: // BACKSLASH
|
|
return "\x02\x1b\x5c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x02\x1b\x5d";
|
|
case 60: // UNDERSCORE
|
|
return "\x02\x1b\x5f";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x02\x1b\x60";
|
|
case 114: // ESCAPE
|
|
return "\x02\x1b\x1b";
|
|
case 115: // ENTER
|
|
return "\x02\x1b\x0d";
|
|
case 116: // TAB
|
|
return "\x02\x1b\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x02\x1b\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x33\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x33\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x33\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x33\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x33\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x33\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x33\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x33\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x33\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x33\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x33\x7e";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x33\x7e";
|
|
} // end switch(key)
|
|
case 0x5:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x20";
|
|
case 6: // APOSTROPHE
|
|
return "\x02\x1b\x22";
|
|
case 10: // COMMA
|
|
return "\x02\x1b\x3c";
|
|
case 11: // MINUS
|
|
return "\x02\x1b\x5f";
|
|
case 12: // PERIOD
|
|
return "\x02\x1b\x3e";
|
|
case 13: // SLASH
|
|
return "\x02\x1b\x3f";
|
|
case 14: // 0
|
|
return "\x02\x1b\x29";
|
|
case 15: // 1
|
|
return "\x02\x1b\x21";
|
|
case 16: // 2
|
|
return "\x02\x1b\x40";
|
|
case 17: // 3
|
|
return "\x02\x1b\x23";
|
|
case 18: // 4
|
|
return "\x02\x1b\x24";
|
|
case 19: // 5
|
|
return "\x02\x1b\x25";
|
|
case 20: // 6
|
|
return "\x02\x1b\x5e";
|
|
case 21: // 7
|
|
return "\x02\x1b\x26";
|
|
case 22: // 8
|
|
return "\x02\x1b\x2a";
|
|
case 23: // 9
|
|
return "\x02\x1b\x28";
|
|
case 25: // SEMICOLON
|
|
return "\x02\x1b\x3a";
|
|
case 27: // EQUAL
|
|
return "\x02\x1b\x2b";
|
|
case 30: // A
|
|
return "\x02\x1b\x41";
|
|
case 31: // B
|
|
return "\x02\x1b\x42";
|
|
case 32: // C
|
|
return "\x02\x1b\x43";
|
|
case 33: // D
|
|
return "\x02\x1b\x44";
|
|
case 34: // E
|
|
return "\x02\x1b\x45";
|
|
case 35: // F
|
|
return "\x02\x1b\x46";
|
|
case 36: // G
|
|
return "\x02\x1b\x47";
|
|
case 37: // H
|
|
return "\x02\x1b\x48";
|
|
case 38: // I
|
|
return "\x02\x1b\x49";
|
|
case 39: // J
|
|
return "\x02\x1b\x4a";
|
|
case 40: // K
|
|
return "\x02\x1b\x4b";
|
|
case 41: // L
|
|
return "\x02\x1b\x4c";
|
|
case 42: // M
|
|
return "\x02\x1b\x4d";
|
|
case 43: // N
|
|
return "\x02\x1b\x4e";
|
|
case 44: // O
|
|
return "\x02\x1b\x4f";
|
|
case 45: // P
|
|
return "\x02\x1b\x50";
|
|
case 46: // Q
|
|
return "\x02\x1b\x51";
|
|
case 47: // R
|
|
return "\x02\x1b\x52";
|
|
case 48: // S
|
|
return "\x02\x1b\x53";
|
|
case 49: // T
|
|
return "\x02\x1b\x54";
|
|
case 50: // U
|
|
return "\x02\x1b\x55";
|
|
case 51: // V
|
|
return "\x02\x1b\x56";
|
|
case 52: // W
|
|
return "\x02\x1b\x57";
|
|
case 53: // X
|
|
return "\x02\x1b\x58";
|
|
case 54: // Y
|
|
return "\x02\x1b\x59";
|
|
case 55: // Z
|
|
return "\x02\x1b\x5a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x02\x1b\x7b";
|
|
case 57: // BACKSLASH
|
|
return "\x02\x1b\x7c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x02\x1b\x7d";
|
|
case 60: // UNDERSCORE
|
|
return "\x02\x1b\x5f";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x02\x1b\x7e";
|
|
case 114: // ESCAPE
|
|
return "\x02\x1b\x1b";
|
|
case 115: // ENTER
|
|
return "\x02\x1b\x0d";
|
|
case 116: // TAB
|
|
return "\x03\x1b\x5b\x5a";
|
|
case 117: // BACKSPACE
|
|
return "\x02\x1b\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x34\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x34\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x34\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x34\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x34\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x34\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x34\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x34\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x34\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x34\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x34\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x34\x7e";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x34\x7e";
|
|
} // end switch(key)
|
|
case 0x6:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x00";
|
|
case 30: // A
|
|
return "\x02\x1b\x01";
|
|
case 31: // B
|
|
return "\x02\x1b\x02";
|
|
case 32: // C
|
|
return "\x02\x1b\x03";
|
|
case 33: // D
|
|
return "\x02\x1b\x04";
|
|
case 34: // E
|
|
return "\x02\x1b\x05";
|
|
case 35: // F
|
|
return "\x02\x1b\x06";
|
|
case 36: // G
|
|
return "\x02\x1b\x07";
|
|
case 37: // H
|
|
return "\x02\x1b\x08";
|
|
case 38: // I
|
|
return "\x02\x1b\x09";
|
|
case 39: // J
|
|
return "\x02\x1b\x0a";
|
|
case 40: // K
|
|
return "\x02\x1b\x0b";
|
|
case 41: // L
|
|
return "\x02\x1b\x0c";
|
|
case 42: // M
|
|
return "\x02\x1b\x0d";
|
|
case 43: // N
|
|
return "\x02\x1b\x0e";
|
|
case 44: // O
|
|
return "\x02\x1b\x0f";
|
|
case 45: // P
|
|
return "\x02\x1b\x10";
|
|
case 46: // Q
|
|
return "\x02\x1b\x11";
|
|
case 47: // R
|
|
return "\x02\x1b\x12";
|
|
case 48: // S
|
|
return "\x02\x1b\x13";
|
|
case 49: // T
|
|
return "\x02\x1b\x14";
|
|
case 50: // U
|
|
return "\x02\x1b\x15";
|
|
case 51: // V
|
|
return "\x02\x1b\x16";
|
|
case 52: // W
|
|
return "\x02\x1b\x17";
|
|
case 53: // X
|
|
return "\x02\x1b\x18";
|
|
case 54: // Y
|
|
return "\x02\x1b\x19";
|
|
case 55: // Z
|
|
return "\x02\x1b\x1a";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x37\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x37\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x37\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x37\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x37\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x37\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x37\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x37\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x37\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x37\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x37\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x37\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x37\x7e";
|
|
} // end switch(key)
|
|
case 0x7:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x38\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x38\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x38\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x38\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x38\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x38\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x38\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x38\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x38\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x38\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x38\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x38\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x38\x7e";
|
|
} // end switch(key)
|
|
case 0x8:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0x9:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xa:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xb:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xc:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xd:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xe:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xf:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
} // end switch(mods)
|
|
break;
|
|
|
|
case 2: // REPEAT
|
|
switch (mods & 0xf) {
|
|
case 0x0:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0x1:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x03\x1b\x5b\x5a";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x32\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x32\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x32\x7e";
|
|
} // end switch(key)
|
|
case 0x2:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x01\x00";
|
|
case 6: // APOSTROPHE
|
|
return "\x01\x27";
|
|
case 10: // COMMA
|
|
return "\x01\x2c";
|
|
case 11: // MINUS
|
|
return "\x01\x2d";
|
|
case 12: // PERIOD
|
|
return "\x01\x2e";
|
|
case 13: // SLASH
|
|
return "\x01\x1f";
|
|
case 14: // 0
|
|
return "\x01\x30";
|
|
case 15: // 1
|
|
return "\x01\x31";
|
|
case 16: // 2
|
|
return "\x01\x00";
|
|
case 17: // 3
|
|
return "\x01\x1b";
|
|
case 18: // 4
|
|
return "\x01\x1c";
|
|
case 19: // 5
|
|
return "\x01\x1d";
|
|
case 20: // 6
|
|
return "\x01\x1e";
|
|
case 21: // 7
|
|
return "\x01\x1f";
|
|
case 22: // 8
|
|
return "\x01\x7f";
|
|
case 23: // 9
|
|
return "\x01\x39";
|
|
case 25: // SEMICOLON
|
|
return "\x01\x3b";
|
|
case 27: // EQUAL
|
|
return "\x01\x3d";
|
|
case 30: // A
|
|
return "\x01\x01";
|
|
case 31: // B
|
|
return "\x01\x02";
|
|
case 32: // C
|
|
return "\x01\x03";
|
|
case 33: // D
|
|
return "\x01\x04";
|
|
case 34: // E
|
|
return "\x01\x05";
|
|
case 35: // F
|
|
return "\x01\x06";
|
|
case 36: // G
|
|
return "\x01\x07";
|
|
case 37: // H
|
|
return "\x01\x08";
|
|
case 38: // I
|
|
return "\x01\x09";
|
|
case 39: // J
|
|
return "\x01\x0a";
|
|
case 40: // K
|
|
return "\x01\x0b";
|
|
case 41: // L
|
|
return "\x01\x0c";
|
|
case 42: // M
|
|
return "\x01\x0d";
|
|
case 43: // N
|
|
return "\x01\x0e";
|
|
case 44: // O
|
|
return "\x01\x0f";
|
|
case 45: // P
|
|
return "\x01\x10";
|
|
case 46: // Q
|
|
return "\x01\x11";
|
|
case 47: // R
|
|
return "\x01\x12";
|
|
case 48: // S
|
|
return "\x01\x13";
|
|
case 49: // T
|
|
return "\x01\x14";
|
|
case 50: // U
|
|
return "\x01\x15";
|
|
case 51: // V
|
|
return "\x01\x16";
|
|
case 52: // W
|
|
return "\x01\x17";
|
|
case 53: // X
|
|
return "\x01\x18";
|
|
case 54: // Y
|
|
return "\x01\x19";
|
|
case 55: // Z
|
|
return "\x01\x1a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x01\x1b";
|
|
case 57: // BACKSLASH
|
|
return "\x01\x1c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x01\x1d";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x01\x1e";
|
|
case 60: // UNDERSCORE
|
|
return "\x01\x00";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x01\x00";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x08";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x35\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x35\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x35\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x35\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x35\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x35\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x35\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x35\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x35\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x35\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x35\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x35\x7e";
|
|
} // end switch(key)
|
|
case 0x3:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 11: // MINUS
|
|
return "\x01\x1f";
|
|
case 13: // SLASH
|
|
return "\x01\x7f";
|
|
case 16: // 2
|
|
return "\x01\x00";
|
|
case 20: // 6
|
|
return "\x01\x1e";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x36\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x36\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x36\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x36\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x36\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x36\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x36\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x36\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x36\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x36\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x36\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x36\x7e";
|
|
} // end switch(key)
|
|
case 0x4:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x20";
|
|
case 6: // APOSTROPHE
|
|
return "\x02\x1b\x27";
|
|
case 10: // COMMA
|
|
return "\x02\x1b\x2c";
|
|
case 11: // MINUS
|
|
return "\x02\x1b\x2d";
|
|
case 12: // PERIOD
|
|
return "\x02\x1b\x2e";
|
|
case 13: // SLASH
|
|
return "\x02\x1b\x2f";
|
|
case 14: // 0
|
|
return "\x02\x1b\x30";
|
|
case 15: // 1
|
|
return "\x02\x1b\x31";
|
|
case 16: // 2
|
|
return "\x02\x1b\x32";
|
|
case 17: // 3
|
|
return "\x02\x1b\x33";
|
|
case 18: // 4
|
|
return "\x02\x1b\x34";
|
|
case 19: // 5
|
|
return "\x02\x1b\x35";
|
|
case 20: // 6
|
|
return "\x02\x1b\x36";
|
|
case 21: // 7
|
|
return "\x02\x1b\x37";
|
|
case 22: // 8
|
|
return "\x02\x1b\x38";
|
|
case 23: // 9
|
|
return "\x02\x1b\x39";
|
|
case 25: // SEMICOLON
|
|
return "\x02\x1b\x3b";
|
|
case 27: // EQUAL
|
|
return "\x02\x1b\x3d";
|
|
case 30: // A
|
|
return "\x02\x1b\x61";
|
|
case 31: // B
|
|
return "\x02\x1b\x62";
|
|
case 32: // C
|
|
return "\x02\x1b\x63";
|
|
case 33: // D
|
|
return "\x02\x1b\x64";
|
|
case 34: // E
|
|
return "\x02\x1b\x65";
|
|
case 35: // F
|
|
return "\x02\x1b\x66";
|
|
case 36: // G
|
|
return "\x02\x1b\x67";
|
|
case 37: // H
|
|
return "\x02\x1b\x68";
|
|
case 38: // I
|
|
return "\x02\x1b\x69";
|
|
case 39: // J
|
|
return "\x02\x1b\x6a";
|
|
case 40: // K
|
|
return "\x02\x1b\x6b";
|
|
case 41: // L
|
|
return "\x02\x1b\x6c";
|
|
case 42: // M
|
|
return "\x02\x1b\x6d";
|
|
case 43: // N
|
|
return "\x02\x1b\x6e";
|
|
case 44: // O
|
|
return "\x02\x1b\x6f";
|
|
case 45: // P
|
|
return "\x02\x1b\x70";
|
|
case 46: // Q
|
|
return "\x02\x1b\x71";
|
|
case 47: // R
|
|
return "\x02\x1b\x72";
|
|
case 48: // S
|
|
return "\x02\x1b\x73";
|
|
case 49: // T
|
|
return "\x02\x1b\x74";
|
|
case 50: // U
|
|
return "\x02\x1b\x75";
|
|
case 51: // V
|
|
return "\x02\x1b\x76";
|
|
case 52: // W
|
|
return "\x02\x1b\x77";
|
|
case 53: // X
|
|
return "\x02\x1b\x78";
|
|
case 54: // Y
|
|
return "\x02\x1b\x79";
|
|
case 55: // Z
|
|
return "\x02\x1b\x7a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x02\x1b\x5b";
|
|
case 57: // BACKSLASH
|
|
return "\x02\x1b\x5c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x02\x1b\x5d";
|
|
case 60: // UNDERSCORE
|
|
return "\x02\x1b\x5f";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x02\x1b\x60";
|
|
case 114: // ESCAPE
|
|
return "\x02\x1b\x1b";
|
|
case 115: // ENTER
|
|
return "\x02\x1b\x0d";
|
|
case 116: // TAB
|
|
return "\x02\x1b\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x02\x1b\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x33\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x33\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x33\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x33\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x33\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x33\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x33\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x33\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x33\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x33\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x33\x7e";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x33\x7e";
|
|
} // end switch(key)
|
|
case 0x5:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x20";
|
|
case 6: // APOSTROPHE
|
|
return "\x02\x1b\x22";
|
|
case 10: // COMMA
|
|
return "\x02\x1b\x3c";
|
|
case 11: // MINUS
|
|
return "\x02\x1b\x5f";
|
|
case 12: // PERIOD
|
|
return "\x02\x1b\x3e";
|
|
case 13: // SLASH
|
|
return "\x02\x1b\x3f";
|
|
case 14: // 0
|
|
return "\x02\x1b\x29";
|
|
case 15: // 1
|
|
return "\x02\x1b\x21";
|
|
case 16: // 2
|
|
return "\x02\x1b\x40";
|
|
case 17: // 3
|
|
return "\x02\x1b\x23";
|
|
case 18: // 4
|
|
return "\x02\x1b\x24";
|
|
case 19: // 5
|
|
return "\x02\x1b\x25";
|
|
case 20: // 6
|
|
return "\x02\x1b\x5e";
|
|
case 21: // 7
|
|
return "\x02\x1b\x26";
|
|
case 22: // 8
|
|
return "\x02\x1b\x2a";
|
|
case 23: // 9
|
|
return "\x02\x1b\x28";
|
|
case 25: // SEMICOLON
|
|
return "\x02\x1b\x3a";
|
|
case 27: // EQUAL
|
|
return "\x02\x1b\x2b";
|
|
case 30: // A
|
|
return "\x02\x1b\x41";
|
|
case 31: // B
|
|
return "\x02\x1b\x42";
|
|
case 32: // C
|
|
return "\x02\x1b\x43";
|
|
case 33: // D
|
|
return "\x02\x1b\x44";
|
|
case 34: // E
|
|
return "\x02\x1b\x45";
|
|
case 35: // F
|
|
return "\x02\x1b\x46";
|
|
case 36: // G
|
|
return "\x02\x1b\x47";
|
|
case 37: // H
|
|
return "\x02\x1b\x48";
|
|
case 38: // I
|
|
return "\x02\x1b\x49";
|
|
case 39: // J
|
|
return "\x02\x1b\x4a";
|
|
case 40: // K
|
|
return "\x02\x1b\x4b";
|
|
case 41: // L
|
|
return "\x02\x1b\x4c";
|
|
case 42: // M
|
|
return "\x02\x1b\x4d";
|
|
case 43: // N
|
|
return "\x02\x1b\x4e";
|
|
case 44: // O
|
|
return "\x02\x1b\x4f";
|
|
case 45: // P
|
|
return "\x02\x1b\x50";
|
|
case 46: // Q
|
|
return "\x02\x1b\x51";
|
|
case 47: // R
|
|
return "\x02\x1b\x52";
|
|
case 48: // S
|
|
return "\x02\x1b\x53";
|
|
case 49: // T
|
|
return "\x02\x1b\x54";
|
|
case 50: // U
|
|
return "\x02\x1b\x55";
|
|
case 51: // V
|
|
return "\x02\x1b\x56";
|
|
case 52: // W
|
|
return "\x02\x1b\x57";
|
|
case 53: // X
|
|
return "\x02\x1b\x58";
|
|
case 54: // Y
|
|
return "\x02\x1b\x59";
|
|
case 55: // Z
|
|
return "\x02\x1b\x5a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x02\x1b\x7b";
|
|
case 57: // BACKSLASH
|
|
return "\x02\x1b\x7c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x02\x1b\x7d";
|
|
case 60: // UNDERSCORE
|
|
return "\x02\x1b\x5f";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x02\x1b\x7e";
|
|
case 114: // ESCAPE
|
|
return "\x02\x1b\x1b";
|
|
case 115: // ENTER
|
|
return "\x02\x1b\x0d";
|
|
case 116: // TAB
|
|
return "\x03\x1b\x5b\x5a";
|
|
case 117: // BACKSPACE
|
|
return "\x02\x1b\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x34\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x34\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x34\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x34\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x34\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x34\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x34\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x34\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x34\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x34\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x34\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x34\x7e";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x34\x7e";
|
|
} // end switch(key)
|
|
case 0x6:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x00";
|
|
case 30: // A
|
|
return "\x02\x1b\x01";
|
|
case 31: // B
|
|
return "\x02\x1b\x02";
|
|
case 32: // C
|
|
return "\x02\x1b\x03";
|
|
case 33: // D
|
|
return "\x02\x1b\x04";
|
|
case 34: // E
|
|
return "\x02\x1b\x05";
|
|
case 35: // F
|
|
return "\x02\x1b\x06";
|
|
case 36: // G
|
|
return "\x02\x1b\x07";
|
|
case 37: // H
|
|
return "\x02\x1b\x08";
|
|
case 38: // I
|
|
return "\x02\x1b\x09";
|
|
case 39: // J
|
|
return "\x02\x1b\x0a";
|
|
case 40: // K
|
|
return "\x02\x1b\x0b";
|
|
case 41: // L
|
|
return "\x02\x1b\x0c";
|
|
case 42: // M
|
|
return "\x02\x1b\x0d";
|
|
case 43: // N
|
|
return "\x02\x1b\x0e";
|
|
case 44: // O
|
|
return "\x02\x1b\x0f";
|
|
case 45: // P
|
|
return "\x02\x1b\x10";
|
|
case 46: // Q
|
|
return "\x02\x1b\x11";
|
|
case 47: // R
|
|
return "\x02\x1b\x12";
|
|
case 48: // S
|
|
return "\x02\x1b\x13";
|
|
case 49: // T
|
|
return "\x02\x1b\x14";
|
|
case 50: // U
|
|
return "\x02\x1b\x15";
|
|
case 51: // V
|
|
return "\x02\x1b\x16";
|
|
case 52: // W
|
|
return "\x02\x1b\x17";
|
|
case 53: // X
|
|
return "\x02\x1b\x18";
|
|
case 54: // Y
|
|
return "\x02\x1b\x19";
|
|
case 55: // Z
|
|
return "\x02\x1b\x1a";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x37\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x37\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x37\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x37\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x37\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x37\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x37\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x37\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x37\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x37\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x37\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x37\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x37\x7e";
|
|
} // end switch(key)
|
|
case 0x7:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x38\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x38\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x38\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x38\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x38\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x38\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x38\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x38\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x38\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x38\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x38\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x38\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x38\x7e";
|
|
} // end switch(key)
|
|
case 0x8:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0x9:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xa:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xb:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xc:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xd:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xe:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xf:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x5b\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x5b\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x5b\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x5b\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x5b\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x5b\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
} // end switch(mods)
|
|
break;
|
|
|
|
} // end switch(action) in mode NORMAL
|
|
break;
|
|
|
|
|
|
case APPLICATION:
|
|
switch(action & 3) { case 3: return NULL;
|
|
case 0: // RELEASE
|
|
return NULL;
|
|
|
|
case 1: // PRESS
|
|
switch (mods & 0xf) {
|
|
case 0x0:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0x1:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x03\x1b\x5b\x5a";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x32\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x32\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x32\x7e";
|
|
} // end switch(key)
|
|
case 0x2:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x01\x00";
|
|
case 6: // APOSTROPHE
|
|
return "\x01\x27";
|
|
case 10: // COMMA
|
|
return "\x01\x2c";
|
|
case 11: // MINUS
|
|
return "\x01\x2d";
|
|
case 12: // PERIOD
|
|
return "\x01\x2e";
|
|
case 13: // SLASH
|
|
return "\x01\x1f";
|
|
case 14: // 0
|
|
return "\x01\x30";
|
|
case 15: // 1
|
|
return "\x01\x31";
|
|
case 16: // 2
|
|
return "\x01\x00";
|
|
case 17: // 3
|
|
return "\x01\x1b";
|
|
case 18: // 4
|
|
return "\x01\x1c";
|
|
case 19: // 5
|
|
return "\x01\x1d";
|
|
case 20: // 6
|
|
return "\x01\x1e";
|
|
case 21: // 7
|
|
return "\x01\x1f";
|
|
case 22: // 8
|
|
return "\x01\x7f";
|
|
case 23: // 9
|
|
return "\x01\x39";
|
|
case 25: // SEMICOLON
|
|
return "\x01\x3b";
|
|
case 27: // EQUAL
|
|
return "\x01\x3d";
|
|
case 30: // A
|
|
return "\x01\x01";
|
|
case 31: // B
|
|
return "\x01\x02";
|
|
case 32: // C
|
|
return "\x01\x03";
|
|
case 33: // D
|
|
return "\x01\x04";
|
|
case 34: // E
|
|
return "\x01\x05";
|
|
case 35: // F
|
|
return "\x01\x06";
|
|
case 36: // G
|
|
return "\x01\x07";
|
|
case 37: // H
|
|
return "\x01\x08";
|
|
case 38: // I
|
|
return "\x01\x09";
|
|
case 39: // J
|
|
return "\x01\x0a";
|
|
case 40: // K
|
|
return "\x01\x0b";
|
|
case 41: // L
|
|
return "\x01\x0c";
|
|
case 42: // M
|
|
return "\x01\x0d";
|
|
case 43: // N
|
|
return "\x01\x0e";
|
|
case 44: // O
|
|
return "\x01\x0f";
|
|
case 45: // P
|
|
return "\x01\x10";
|
|
case 46: // Q
|
|
return "\x01\x11";
|
|
case 47: // R
|
|
return "\x01\x12";
|
|
case 48: // S
|
|
return "\x01\x13";
|
|
case 49: // T
|
|
return "\x01\x14";
|
|
case 50: // U
|
|
return "\x01\x15";
|
|
case 51: // V
|
|
return "\x01\x16";
|
|
case 52: // W
|
|
return "\x01\x17";
|
|
case 53: // X
|
|
return "\x01\x18";
|
|
case 54: // Y
|
|
return "\x01\x19";
|
|
case 55: // Z
|
|
return "\x01\x1a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x01\x1b";
|
|
case 57: // BACKSLASH
|
|
return "\x01\x1c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x01\x1d";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x01\x1e";
|
|
case 60: // UNDERSCORE
|
|
return "\x01\x00";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x01\x00";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x08";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x35\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x35\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x35\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x35\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x35\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x35\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x35\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x35\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x35\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x35\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x35\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x35\x7e";
|
|
} // end switch(key)
|
|
case 0x3:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 11: // MINUS
|
|
return "\x01\x1f";
|
|
case 13: // SLASH
|
|
return "\x01\x7f";
|
|
case 16: // 2
|
|
return "\x01\x00";
|
|
case 20: // 6
|
|
return "\x01\x1e";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x36\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x36\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x36\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x36\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x36\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x36\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x36\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x36\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x36\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x36\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x36\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x36\x7e";
|
|
} // end switch(key)
|
|
case 0x4:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x20";
|
|
case 6: // APOSTROPHE
|
|
return "\x02\x1b\x27";
|
|
case 10: // COMMA
|
|
return "\x02\x1b\x2c";
|
|
case 11: // MINUS
|
|
return "\x02\x1b\x2d";
|
|
case 12: // PERIOD
|
|
return "\x02\x1b\x2e";
|
|
case 13: // SLASH
|
|
return "\x02\x1b\x2f";
|
|
case 14: // 0
|
|
return "\x02\x1b\x30";
|
|
case 15: // 1
|
|
return "\x02\x1b\x31";
|
|
case 16: // 2
|
|
return "\x02\x1b\x32";
|
|
case 17: // 3
|
|
return "\x02\x1b\x33";
|
|
case 18: // 4
|
|
return "\x02\x1b\x34";
|
|
case 19: // 5
|
|
return "\x02\x1b\x35";
|
|
case 20: // 6
|
|
return "\x02\x1b\x36";
|
|
case 21: // 7
|
|
return "\x02\x1b\x37";
|
|
case 22: // 8
|
|
return "\x02\x1b\x38";
|
|
case 23: // 9
|
|
return "\x02\x1b\x39";
|
|
case 25: // SEMICOLON
|
|
return "\x02\x1b\x3b";
|
|
case 27: // EQUAL
|
|
return "\x02\x1b\x3d";
|
|
case 30: // A
|
|
return "\x02\x1b\x61";
|
|
case 31: // B
|
|
return "\x02\x1b\x62";
|
|
case 32: // C
|
|
return "\x02\x1b\x63";
|
|
case 33: // D
|
|
return "\x02\x1b\x64";
|
|
case 34: // E
|
|
return "\x02\x1b\x65";
|
|
case 35: // F
|
|
return "\x02\x1b\x66";
|
|
case 36: // G
|
|
return "\x02\x1b\x67";
|
|
case 37: // H
|
|
return "\x02\x1b\x68";
|
|
case 38: // I
|
|
return "\x02\x1b\x69";
|
|
case 39: // J
|
|
return "\x02\x1b\x6a";
|
|
case 40: // K
|
|
return "\x02\x1b\x6b";
|
|
case 41: // L
|
|
return "\x02\x1b\x6c";
|
|
case 42: // M
|
|
return "\x02\x1b\x6d";
|
|
case 43: // N
|
|
return "\x02\x1b\x6e";
|
|
case 44: // O
|
|
return "\x02\x1b\x6f";
|
|
case 45: // P
|
|
return "\x02\x1b\x70";
|
|
case 46: // Q
|
|
return "\x02\x1b\x71";
|
|
case 47: // R
|
|
return "\x02\x1b\x72";
|
|
case 48: // S
|
|
return "\x02\x1b\x73";
|
|
case 49: // T
|
|
return "\x02\x1b\x74";
|
|
case 50: // U
|
|
return "\x02\x1b\x75";
|
|
case 51: // V
|
|
return "\x02\x1b\x76";
|
|
case 52: // W
|
|
return "\x02\x1b\x77";
|
|
case 53: // X
|
|
return "\x02\x1b\x78";
|
|
case 54: // Y
|
|
return "\x02\x1b\x79";
|
|
case 55: // Z
|
|
return "\x02\x1b\x7a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x02\x1b\x5b";
|
|
case 57: // BACKSLASH
|
|
return "\x02\x1b\x5c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x02\x1b\x5d";
|
|
case 60: // UNDERSCORE
|
|
return "\x02\x1b\x5f";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x02\x1b\x60";
|
|
case 114: // ESCAPE
|
|
return "\x02\x1b\x1b";
|
|
case 115: // ENTER
|
|
return "\x02\x1b\x0d";
|
|
case 116: // TAB
|
|
return "\x02\x1b\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x02\x1b\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x33\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x33\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x33\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x33\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x33\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x33\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x33\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x33\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x33\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x33\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x33\x7e";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x33\x7e";
|
|
} // end switch(key)
|
|
case 0x5:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x20";
|
|
case 6: // APOSTROPHE
|
|
return "\x02\x1b\x22";
|
|
case 10: // COMMA
|
|
return "\x02\x1b\x3c";
|
|
case 11: // MINUS
|
|
return "\x02\x1b\x5f";
|
|
case 12: // PERIOD
|
|
return "\x02\x1b\x3e";
|
|
case 13: // SLASH
|
|
return "\x02\x1b\x3f";
|
|
case 14: // 0
|
|
return "\x02\x1b\x29";
|
|
case 15: // 1
|
|
return "\x02\x1b\x21";
|
|
case 16: // 2
|
|
return "\x02\x1b\x40";
|
|
case 17: // 3
|
|
return "\x02\x1b\x23";
|
|
case 18: // 4
|
|
return "\x02\x1b\x24";
|
|
case 19: // 5
|
|
return "\x02\x1b\x25";
|
|
case 20: // 6
|
|
return "\x02\x1b\x5e";
|
|
case 21: // 7
|
|
return "\x02\x1b\x26";
|
|
case 22: // 8
|
|
return "\x02\x1b\x2a";
|
|
case 23: // 9
|
|
return "\x02\x1b\x28";
|
|
case 25: // SEMICOLON
|
|
return "\x02\x1b\x3a";
|
|
case 27: // EQUAL
|
|
return "\x02\x1b\x2b";
|
|
case 30: // A
|
|
return "\x02\x1b\x41";
|
|
case 31: // B
|
|
return "\x02\x1b\x42";
|
|
case 32: // C
|
|
return "\x02\x1b\x43";
|
|
case 33: // D
|
|
return "\x02\x1b\x44";
|
|
case 34: // E
|
|
return "\x02\x1b\x45";
|
|
case 35: // F
|
|
return "\x02\x1b\x46";
|
|
case 36: // G
|
|
return "\x02\x1b\x47";
|
|
case 37: // H
|
|
return "\x02\x1b\x48";
|
|
case 38: // I
|
|
return "\x02\x1b\x49";
|
|
case 39: // J
|
|
return "\x02\x1b\x4a";
|
|
case 40: // K
|
|
return "\x02\x1b\x4b";
|
|
case 41: // L
|
|
return "\x02\x1b\x4c";
|
|
case 42: // M
|
|
return "\x02\x1b\x4d";
|
|
case 43: // N
|
|
return "\x02\x1b\x4e";
|
|
case 44: // O
|
|
return "\x02\x1b\x4f";
|
|
case 45: // P
|
|
return "\x02\x1b\x50";
|
|
case 46: // Q
|
|
return "\x02\x1b\x51";
|
|
case 47: // R
|
|
return "\x02\x1b\x52";
|
|
case 48: // S
|
|
return "\x02\x1b\x53";
|
|
case 49: // T
|
|
return "\x02\x1b\x54";
|
|
case 50: // U
|
|
return "\x02\x1b\x55";
|
|
case 51: // V
|
|
return "\x02\x1b\x56";
|
|
case 52: // W
|
|
return "\x02\x1b\x57";
|
|
case 53: // X
|
|
return "\x02\x1b\x58";
|
|
case 54: // Y
|
|
return "\x02\x1b\x59";
|
|
case 55: // Z
|
|
return "\x02\x1b\x5a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x02\x1b\x7b";
|
|
case 57: // BACKSLASH
|
|
return "\x02\x1b\x7c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x02\x1b\x7d";
|
|
case 60: // UNDERSCORE
|
|
return "\x02\x1b\x5f";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x02\x1b\x7e";
|
|
case 114: // ESCAPE
|
|
return "\x02\x1b\x1b";
|
|
case 115: // ENTER
|
|
return "\x02\x1b\x0d";
|
|
case 116: // TAB
|
|
return "\x03\x1b\x5b\x5a";
|
|
case 117: // BACKSPACE
|
|
return "\x02\x1b\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x34\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x34\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x34\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x34\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x34\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x34\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x34\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x34\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x34\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x34\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x34\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x34\x7e";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x34\x7e";
|
|
} // end switch(key)
|
|
case 0x6:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x00";
|
|
case 30: // A
|
|
return "\x02\x1b\x01";
|
|
case 31: // B
|
|
return "\x02\x1b\x02";
|
|
case 32: // C
|
|
return "\x02\x1b\x03";
|
|
case 33: // D
|
|
return "\x02\x1b\x04";
|
|
case 34: // E
|
|
return "\x02\x1b\x05";
|
|
case 35: // F
|
|
return "\x02\x1b\x06";
|
|
case 36: // G
|
|
return "\x02\x1b\x07";
|
|
case 37: // H
|
|
return "\x02\x1b\x08";
|
|
case 38: // I
|
|
return "\x02\x1b\x09";
|
|
case 39: // J
|
|
return "\x02\x1b\x0a";
|
|
case 40: // K
|
|
return "\x02\x1b\x0b";
|
|
case 41: // L
|
|
return "\x02\x1b\x0c";
|
|
case 42: // M
|
|
return "\x02\x1b\x0d";
|
|
case 43: // N
|
|
return "\x02\x1b\x0e";
|
|
case 44: // O
|
|
return "\x02\x1b\x0f";
|
|
case 45: // P
|
|
return "\x02\x1b\x10";
|
|
case 46: // Q
|
|
return "\x02\x1b\x11";
|
|
case 47: // R
|
|
return "\x02\x1b\x12";
|
|
case 48: // S
|
|
return "\x02\x1b\x13";
|
|
case 49: // T
|
|
return "\x02\x1b\x14";
|
|
case 50: // U
|
|
return "\x02\x1b\x15";
|
|
case 51: // V
|
|
return "\x02\x1b\x16";
|
|
case 52: // W
|
|
return "\x02\x1b\x17";
|
|
case 53: // X
|
|
return "\x02\x1b\x18";
|
|
case 54: // Y
|
|
return "\x02\x1b\x19";
|
|
case 55: // Z
|
|
return "\x02\x1b\x1a";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x37\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x37\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x37\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x37\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x37\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x37\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x37\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x37\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x37\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x37\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x37\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x37\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x37\x7e";
|
|
} // end switch(key)
|
|
case 0x7:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x38\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x38\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x38\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x38\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x38\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x38\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x38\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x38\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x38\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x38\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x38\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x38\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x38\x7e";
|
|
} // end switch(key)
|
|
case 0x8:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0x9:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xa:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xb:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xc:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xd:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xe:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xf:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
} // end switch(mods)
|
|
break;
|
|
|
|
case 2: // REPEAT
|
|
switch (mods & 0xf) {
|
|
case 0x0:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0x1:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x03\x1b\x5b\x5a";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x32\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x32\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x32\x7e";
|
|
} // end switch(key)
|
|
case 0x2:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x01\x00";
|
|
case 6: // APOSTROPHE
|
|
return "\x01\x27";
|
|
case 10: // COMMA
|
|
return "\x01\x2c";
|
|
case 11: // MINUS
|
|
return "\x01\x2d";
|
|
case 12: // PERIOD
|
|
return "\x01\x2e";
|
|
case 13: // SLASH
|
|
return "\x01\x1f";
|
|
case 14: // 0
|
|
return "\x01\x30";
|
|
case 15: // 1
|
|
return "\x01\x31";
|
|
case 16: // 2
|
|
return "\x01\x00";
|
|
case 17: // 3
|
|
return "\x01\x1b";
|
|
case 18: // 4
|
|
return "\x01\x1c";
|
|
case 19: // 5
|
|
return "\x01\x1d";
|
|
case 20: // 6
|
|
return "\x01\x1e";
|
|
case 21: // 7
|
|
return "\x01\x1f";
|
|
case 22: // 8
|
|
return "\x01\x7f";
|
|
case 23: // 9
|
|
return "\x01\x39";
|
|
case 25: // SEMICOLON
|
|
return "\x01\x3b";
|
|
case 27: // EQUAL
|
|
return "\x01\x3d";
|
|
case 30: // A
|
|
return "\x01\x01";
|
|
case 31: // B
|
|
return "\x01\x02";
|
|
case 32: // C
|
|
return "\x01\x03";
|
|
case 33: // D
|
|
return "\x01\x04";
|
|
case 34: // E
|
|
return "\x01\x05";
|
|
case 35: // F
|
|
return "\x01\x06";
|
|
case 36: // G
|
|
return "\x01\x07";
|
|
case 37: // H
|
|
return "\x01\x08";
|
|
case 38: // I
|
|
return "\x01\x09";
|
|
case 39: // J
|
|
return "\x01\x0a";
|
|
case 40: // K
|
|
return "\x01\x0b";
|
|
case 41: // L
|
|
return "\x01\x0c";
|
|
case 42: // M
|
|
return "\x01\x0d";
|
|
case 43: // N
|
|
return "\x01\x0e";
|
|
case 44: // O
|
|
return "\x01\x0f";
|
|
case 45: // P
|
|
return "\x01\x10";
|
|
case 46: // Q
|
|
return "\x01\x11";
|
|
case 47: // R
|
|
return "\x01\x12";
|
|
case 48: // S
|
|
return "\x01\x13";
|
|
case 49: // T
|
|
return "\x01\x14";
|
|
case 50: // U
|
|
return "\x01\x15";
|
|
case 51: // V
|
|
return "\x01\x16";
|
|
case 52: // W
|
|
return "\x01\x17";
|
|
case 53: // X
|
|
return "\x01\x18";
|
|
case 54: // Y
|
|
return "\x01\x19";
|
|
case 55: // Z
|
|
return "\x01\x1a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x01\x1b";
|
|
case 57: // BACKSLASH
|
|
return "\x01\x1c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x01\x1d";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x01\x1e";
|
|
case 60: // UNDERSCORE
|
|
return "\x01\x00";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x01\x00";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x08";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x35\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x35\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x35\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x35\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x35\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x35\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x35\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x35\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x35\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x35\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x35\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x35\x7e";
|
|
} // end switch(key)
|
|
case 0x3:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 11: // MINUS
|
|
return "\x01\x1f";
|
|
case 13: // SLASH
|
|
return "\x01\x7f";
|
|
case 16: // 2
|
|
return "\x01\x00";
|
|
case 20: // 6
|
|
return "\x01\x1e";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x36\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x36\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x36\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x36\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x36\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x36\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x36\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x36\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x36\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x36\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x36\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x36\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x36\x7e";
|
|
} // end switch(key)
|
|
case 0x4:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x20";
|
|
case 6: // APOSTROPHE
|
|
return "\x02\x1b\x27";
|
|
case 10: // COMMA
|
|
return "\x02\x1b\x2c";
|
|
case 11: // MINUS
|
|
return "\x02\x1b\x2d";
|
|
case 12: // PERIOD
|
|
return "\x02\x1b\x2e";
|
|
case 13: // SLASH
|
|
return "\x02\x1b\x2f";
|
|
case 14: // 0
|
|
return "\x02\x1b\x30";
|
|
case 15: // 1
|
|
return "\x02\x1b\x31";
|
|
case 16: // 2
|
|
return "\x02\x1b\x32";
|
|
case 17: // 3
|
|
return "\x02\x1b\x33";
|
|
case 18: // 4
|
|
return "\x02\x1b\x34";
|
|
case 19: // 5
|
|
return "\x02\x1b\x35";
|
|
case 20: // 6
|
|
return "\x02\x1b\x36";
|
|
case 21: // 7
|
|
return "\x02\x1b\x37";
|
|
case 22: // 8
|
|
return "\x02\x1b\x38";
|
|
case 23: // 9
|
|
return "\x02\x1b\x39";
|
|
case 25: // SEMICOLON
|
|
return "\x02\x1b\x3b";
|
|
case 27: // EQUAL
|
|
return "\x02\x1b\x3d";
|
|
case 30: // A
|
|
return "\x02\x1b\x61";
|
|
case 31: // B
|
|
return "\x02\x1b\x62";
|
|
case 32: // C
|
|
return "\x02\x1b\x63";
|
|
case 33: // D
|
|
return "\x02\x1b\x64";
|
|
case 34: // E
|
|
return "\x02\x1b\x65";
|
|
case 35: // F
|
|
return "\x02\x1b\x66";
|
|
case 36: // G
|
|
return "\x02\x1b\x67";
|
|
case 37: // H
|
|
return "\x02\x1b\x68";
|
|
case 38: // I
|
|
return "\x02\x1b\x69";
|
|
case 39: // J
|
|
return "\x02\x1b\x6a";
|
|
case 40: // K
|
|
return "\x02\x1b\x6b";
|
|
case 41: // L
|
|
return "\x02\x1b\x6c";
|
|
case 42: // M
|
|
return "\x02\x1b\x6d";
|
|
case 43: // N
|
|
return "\x02\x1b\x6e";
|
|
case 44: // O
|
|
return "\x02\x1b\x6f";
|
|
case 45: // P
|
|
return "\x02\x1b\x70";
|
|
case 46: // Q
|
|
return "\x02\x1b\x71";
|
|
case 47: // R
|
|
return "\x02\x1b\x72";
|
|
case 48: // S
|
|
return "\x02\x1b\x73";
|
|
case 49: // T
|
|
return "\x02\x1b\x74";
|
|
case 50: // U
|
|
return "\x02\x1b\x75";
|
|
case 51: // V
|
|
return "\x02\x1b\x76";
|
|
case 52: // W
|
|
return "\x02\x1b\x77";
|
|
case 53: // X
|
|
return "\x02\x1b\x78";
|
|
case 54: // Y
|
|
return "\x02\x1b\x79";
|
|
case 55: // Z
|
|
return "\x02\x1b\x7a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x02\x1b\x5b";
|
|
case 57: // BACKSLASH
|
|
return "\x02\x1b\x5c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x02\x1b\x5d";
|
|
case 60: // UNDERSCORE
|
|
return "\x02\x1b\x5f";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x02\x1b\x60";
|
|
case 114: // ESCAPE
|
|
return "\x02\x1b\x1b";
|
|
case 115: // ENTER
|
|
return "\x02\x1b\x0d";
|
|
case 116: // TAB
|
|
return "\x02\x1b\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x02\x1b\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x33\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x33\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x33\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x33\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x33\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x33\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x33\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x33\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x33\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x33\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x33\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x33\x7e";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x33\x7e";
|
|
} // end switch(key)
|
|
case 0x5:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x20";
|
|
case 6: // APOSTROPHE
|
|
return "\x02\x1b\x22";
|
|
case 10: // COMMA
|
|
return "\x02\x1b\x3c";
|
|
case 11: // MINUS
|
|
return "\x02\x1b\x5f";
|
|
case 12: // PERIOD
|
|
return "\x02\x1b\x3e";
|
|
case 13: // SLASH
|
|
return "\x02\x1b\x3f";
|
|
case 14: // 0
|
|
return "\x02\x1b\x29";
|
|
case 15: // 1
|
|
return "\x02\x1b\x21";
|
|
case 16: // 2
|
|
return "\x02\x1b\x40";
|
|
case 17: // 3
|
|
return "\x02\x1b\x23";
|
|
case 18: // 4
|
|
return "\x02\x1b\x24";
|
|
case 19: // 5
|
|
return "\x02\x1b\x25";
|
|
case 20: // 6
|
|
return "\x02\x1b\x5e";
|
|
case 21: // 7
|
|
return "\x02\x1b\x26";
|
|
case 22: // 8
|
|
return "\x02\x1b\x2a";
|
|
case 23: // 9
|
|
return "\x02\x1b\x28";
|
|
case 25: // SEMICOLON
|
|
return "\x02\x1b\x3a";
|
|
case 27: // EQUAL
|
|
return "\x02\x1b\x2b";
|
|
case 30: // A
|
|
return "\x02\x1b\x41";
|
|
case 31: // B
|
|
return "\x02\x1b\x42";
|
|
case 32: // C
|
|
return "\x02\x1b\x43";
|
|
case 33: // D
|
|
return "\x02\x1b\x44";
|
|
case 34: // E
|
|
return "\x02\x1b\x45";
|
|
case 35: // F
|
|
return "\x02\x1b\x46";
|
|
case 36: // G
|
|
return "\x02\x1b\x47";
|
|
case 37: // H
|
|
return "\x02\x1b\x48";
|
|
case 38: // I
|
|
return "\x02\x1b\x49";
|
|
case 39: // J
|
|
return "\x02\x1b\x4a";
|
|
case 40: // K
|
|
return "\x02\x1b\x4b";
|
|
case 41: // L
|
|
return "\x02\x1b\x4c";
|
|
case 42: // M
|
|
return "\x02\x1b\x4d";
|
|
case 43: // N
|
|
return "\x02\x1b\x4e";
|
|
case 44: // O
|
|
return "\x02\x1b\x4f";
|
|
case 45: // P
|
|
return "\x02\x1b\x50";
|
|
case 46: // Q
|
|
return "\x02\x1b\x51";
|
|
case 47: // R
|
|
return "\x02\x1b\x52";
|
|
case 48: // S
|
|
return "\x02\x1b\x53";
|
|
case 49: // T
|
|
return "\x02\x1b\x54";
|
|
case 50: // U
|
|
return "\x02\x1b\x55";
|
|
case 51: // V
|
|
return "\x02\x1b\x56";
|
|
case 52: // W
|
|
return "\x02\x1b\x57";
|
|
case 53: // X
|
|
return "\x02\x1b\x58";
|
|
case 54: // Y
|
|
return "\x02\x1b\x59";
|
|
case 55: // Z
|
|
return "\x02\x1b\x5a";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x02\x1b\x7b";
|
|
case 57: // BACKSLASH
|
|
return "\x02\x1b\x7c";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x02\x1b\x7d";
|
|
case 60: // UNDERSCORE
|
|
return "\x02\x1b\x5f";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x02\x1b\x7e";
|
|
case 114: // ESCAPE
|
|
return "\x02\x1b\x1b";
|
|
case 115: // ENTER
|
|
return "\x02\x1b\x0d";
|
|
case 116: // TAB
|
|
return "\x03\x1b\x5b\x5a";
|
|
case 117: // BACKSPACE
|
|
return "\x02\x1b\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x34\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x34\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x34\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x34\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x34\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x34\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x34\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x34\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x34\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x34\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x34\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x34\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x34\x7e";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x34\x7e";
|
|
} // end switch(key)
|
|
case 0x6:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x02\x1b\x00";
|
|
case 30: // A
|
|
return "\x02\x1b\x01";
|
|
case 31: // B
|
|
return "\x02\x1b\x02";
|
|
case 32: // C
|
|
return "\x02\x1b\x03";
|
|
case 33: // D
|
|
return "\x02\x1b\x04";
|
|
case 34: // E
|
|
return "\x02\x1b\x05";
|
|
case 35: // F
|
|
return "\x02\x1b\x06";
|
|
case 36: // G
|
|
return "\x02\x1b\x07";
|
|
case 37: // H
|
|
return "\x02\x1b\x08";
|
|
case 38: // I
|
|
return "\x02\x1b\x09";
|
|
case 39: // J
|
|
return "\x02\x1b\x0a";
|
|
case 40: // K
|
|
return "\x02\x1b\x0b";
|
|
case 41: // L
|
|
return "\x02\x1b\x0c";
|
|
case 42: // M
|
|
return "\x02\x1b\x0d";
|
|
case 43: // N
|
|
return "\x02\x1b\x0e";
|
|
case 44: // O
|
|
return "\x02\x1b\x0f";
|
|
case 45: // P
|
|
return "\x02\x1b\x10";
|
|
case 46: // Q
|
|
return "\x02\x1b\x11";
|
|
case 47: // R
|
|
return "\x02\x1b\x12";
|
|
case 48: // S
|
|
return "\x02\x1b\x13";
|
|
case 49: // T
|
|
return "\x02\x1b\x14";
|
|
case 50: // U
|
|
return "\x02\x1b\x15";
|
|
case 51: // V
|
|
return "\x02\x1b\x16";
|
|
case 52: // W
|
|
return "\x02\x1b\x17";
|
|
case 53: // X
|
|
return "\x02\x1b\x18";
|
|
case 54: // Y
|
|
return "\x02\x1b\x19";
|
|
case 55: // Z
|
|
return "\x02\x1b\x1a";
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x37\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x37\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x37\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x37\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x37\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x37\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x37\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x37\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x37\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x37\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x37\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x37\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x37\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x37\x7e";
|
|
} // end switch(key)
|
|
case 0x7:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x06\x1b\x5b\x32\x3b\x38\x7e";
|
|
case 119: // DELETE
|
|
return "\x06\x1b\x5b\x33\x3b\x38\x7e";
|
|
case 120: // RIGHT
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x43";
|
|
case 121: // LEFT
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x44";
|
|
case 122: // DOWN
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x42";
|
|
case 123: // UP
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x06\x1b\x5b\x35\x3b\x38\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x06\x1b\x5b\x36\x3b\x38\x7e";
|
|
case 126: // HOME
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x48";
|
|
case 127: // END
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x46";
|
|
case 133: // F1
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x50";
|
|
case 134: // F2
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x51";
|
|
case 135: // F3
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x52";
|
|
case 136: // F4
|
|
return "\x06\x1b\x5b\x31\x3b\x38\x53";
|
|
case 137: // F5
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x38\x7e";
|
|
case 138: // F6
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x38\x7e";
|
|
case 139: // F7
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x38\x7e";
|
|
case 140: // F8
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x38\x7e";
|
|
case 141: // F9
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x38\x7e";
|
|
case 142: // F10
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x38\x7e";
|
|
case 143: // F11
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x38\x7e";
|
|
case 144: // F12
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x38\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x07\x1b\x5b\x32\x39\x3b\x38\x7e";
|
|
} // end switch(key)
|
|
case 0x8:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0x9:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xa:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xb:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xc:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xd:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xe:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
case 0xf:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x01\x1b";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x01\x09";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x1b\x5b\x32\x7e";
|
|
case 119: // DELETE
|
|
return "\x04\x1b\x5b\x33\x7e";
|
|
case 120: // RIGHT
|
|
return "\x03\x1b\x4f\x43";
|
|
case 121: // LEFT
|
|
return "\x03\x1b\x4f\x44";
|
|
case 122: // DOWN
|
|
return "\x03\x1b\x4f\x42";
|
|
case 123: // UP
|
|
return "\x03\x1b\x4f\x41";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x1b\x5b\x35\x7e";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x1b\x5b\x36\x7e";
|
|
case 126: // HOME
|
|
return "\x03\x1b\x4f\x48";
|
|
case 127: // END
|
|
return "\x03\x1b\x4f\x46";
|
|
case 133: // F1
|
|
return "\x03\x1b\x4f\x50";
|
|
case 134: // F2
|
|
return "\x03\x1b\x4f\x51";
|
|
case 135: // F3
|
|
return "\x03\x1b\x4f\x52";
|
|
case 136: // F4
|
|
return "\x03\x1b\x4f\x53";
|
|
case 137: // F5
|
|
return "\x05\x1b\x5b\x31\x35\x7e";
|
|
case 138: // F6
|
|
return "\x05\x1b\x5b\x31\x37\x7e";
|
|
case 139: // F7
|
|
return "\x05\x1b\x5b\x31\x38\x7e";
|
|
case 140: // F8
|
|
return "\x05\x1b\x5b\x31\x39\x7e";
|
|
case 141: // F9
|
|
return "\x05\x1b\x5b\x32\x30\x7e";
|
|
case 142: // F10
|
|
return "\x05\x1b\x5b\x32\x31\x7e";
|
|
case 143: // F11
|
|
return "\x05\x1b\x5b\x32\x33\x7e";
|
|
case 144: // F12
|
|
return "\x05\x1b\x5b\x32\x34\x7e";
|
|
case 145: // F13
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x50";
|
|
case 146: // F14
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x51";
|
|
case 147: // F15
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x52";
|
|
case 148: // F16
|
|
return "\x06\x1b\x5b\x31\x3b\x32\x53";
|
|
case 149: // F17
|
|
return "\x07\x1b\x5b\x31\x35\x3b\x32\x7e";
|
|
case 150: // F18
|
|
return "\x07\x1b\x5b\x31\x37\x3b\x32\x7e";
|
|
case 151: // F19
|
|
return "\x07\x1b\x5b\x31\x38\x3b\x32\x7e";
|
|
case 152: // F20
|
|
return "\x07\x1b\x5b\x31\x39\x3b\x32\x7e";
|
|
case 153: // F21
|
|
return "\x07\x1b\x5b\x32\x30\x3b\x32\x7e";
|
|
case 154: // F22
|
|
return "\x07\x1b\x5b\x32\x31\x3b\x32\x7e";
|
|
case 155: // F23
|
|
return "\x07\x1b\x5b\x32\x33\x3b\x32\x7e";
|
|
case 156: // F24
|
|
return "\x07\x1b\x5b\x32\x34\x3b\x32\x7e";
|
|
case 157: // F25
|
|
return "\x06\x1b\x5b\x31\x3b\x35\x50";
|
|
case 173: // KP_ENTER
|
|
return "\x01\x0d";
|
|
case 183: // MENU
|
|
return "\x05\x1b\x5b\x32\x39\x7e";
|
|
} // end switch(key)
|
|
} // end switch(mods)
|
|
break;
|
|
|
|
} // end switch(action) in mode APPLICATION
|
|
break;
|
|
|
|
|
|
case EXTENDED:
|
|
switch(action & 3) { case 3: return NULL;
|
|
case 0: // RELEASE
|
|
switch (mods & 0xf) {
|
|
case 0x0:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x41\x79";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x41\x30";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x41\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x41\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x41\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x41\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x41\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x41\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x41\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x41\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x41\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x41\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x41\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x41\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x41\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x41\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x41\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x41\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x41\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x41\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x41\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x41\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x41\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x41\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x41\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x41\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x41\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x41\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x41\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x41\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x41\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x41\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x41\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x41\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x41\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x41\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x41\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x41\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x41\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x41\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x41\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x41\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x41\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x41\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x41\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x41\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x41\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x41\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x41\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x41\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x41\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x41\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x41\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x41\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x41\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x41\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x41\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x41\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x41\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x41\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x41\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x41\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x41\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x41\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x41\x42\x68";
|
|
} // end switch(key)
|
|
case 0x1:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x42\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x42\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x42\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x42\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x42\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x42\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x42\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x42\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x42\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x42\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x42\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x42\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x42\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x42\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x42\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x42\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x42\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x42\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x42\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x42\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x42\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x42\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x42\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x42\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x42\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x42\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x42\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x42\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x42\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x42\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x42\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x42\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x42\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x42\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x42\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x42\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x42\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x42\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x42\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x42\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x42\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x42\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x42\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x42\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x42\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x42\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x42\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x42\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x42\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x42\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x42\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x42\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x42\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x42\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x42\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x42\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x42\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x42\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x42\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x42\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x42\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x42\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x42\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x42\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x42\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x42\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x42\x42\x68";
|
|
} // end switch(key)
|
|
case 0x2:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x45\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x45\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x45\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x45\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x45\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x45\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x45\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x45\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x45\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x45\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x45\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x45\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x45\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x45\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x45\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x45\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x45\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x45\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x45\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x45\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x45\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x45\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x45\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x45\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x45\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x45\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x45\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x45\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x45\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x45\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x45\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x45\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x45\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x45\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x45\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x45\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x45\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x45\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x45\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x45\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x45\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x45\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x45\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x45\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x45\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x45\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x45\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x45\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x45\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x45\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x45\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x45\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x45\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x45\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x45\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x45\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x45\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x45\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x45\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x45\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x45\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x45\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x45\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x45\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x45\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x45\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x45\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x45\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x45\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x45\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x45\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x45\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x45\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x45\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x45\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x45\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x45\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x45\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x45\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x45\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x45\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x45\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x45\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x45\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x45\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x45\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x45\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x45\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x45\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x45\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x45\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x45\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x45\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x45\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x45\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x45\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x45\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x45\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x45\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x45\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x45\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x45\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x45\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x45\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x45\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x45\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x45\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x45\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x45\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x45\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x45\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x45\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x45\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x45\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x45\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x45\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x45\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x45\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x45\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x45\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x45\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x45\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x45\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x45\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x45\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x45\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x45\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x45\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x45\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x45\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x45\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x45\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x45\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x45\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x45\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x45\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x45\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x45\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x45\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x45\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x45\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x45\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x45\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x45\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x45\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x45\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x45\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x45\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x45\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x45\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x45\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x45\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x45\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x45\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x45\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x45\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x45\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x45\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x45\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x45\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x45\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x45\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x45\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x45\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x45\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x45\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x45\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x45\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x45\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x45\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x45\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x45\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x45\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x45\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x45\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x45\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x45\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x45\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x45\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x45\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x45\x42\x68";
|
|
} // end switch(key)
|
|
case 0x3:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x46\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x46\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x46\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x46\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x46\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x46\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x46\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x46\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x46\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x46\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x46\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x46\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x46\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x46\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x46\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x46\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x46\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x46\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x46\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x46\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x46\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x46\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x46\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x46\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x46\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x46\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x46\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x46\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x46\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x46\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x46\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x46\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x46\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x46\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x46\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x46\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x46\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x46\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x46\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x46\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x46\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x46\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x46\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x46\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x46\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x46\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x46\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x46\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x46\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x46\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x46\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x46\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x46\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x46\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x46\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x46\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x46\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x46\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x46\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x46\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x46\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x46\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x46\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x46\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x46\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x46\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x46\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x46\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x46\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x46\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x46\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x46\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x46\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x46\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x46\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x46\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x46\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x46\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x46\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x46\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x46\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x46\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x46\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x46\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x46\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x46\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x46\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x46\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x46\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x46\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x46\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x46\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x46\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x46\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x46\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x46\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x46\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x46\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x46\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x46\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x46\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x46\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x46\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x46\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x46\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x46\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x46\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x46\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x46\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x46\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x46\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x46\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x46\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x46\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x46\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x46\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x46\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x46\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x46\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x46\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x46\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x46\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x46\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x46\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x46\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x46\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x46\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x46\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x46\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x46\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x46\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x46\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x46\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x46\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x46\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x46\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x46\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x46\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x46\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x46\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x46\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x46\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x46\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x46\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x46\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x46\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x46\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x46\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x46\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x46\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x46\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x46\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x46\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x46\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x46\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x46\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x46\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x46\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x46\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x46\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x46\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x46\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x46\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x46\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x46\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x46\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x46\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x46\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x46\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x46\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x46\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x46\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x46\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x46\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x46\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x46\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x46\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x46\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x46\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x46\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x46\x42\x68";
|
|
} // end switch(key)
|
|
case 0x4:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x43\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x43\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x43\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x43\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x43\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x43\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x43\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x43\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x43\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x43\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x43\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x43\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x43\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x43\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x43\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x43\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x43\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x43\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x43\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x43\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x43\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x43\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x43\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x43\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x43\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x43\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x43\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x43\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x43\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x43\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x43\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x43\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x43\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x43\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x43\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x43\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x43\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x43\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x43\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x43\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x43\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x43\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x43\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x43\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x43\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x43\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x43\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x43\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x43\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x43\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x43\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x43\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x43\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x43\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x43\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x43\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x43\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x43\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x43\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x43\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x43\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x43\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x43\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x43\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x43\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x43\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x43\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x43\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x43\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x43\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x43\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x43\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x43\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x43\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x43\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x43\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x43\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x43\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x43\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x43\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x43\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x43\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x43\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x43\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x43\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x43\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x43\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x43\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x43\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x43\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x43\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x43\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x43\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x43\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x43\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x43\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x43\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x43\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x43\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x43\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x43\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x43\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x43\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x43\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x43\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x43\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x43\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x43\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x43\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x43\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x43\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x43\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x43\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x43\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x43\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x43\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x43\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x43\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x43\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x43\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x43\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x43\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x43\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x43\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x43\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x43\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x43\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x43\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x43\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x43\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x43\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x43\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x43\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x43\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x43\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x43\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x43\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x43\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x43\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x43\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x43\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x43\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x43\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x43\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x43\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x43\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x43\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x43\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x43\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x43\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x43\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x43\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x43\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x43\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x43\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x43\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x43\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x43\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x43\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x43\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x43\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x43\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x43\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x43\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x43\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x43\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x43\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x43\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x43\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x43\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x43\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x43\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x43\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x43\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x43\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x43\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x43\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x43\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x43\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x43\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x43\x42\x68";
|
|
} // end switch(key)
|
|
case 0x5:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x44\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x44\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x44\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x44\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x44\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x44\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x44\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x44\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x44\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x44\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x44\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x44\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x44\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x44\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x44\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x44\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x44\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x44\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x44\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x44\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x44\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x44\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x44\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x44\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x44\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x44\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x44\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x44\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x44\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x44\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x44\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x44\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x44\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x44\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x44\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x44\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x44\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x44\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x44\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x44\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x44\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x44\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x44\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x44\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x44\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x44\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x44\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x44\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x44\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x44\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x44\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x44\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x44\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x44\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x44\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x44\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x44\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x44\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x44\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x44\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x44\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x44\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x44\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x44\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x44\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x44\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x44\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x44\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x44\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x44\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x44\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x44\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x44\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x44\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x44\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x44\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x44\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x44\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x44\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x44\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x44\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x44\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x44\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x44\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x44\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x44\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x44\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x44\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x44\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x44\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x44\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x44\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x44\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x44\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x44\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x44\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x44\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x44\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x44\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x44\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x44\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x44\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x44\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x44\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x44\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x44\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x44\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x44\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x44\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x44\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x44\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x44\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x44\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x44\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x44\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x44\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x44\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x44\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x44\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x44\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x44\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x44\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x44\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x44\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x44\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x44\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x44\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x44\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x44\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x44\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x44\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x44\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x44\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x44\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x44\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x44\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x44\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x44\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x44\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x44\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x44\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x44\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x44\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x44\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x44\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x44\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x44\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x44\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x44\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x44\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x44\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x44\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x44\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x44\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x44\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x44\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x44\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x44\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x44\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x44\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x44\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x44\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x44\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x44\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x44\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x44\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x44\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x44\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x44\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x44\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x44\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x44\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x44\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x44\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x44\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x44\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x44\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x44\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x44\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x44\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x44\x42\x68";
|
|
} // end switch(key)
|
|
case 0x6:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x47\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x47\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x47\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x47\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x47\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x47\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x47\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x47\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x47\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x47\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x47\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x47\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x47\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x47\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x47\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x47\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x47\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x47\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x47\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x47\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x47\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x47\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x47\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x47\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x47\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x47\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x47\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x47\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x47\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x47\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x47\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x47\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x47\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x47\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x47\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x47\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x47\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x47\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x47\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x47\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x47\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x47\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x47\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x47\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x47\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x47\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x47\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x47\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x47\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x47\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x47\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x47\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x47\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x47\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x47\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x47\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x47\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x47\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x47\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x47\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x47\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x47\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x47\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x47\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x47\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x47\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x47\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x47\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x47\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x47\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x47\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x47\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x47\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x47\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x47\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x47\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x47\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x47\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x47\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x47\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x47\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x47\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x47\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x47\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x47\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x47\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x47\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x47\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x47\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x47\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x47\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x47\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x47\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x47\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x47\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x47\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x47\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x47\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x47\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x47\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x47\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x47\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x47\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x47\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x47\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x47\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x47\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x47\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x47\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x47\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x47\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x47\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x47\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x47\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x47\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x47\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x47\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x47\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x47\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x47\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x47\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x47\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x47\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x47\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x47\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x47\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x47\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x47\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x47\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x47\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x47\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x47\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x47\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x47\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x47\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x47\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x47\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x47\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x47\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x47\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x47\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x47\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x47\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x47\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x47\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x47\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x47\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x47\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x47\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x47\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x47\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x47\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x47\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x47\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x47\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x47\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x47\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x47\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x47\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x47\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x47\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x47\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x47\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x47\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x47\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x47\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x47\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x47\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x47\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x47\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x47\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x47\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x47\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x47\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x47\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x47\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x47\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x47\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x47\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x47\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x47\x42\x68";
|
|
} // end switch(key)
|
|
case 0x7:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x48\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x48\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x48\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x48\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x48\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x48\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x48\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x48\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x48\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x48\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x48\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x48\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x48\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x48\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x48\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x48\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x48\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x48\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x48\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x48\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x48\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x48\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x48\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x48\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x48\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x48\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x48\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x48\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x48\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x48\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x48\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x48\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x48\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x48\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x48\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x48\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x48\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x48\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x48\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x48\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x48\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x48\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x48\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x48\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x48\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x48\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x48\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x48\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x48\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x48\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x48\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x48\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x48\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x48\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x48\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x48\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x48\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x48\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x48\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x48\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x48\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x48\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x48\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x48\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x48\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x48\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x48\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x48\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x48\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x48\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x48\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x48\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x48\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x48\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x48\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x48\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x48\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x48\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x48\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x48\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x48\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x48\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x48\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x48\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x48\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x48\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x48\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x48\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x48\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x48\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x48\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x48\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x48\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x48\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x48\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x48\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x48\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x48\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x48\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x48\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x48\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x48\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x48\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x48\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x48\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x48\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x48\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x48\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x48\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x48\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x48\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x48\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x48\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x48\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x48\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x48\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x48\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x48\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x48\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x48\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x48\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x48\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x48\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x48\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x48\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x48\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x48\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x48\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x48\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x48\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x48\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x48\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x48\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x48\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x48\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x48\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x48\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x48\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x48\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x48\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x48\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x48\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x48\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x48\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x48\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x48\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x48\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x48\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x48\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x48\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x48\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x48\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x48\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x48\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x48\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x48\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x48\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x48\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x48\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x48\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x48\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x48\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x48\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x48\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x48\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x48\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x48\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x48\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x48\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x48\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x48\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x48\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x48\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x48\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x48\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x48\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x48\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x48\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x48\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x48\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x48\x42\x68";
|
|
} // end switch(key)
|
|
case 0x8:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x49\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x49\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x49\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x49\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x49\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x49\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x49\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x49\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x49\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x49\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x49\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x49\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x49\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x49\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x49\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x49\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x49\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x49\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x49\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x49\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x49\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x49\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x49\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x49\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x49\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x49\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x49\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x49\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x49\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x49\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x49\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x49\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x49\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x49\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x49\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x49\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x49\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x49\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x49\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x49\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x49\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x49\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x49\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x49\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x49\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x49\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x49\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x49\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x49\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x49\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x49\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x49\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x49\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x49\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x49\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x49\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x49\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x49\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x49\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x49\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x49\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x49\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x49\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x49\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x49\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x49\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x49\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x49\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x49\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x49\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x49\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x49\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x49\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x49\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x49\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x49\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x49\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x49\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x49\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x49\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x49\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x49\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x49\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x49\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x49\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x49\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x49\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x49\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x49\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x49\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x49\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x49\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x49\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x49\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x49\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x49\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x49\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x49\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x49\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x49\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x49\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x49\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x49\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x49\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x49\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x49\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x49\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x49\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x49\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x49\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x49\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x49\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x49\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x49\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x49\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x49\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x49\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x49\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x49\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x49\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x49\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x49\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x49\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x49\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x49\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x49\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x49\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x49\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x49\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x49\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x49\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x49\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x49\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x49\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x49\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x49\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x49\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x49\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x49\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x49\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x49\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x49\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x49\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x49\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x49\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x49\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x49\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x49\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x49\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x49\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x49\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x49\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x49\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x49\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x49\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x49\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x49\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x49\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x49\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x49\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x49\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x49\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x49\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x49\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x49\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x49\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x49\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x49\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x49\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x49\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x49\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x49\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x49\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x49\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x49\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x49\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x49\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x49\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x49\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x49\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x49\x42\x68";
|
|
} // end switch(key)
|
|
case 0x9:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x4a\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x4a\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x4a\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x4a\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x4a\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x4a\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x4a\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x4a\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x4a\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x4a\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x4a\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x4a\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x4a\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x4a\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x4a\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x4a\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x4a\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x4a\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x4a\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x4a\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x4a\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x4a\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x4a\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x4a\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x4a\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x4a\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x4a\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x4a\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x4a\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x4a\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x4a\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x4a\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x4a\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x4a\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x4a\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x4a\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x4a\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x4a\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x4a\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x4a\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x4a\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x4a\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x4a\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x4a\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x4a\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x4a\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x4a\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x4a\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x4a\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x4a\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x4a\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x4a\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x4a\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x4a\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x4a\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x4a\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x4a\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x4a\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x4a\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x4a\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x4a\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x4a\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x4a\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x4a\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x4a\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x4a\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x4a\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x4a\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x4a\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x4a\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x4a\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x4a\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x4a\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x4a\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x4a\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x4a\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x4a\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x4a\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x4a\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x4a\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x4a\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x4a\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x4a\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x4a\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x4a\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x4a\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x4a\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x4a\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x4a\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x4a\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x4a\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x4a\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x4a\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x4a\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x4a\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x4a\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x4a\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x4a\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x4a\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x4a\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x4a\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x4a\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x4a\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x4a\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x4a\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x4a\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x4a\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x4a\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x4a\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x4a\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x4a\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x4a\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x4a\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x4a\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x4a\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x4a\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x4a\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x4a\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x4a\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x4a\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x4a\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x4a\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x4a\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x4a\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x4a\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x4a\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x4a\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x4a\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x4a\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x4a\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x4a\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x4a\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x4a\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x4a\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x4a\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x4a\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x4a\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x4a\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x4a\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x4a\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x4a\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x4a\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x4a\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x4a\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x4a\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x4a\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x4a\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x4a\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x4a\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x4a\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x4a\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x4a\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x4a\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x4a\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x4a\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x4a\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x4a\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x4a\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x4a\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x4a\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x4a\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x4a\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x4a\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x4a\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x4a\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x4a\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x4a\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x4a\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x4a\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x4a\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x4a\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x4a\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x4a\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x4a\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x4a\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x4a\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x4a\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x4a\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x4a\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x4a\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x4a\x42\x68";
|
|
} // end switch(key)
|
|
case 0xa:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x4d\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x4d\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x4d\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x4d\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x4d\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x4d\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x4d\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x4d\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x4d\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x4d\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x4d\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x4d\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x4d\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x4d\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x4d\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x4d\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x4d\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x4d\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x4d\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x4d\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x4d\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x4d\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x4d\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x4d\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x4d\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x4d\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x4d\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x4d\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x4d\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x4d\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x4d\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x4d\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x4d\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x4d\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x4d\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x4d\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x4d\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x4d\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x4d\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x4d\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x4d\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x4d\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x4d\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x4d\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x4d\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x4d\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x4d\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x4d\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x4d\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x4d\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x4d\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x4d\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x4d\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x4d\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x4d\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x4d\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x4d\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x4d\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x4d\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x4d\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x4d\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x4d\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x4d\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x4d\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x4d\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x4d\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x4d\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x4d\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x4d\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x4d\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x4d\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x4d\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x4d\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x4d\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x4d\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x4d\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x4d\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x4d\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x4d\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x4d\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x4d\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x4d\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x4d\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x4d\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x4d\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x4d\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x4d\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x4d\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x4d\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x4d\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x4d\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x4d\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x4d\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x4d\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x4d\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x4d\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x4d\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x4d\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x4d\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x4d\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x4d\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x4d\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x4d\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x4d\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x4d\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x4d\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x4d\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x4d\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x4d\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x4d\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x4d\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x4d\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x4d\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x4d\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x4d\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x4d\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x4d\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x4d\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x4d\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x4d\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x4d\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x4d\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x4d\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x4d\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x4d\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x4d\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x4d\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x4d\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x4d\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x4d\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x4d\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x4d\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x4d\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x4d\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x4d\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x4d\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x4d\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x4d\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x4d\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x4d\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x4d\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x4d\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x4d\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x4d\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x4d\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x4d\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x4d\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x4d\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x4d\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x4d\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x4d\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x4d\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x4d\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x4d\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x4d\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x4d\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x4d\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x4d\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x4d\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x4d\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x4d\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x4d\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x4d\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x4d\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x4d\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x4d\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x4d\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x4d\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x4d\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x4d\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x4d\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x4d\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x4d\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x4d\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x4d\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x4d\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x4d\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x4d\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x4d\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x4d\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x4d\x42\x68";
|
|
} // end switch(key)
|
|
case 0xb:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x4e\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x4e\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x4e\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x4e\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x4e\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x4e\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x4e\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x4e\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x4e\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x4e\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x4e\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x4e\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x4e\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x4e\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x4e\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x4e\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x4e\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x4e\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x4e\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x4e\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x4e\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x4e\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x4e\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x4e\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x4e\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x4e\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x4e\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x4e\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x4e\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x4e\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x4e\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x4e\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x4e\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x4e\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x4e\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x4e\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x4e\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x4e\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x4e\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x4e\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x4e\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x4e\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x4e\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x4e\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x4e\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x4e\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x4e\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x4e\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x4e\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x4e\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x4e\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x4e\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x4e\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x4e\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x4e\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x4e\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x4e\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x4e\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x4e\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x4e\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x4e\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x4e\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x4e\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x4e\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x4e\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x4e\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x4e\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x4e\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x4e\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x4e\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x4e\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x4e\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x4e\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x4e\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x4e\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x4e\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x4e\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x4e\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x4e\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x4e\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x4e\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x4e\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x4e\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x4e\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x4e\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x4e\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x4e\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x4e\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x4e\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x4e\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x4e\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x4e\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x4e\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x4e\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x4e\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x4e\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x4e\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x4e\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x4e\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x4e\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x4e\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x4e\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x4e\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x4e\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x4e\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x4e\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x4e\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x4e\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x4e\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x4e\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x4e\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x4e\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x4e\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x4e\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x4e\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x4e\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x4e\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x4e\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x4e\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x4e\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x4e\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x4e\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x4e\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x4e\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x4e\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x4e\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x4e\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x4e\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x4e\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x4e\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x4e\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x4e\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x4e\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x4e\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x4e\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x4e\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x4e\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x4e\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x4e\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x4e\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x4e\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x4e\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x4e\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x4e\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x4e\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x4e\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x4e\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x4e\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x4e\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x4e\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x4e\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x4e\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x4e\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x4e\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x4e\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x4e\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x4e\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x4e\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x4e\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x4e\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x4e\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x4e\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x4e\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x4e\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x4e\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x4e\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x4e\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x4e\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x4e\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x4e\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x4e\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x4e\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x4e\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x4e\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x4e\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x4e\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x4e\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x4e\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x4e\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x4e\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x4e\x42\x68";
|
|
} // end switch(key)
|
|
case 0xc:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x4b\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x4b\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x4b\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x4b\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x4b\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x4b\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x4b\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x4b\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x4b\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x4b\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x4b\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x4b\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x4b\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x4b\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x4b\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x4b\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x4b\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x4b\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x4b\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x4b\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x4b\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x4b\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x4b\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x4b\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x4b\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x4b\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x4b\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x4b\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x4b\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x4b\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x4b\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x4b\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x4b\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x4b\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x4b\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x4b\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x4b\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x4b\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x4b\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x4b\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x4b\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x4b\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x4b\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x4b\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x4b\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x4b\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x4b\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x4b\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x4b\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x4b\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x4b\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x4b\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x4b\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x4b\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x4b\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x4b\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x4b\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x4b\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x4b\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x4b\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x4b\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x4b\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x4b\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x4b\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x4b\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x4b\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x4b\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x4b\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x4b\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x4b\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x4b\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x4b\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x4b\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x4b\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x4b\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x4b\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x4b\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x4b\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x4b\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x4b\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x4b\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x4b\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x4b\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x4b\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x4b\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x4b\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x4b\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x4b\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x4b\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x4b\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x4b\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x4b\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x4b\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x4b\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x4b\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x4b\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x4b\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x4b\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x4b\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x4b\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x4b\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x4b\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x4b\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x4b\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x4b\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x4b\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x4b\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x4b\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x4b\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x4b\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x4b\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x4b\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x4b\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x4b\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x4b\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x4b\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x4b\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x4b\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x4b\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x4b\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x4b\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x4b\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x4b\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x4b\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x4b\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x4b\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x4b\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x4b\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x4b\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x4b\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x4b\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x4b\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x4b\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x4b\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x4b\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x4b\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x4b\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x4b\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x4b\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x4b\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x4b\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x4b\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x4b\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x4b\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x4b\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x4b\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x4b\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x4b\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x4b\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x4b\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x4b\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x4b\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x4b\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x4b\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x4b\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x4b\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x4b\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x4b\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x4b\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x4b\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x4b\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x4b\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x4b\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x4b\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x4b\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x4b\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x4b\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x4b\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x4b\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x4b\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x4b\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x4b\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x4b\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x4b\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x4b\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x4b\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x4b\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x4b\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x4b\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x4b\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x4b\x42\x68";
|
|
} // end switch(key)
|
|
case 0xd:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x4c\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x4c\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x4c\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x4c\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x4c\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x4c\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x4c\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x4c\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x4c\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x4c\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x4c\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x4c\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x4c\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x4c\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x4c\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x4c\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x4c\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x4c\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x4c\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x4c\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x4c\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x4c\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x4c\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x4c\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x4c\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x4c\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x4c\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x4c\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x4c\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x4c\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x4c\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x4c\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x4c\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x4c\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x4c\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x4c\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x4c\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x4c\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x4c\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x4c\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x4c\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x4c\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x4c\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x4c\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x4c\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x4c\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x4c\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x4c\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x4c\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x4c\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x4c\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x4c\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x4c\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x4c\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x4c\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x4c\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x4c\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x4c\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x4c\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x4c\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x4c\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x4c\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x4c\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x4c\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x4c\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x4c\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x4c\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x4c\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x4c\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x4c\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x4c\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x4c\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x4c\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x4c\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x4c\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x4c\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x4c\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x4c\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x4c\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x4c\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x4c\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x4c\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x4c\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x4c\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x4c\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x4c\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x4c\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x4c\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x4c\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x4c\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x4c\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x4c\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x4c\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x4c\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x4c\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x4c\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x4c\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x4c\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x4c\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x4c\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x4c\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x4c\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x4c\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x4c\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x4c\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x4c\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x4c\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x4c\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x4c\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x4c\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x4c\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x4c\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x4c\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x4c\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x4c\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x4c\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x4c\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x4c\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x4c\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x4c\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x4c\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x4c\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x4c\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x4c\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x4c\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x4c\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x4c\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x4c\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x4c\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x4c\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x4c\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x4c\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x4c\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x4c\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x4c\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x4c\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x4c\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x4c\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x4c\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x4c\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x4c\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x4c\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x4c\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x4c\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x4c\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x4c\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x4c\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x4c\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x4c\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x4c\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x4c\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x4c\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x4c\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x4c\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x4c\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x4c\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x4c\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x4c\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x4c\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x4c\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x4c\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x4c\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x4c\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x4c\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x4c\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x4c\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x4c\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x4c\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x4c\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x4c\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x4c\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x4c\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x4c\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x4c\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x4c\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x4c\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x4c\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x4c\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x4c\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x4c\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x4c\x42\x68";
|
|
} // end switch(key)
|
|
case 0xe:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x4f\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x4f\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x4f\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x4f\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x4f\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x4f\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x4f\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x4f\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x4f\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x4f\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x4f\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x4f\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x4f\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x4f\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x4f\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x4f\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x4f\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x4f\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x4f\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x4f\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x4f\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x4f\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x4f\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x4f\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x4f\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x4f\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x4f\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x4f\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x4f\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x4f\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x4f\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x4f\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x4f\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x4f\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x4f\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x4f\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x4f\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x4f\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x4f\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x4f\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x4f\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x4f\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x4f\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x4f\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x4f\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x4f\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x4f\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x4f\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x4f\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x4f\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x4f\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x4f\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x4f\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x4f\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x4f\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x4f\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x4f\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x4f\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x4f\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x4f\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x4f\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x4f\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x4f\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x4f\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x4f\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x4f\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x4f\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x4f\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x4f\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x4f\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x4f\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x4f\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x4f\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x4f\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x4f\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x4f\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x4f\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x4f\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x4f\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x4f\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x4f\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x4f\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x4f\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x4f\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x4f\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x4f\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x4f\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x4f\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x4f\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x4f\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x4f\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x4f\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x4f\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x4f\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x4f\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x4f\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x4f\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x4f\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x4f\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x4f\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x4f\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x4f\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x4f\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x4f\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x4f\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x4f\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x4f\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x4f\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x4f\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x4f\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x4f\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x4f\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x4f\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x4f\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x4f\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x4f\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x4f\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x4f\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x4f\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x4f\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x4f\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x4f\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x4f\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x4f\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x4f\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x4f\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x4f\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x4f\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x4f\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x4f\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x4f\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x4f\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x4f\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x4f\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x4f\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x4f\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x4f\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x4f\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x4f\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x4f\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x4f\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x4f\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x4f\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x4f\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x4f\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x4f\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x4f\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x4f\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x4f\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x4f\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x4f\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x4f\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x4f\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x4f\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x4f\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x4f\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x4f\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x4f\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x4f\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x4f\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x4f\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x4f\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x4f\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x4f\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x4f\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x4f\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x4f\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x4f\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x4f\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x4f\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x4f\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x4f\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x4f\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x4f\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x4f\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x4f\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x4f\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x4f\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x4f\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x4f\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x4f\x42\x68";
|
|
} // end switch(key)
|
|
case 0xf:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x72\x50\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x72\x50\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x72\x50\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x72\x50\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x72\x50\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x72\x50\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x72\x50\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x72\x50\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x72\x50\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x72\x50\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x72\x50\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x72\x50\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x72\x50\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x72\x50\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x72\x50\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x72\x50\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x72\x50\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x72\x50\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x72\x50\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x72\x50\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x72\x50\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x72\x50\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x72\x50\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x72\x50\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x72\x50\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x72\x50\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x72\x50\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x72\x50\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x72\x50\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x72\x50\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x72\x50\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x72\x50\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x72\x50\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x72\x50\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x72\x50\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x72\x50\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x72\x50\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x72\x50\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x72\x50\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x72\x50\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x72\x50\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x72\x50\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x72\x50\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x72\x50\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x72\x50\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x72\x50\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x72\x50\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x72\x50\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x72\x50\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x72\x50\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x72\x50\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x72\x50\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x72\x50\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x72\x50\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x72\x50\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x72\x50\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x72\x50\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x72\x50\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x72\x50\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x72\x50\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x72\x50\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x72\x50\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x72\x50\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x72\x50\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x72\x50\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x72\x50\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x72\x50\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x72\x50\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x72\x50\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x72\x50\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x72\x50\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x72\x50\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x72\x50\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x72\x50\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x72\x50\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x72\x50\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x72\x50\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x72\x50\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x72\x50\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x72\x50\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x72\x50\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x72\x50\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x72\x50\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x72\x50\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x72\x50\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x72\x50\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x72\x50\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x72\x50\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x72\x50\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x72\x50\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x72\x50\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x72\x50\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x72\x50\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x72\x50\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x72\x50\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x72\x50\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x72\x50\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x72\x50\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x72\x50\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x72\x50\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x72\x50\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x72\x50\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x72\x50\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x72\x50\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x72\x50\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x72\x50\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x72\x50\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x72\x50\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x72\x50\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x72\x50\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x72\x50\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x72\x50\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x72\x50\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x72\x50\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x72\x50\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x72\x50\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x72\x50\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x72\x50\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x72\x50\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x72\x50\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x72\x50\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x72\x50\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x72\x50\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x72\x50\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x72\x50\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x72\x50\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x72\x50\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x72\x50\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x72\x50\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x72\x50\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x72\x50\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x72\x50\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x72\x50\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x72\x50\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x72\x50\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x72\x50\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x72\x50\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x72\x50\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x72\x50\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x72\x50\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x72\x50\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x72\x50\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x72\x50\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x72\x50\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x72\x50\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x72\x50\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x72\x50\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x72\x50\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x72\x50\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x72\x50\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x72\x50\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x72\x50\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x72\x50\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x72\x50\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x72\x50\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x72\x50\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x72\x50\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x72\x50\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x72\x50\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x72\x50\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x72\x50\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x72\x50\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x72\x50\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x72\x50\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x72\x50\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x72\x50\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x72\x50\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x72\x50\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x72\x50\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x72\x50\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x72\x50\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x72\x50\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x72\x50\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x72\x50\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x72\x50\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x72\x50\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x72\x50\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x72\x50\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x72\x50\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x72\x50\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x72\x50\x42\x68";
|
|
} // end switch(key)
|
|
} // end switch(mods)
|
|
break;
|
|
|
|
case 1: // PRESS
|
|
switch (mods & 0xf) {
|
|
case 0x0:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x41\x79";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x41\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x41\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x41\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x41\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x41\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x41\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x41\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x41\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x41\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x41\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x41\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x41\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x41\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x41\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x41\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x41\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x41\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x41\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x41\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x41\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x41\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x41\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x41\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x41\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x41\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x41\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x41\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x41\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x41\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x41\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x41\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x41\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x41\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x41\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x41\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x41\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x41\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x41\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x41\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x41\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x41\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x41\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x41\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x41\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x41\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x41\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x41\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x41\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x41\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x41\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x41\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x41\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x41\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x41\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x41\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x41\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x41\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x41\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x41\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x41\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x41\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x41\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x41\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x41\x42\x68";
|
|
} // end switch(key)
|
|
case 0x1:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x42\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x42\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x42\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x42\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x42\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x42\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x42\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x42\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x42\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x42\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x42\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x42\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x42\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x42\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x42\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x42\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x42\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x42\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x42\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x42\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x42\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x42\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x42\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x42\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x42\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x42\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x42\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x42\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x42\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x42\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x42\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x42\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x42\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x42\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x42\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x42\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x42\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x42\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x42\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x42\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x42\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x42\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x42\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x42\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x42\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x42\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x42\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x42\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x42\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x42\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x42\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x42\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x42\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x42\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x42\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x42\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x42\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x42\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x42\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x42\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x42\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x42\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x42\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x42\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x42\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x42\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x42\x42\x68";
|
|
} // end switch(key)
|
|
case 0x2:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x45\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x45\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x45\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x45\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x45\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x45\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x45\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x45\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x45\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x45\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x45\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x45\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x45\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x45\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x45\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x45\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x45\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x45\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x45\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x45\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x45\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x45\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x45\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x45\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x45\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x45\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x45\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x45\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x45\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x45\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x45\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x45\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x45\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x45\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x45\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x45\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x45\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x45\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x45\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x45\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x45\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x45\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x45\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x45\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x45\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x45\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x45\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x45\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x45\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x45\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x45\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x45\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x45\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x45\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x45\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x45\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x45\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x45\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x45\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x45\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x45\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x45\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x45\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x45\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x45\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x45\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x45\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x45\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x45\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x45\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x45\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x45\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x45\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x45\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x45\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x45\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x45\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x45\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x45\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x45\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x45\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x45\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x45\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x45\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x45\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x45\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x45\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x45\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x45\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x45\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x45\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x45\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x45\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x45\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x45\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x45\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x45\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x45\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x45\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x45\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x45\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x45\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x45\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x45\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x45\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x45\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x45\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x45\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x45\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x45\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x45\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x45\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x45\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x45\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x45\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x45\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x45\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x45\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x45\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x45\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x45\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x45\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x45\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x45\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x45\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x45\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x45\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x45\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x45\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x45\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x45\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x45\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x45\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x45\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x45\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x45\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x45\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x45\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x45\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x45\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x45\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x45\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x45\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x45\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x45\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x45\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x45\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x45\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x45\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x45\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x45\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x45\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x45\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x45\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x45\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x45\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x45\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x45\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x45\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x45\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x45\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x45\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x45\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x45\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x45\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x45\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x45\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x45\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x45\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x45\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x45\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x45\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x45\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x45\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x45\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x45\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x45\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x45\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x45\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x45\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x45\x42\x68";
|
|
} // end switch(key)
|
|
case 0x3:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x46\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x46\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x46\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x46\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x46\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x46\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x46\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x46\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x46\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x46\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x46\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x46\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x46\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x46\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x46\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x46\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x46\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x46\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x46\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x46\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x46\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x46\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x46\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x46\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x46\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x46\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x46\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x46\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x46\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x46\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x46\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x46\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x46\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x46\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x46\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x46\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x46\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x46\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x46\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x46\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x46\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x46\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x46\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x46\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x46\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x46\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x46\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x46\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x46\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x46\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x46\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x46\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x46\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x46\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x46\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x46\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x46\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x46\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x46\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x46\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x46\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x46\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x46\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x46\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x46\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x46\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x46\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x46\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x46\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x46\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x46\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x46\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x46\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x46\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x46\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x46\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x46\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x46\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x46\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x46\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x46\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x46\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x46\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x46\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x46\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x46\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x46\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x46\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x46\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x46\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x46\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x46\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x46\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x46\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x46\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x46\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x46\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x46\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x46\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x46\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x46\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x46\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x46\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x46\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x46\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x46\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x46\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x46\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x46\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x46\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x46\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x46\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x46\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x46\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x46\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x46\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x46\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x46\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x46\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x46\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x46\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x46\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x46\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x46\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x46\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x46\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x46\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x46\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x46\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x46\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x46\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x46\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x46\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x46\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x46\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x46\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x46\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x46\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x46\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x46\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x46\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x46\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x46\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x46\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x46\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x46\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x46\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x46\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x46\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x46\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x46\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x46\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x46\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x46\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x46\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x46\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x46\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x46\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x46\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x46\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x46\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x46\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x46\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x46\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x46\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x46\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x46\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x46\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x46\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x46\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x46\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x46\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x46\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x46\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x46\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x46\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x46\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x46\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x46\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x46\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x46\x42\x68";
|
|
} // end switch(key)
|
|
case 0x4:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x43\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x43\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x43\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x43\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x43\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x43\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x43\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x43\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x43\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x43\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x43\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x43\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x43\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x43\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x43\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x43\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x43\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x43\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x43\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x43\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x43\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x43\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x43\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x43\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x43\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x43\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x43\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x43\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x43\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x43\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x43\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x43\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x43\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x43\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x43\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x43\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x43\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x43\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x43\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x43\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x43\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x43\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x43\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x43\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x43\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x43\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x43\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x43\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x43\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x43\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x43\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x43\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x43\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x43\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x43\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x43\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x43\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x43\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x43\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x43\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x43\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x43\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x43\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x43\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x43\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x43\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x43\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x43\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x43\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x43\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x43\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x43\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x43\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x43\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x43\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x43\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x43\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x43\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x43\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x43\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x43\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x43\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x43\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x43\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x43\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x43\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x43\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x43\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x43\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x43\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x43\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x43\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x43\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x43\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x43\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x43\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x43\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x43\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x43\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x43\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x43\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x43\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x43\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x43\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x43\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x43\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x43\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x43\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x43\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x43\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x43\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x43\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x43\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x43\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x43\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x43\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x43\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x43\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x43\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x43\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x43\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x43\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x43\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x43\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x43\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x43\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x43\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x43\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x43\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x43\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x43\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x43\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x43\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x43\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x43\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x43\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x43\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x43\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x43\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x43\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x43\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x43\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x43\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x43\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x43\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x43\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x43\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x43\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x43\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x43\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x43\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x43\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x43\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x43\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x43\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x43\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x43\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x43\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x43\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x43\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x43\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x43\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x43\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x43\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x43\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x43\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x43\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x43\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x43\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x43\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x43\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x43\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x43\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x43\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x43\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x43\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x43\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x43\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x43\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x43\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x43\x42\x68";
|
|
} // end switch(key)
|
|
case 0x5:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x44\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x44\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x44\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x44\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x44\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x44\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x44\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x44\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x44\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x44\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x44\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x44\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x44\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x44\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x44\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x44\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x44\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x44\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x44\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x44\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x44\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x44\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x44\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x44\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x44\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x44\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x44\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x44\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x44\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x44\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x44\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x44\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x44\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x44\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x44\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x44\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x44\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x44\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x44\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x44\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x44\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x44\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x44\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x44\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x44\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x44\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x44\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x44\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x44\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x44\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x44\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x44\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x44\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x44\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x44\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x44\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x44\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x44\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x44\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x44\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x44\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x44\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x44\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x44\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x44\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x44\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x44\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x44\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x44\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x44\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x44\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x44\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x44\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x44\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x44\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x44\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x44\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x44\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x44\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x44\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x44\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x44\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x44\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x44\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x44\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x44\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x44\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x44\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x44\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x44\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x44\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x44\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x44\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x44\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x44\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x44\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x44\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x44\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x44\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x44\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x44\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x44\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x44\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x44\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x44\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x44\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x44\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x44\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x44\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x44\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x44\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x44\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x44\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x44\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x44\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x44\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x44\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x44\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x44\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x44\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x44\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x44\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x44\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x44\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x44\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x44\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x44\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x44\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x44\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x44\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x44\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x44\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x44\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x44\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x44\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x44\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x44\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x44\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x44\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x44\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x44\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x44\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x44\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x44\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x44\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x44\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x44\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x44\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x44\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x44\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x44\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x44\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x44\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x44\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x44\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x44\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x44\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x44\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x44\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x44\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x44\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x44\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x44\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x44\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x44\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x44\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x44\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x44\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x44\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x44\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x44\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x44\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x44\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x44\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x44\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x44\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x44\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x44\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x44\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x44\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x44\x42\x68";
|
|
} // end switch(key)
|
|
case 0x6:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x47\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x47\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x47\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x47\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x47\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x47\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x47\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x47\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x47\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x47\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x47\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x47\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x47\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x47\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x47\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x47\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x47\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x47\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x47\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x47\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x47\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x47\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x47\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x47\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x47\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x47\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x47\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x47\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x47\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x47\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x47\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x47\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x47\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x47\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x47\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x47\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x47\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x47\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x47\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x47\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x47\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x47\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x47\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x47\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x47\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x47\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x47\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x47\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x47\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x47\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x47\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x47\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x47\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x47\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x47\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x47\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x47\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x47\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x47\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x47\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x47\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x47\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x47\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x47\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x47\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x47\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x47\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x47\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x47\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x47\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x47\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x47\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x47\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x47\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x47\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x47\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x47\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x47\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x47\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x47\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x47\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x47\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x47\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x47\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x47\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x47\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x47\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x47\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x47\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x47\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x47\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x47\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x47\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x47\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x47\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x47\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x47\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x47\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x47\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x47\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x47\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x47\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x47\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x47\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x47\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x47\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x47\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x47\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x47\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x47\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x47\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x47\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x47\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x47\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x47\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x47\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x47\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x47\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x47\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x47\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x47\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x47\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x47\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x47\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x47\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x47\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x47\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x47\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x47\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x47\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x47\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x47\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x47\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x47\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x47\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x47\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x47\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x47\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x47\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x47\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x47\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x47\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x47\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x47\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x47\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x47\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x47\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x47\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x47\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x47\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x47\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x47\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x47\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x47\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x47\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x47\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x47\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x47\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x47\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x47\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x47\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x47\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x47\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x47\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x47\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x47\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x47\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x47\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x47\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x47\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x47\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x47\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x47\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x47\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x47\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x47\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x47\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x47\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x47\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x47\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x47\x42\x68";
|
|
} // end switch(key)
|
|
case 0x7:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x48\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x48\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x48\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x48\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x48\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x48\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x48\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x48\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x48\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x48\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x48\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x48\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x48\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x48\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x48\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x48\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x48\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x48\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x48\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x48\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x48\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x48\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x48\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x48\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x48\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x48\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x48\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x48\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x48\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x48\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x48\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x48\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x48\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x48\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x48\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x48\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x48\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x48\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x48\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x48\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x48\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x48\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x48\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x48\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x48\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x48\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x48\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x48\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x48\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x48\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x48\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x48\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x48\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x48\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x48\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x48\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x48\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x48\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x48\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x48\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x48\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x48\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x48\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x48\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x48\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x48\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x48\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x48\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x48\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x48\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x48\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x48\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x48\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x48\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x48\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x48\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x48\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x48\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x48\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x48\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x48\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x48\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x48\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x48\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x48\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x48\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x48\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x48\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x48\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x48\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x48\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x48\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x48\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x48\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x48\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x48\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x48\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x48\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x48\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x48\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x48\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x48\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x48\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x48\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x48\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x48\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x48\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x48\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x48\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x48\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x48\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x48\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x48\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x48\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x48\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x48\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x48\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x48\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x48\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x48\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x48\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x48\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x48\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x48\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x48\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x48\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x48\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x48\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x48\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x48\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x48\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x48\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x48\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x48\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x48\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x48\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x48\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x48\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x48\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x48\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x48\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x48\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x48\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x48\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x48\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x48\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x48\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x48\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x48\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x48\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x48\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x48\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x48\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x48\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x48\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x48\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x48\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x48\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x48\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x48\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x48\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x48\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x48\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x48\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x48\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x48\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x48\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x48\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x48\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x48\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x48\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x48\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x48\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x48\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x48\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x48\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x48\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x48\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x48\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x48\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x48\x42\x68";
|
|
} // end switch(key)
|
|
case 0x8:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x49\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x49\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x49\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x49\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x49\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x49\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x49\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x49\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x49\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x49\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x49\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x49\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x49\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x49\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x49\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x49\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x49\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x49\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x49\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x49\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x49\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x49\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x49\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x49\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x49\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x49\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x49\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x49\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x49\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x49\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x49\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x49\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x49\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x49\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x49\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x49\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x49\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x49\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x49\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x49\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x49\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x49\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x49\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x49\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x49\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x49\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x49\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x49\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x49\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x49\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x49\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x49\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x49\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x49\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x49\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x49\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x49\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x49\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x49\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x49\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x49\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x49\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x49\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x49\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x49\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x49\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x49\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x49\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x49\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x49\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x49\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x49\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x49\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x49\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x49\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x49\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x49\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x49\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x49\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x49\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x49\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x49\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x49\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x49\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x49\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x49\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x49\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x49\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x49\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x49\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x49\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x49\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x49\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x49\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x49\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x49\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x49\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x49\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x49\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x49\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x49\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x49\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x49\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x49\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x49\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x49\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x49\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x49\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x49\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x49\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x49\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x49\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x49\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x49\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x49\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x49\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x49\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x49\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x49\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x49\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x49\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x49\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x49\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x49\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x49\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x49\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x49\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x49\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x49\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x49\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x49\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x49\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x49\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x49\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x49\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x49\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x49\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x49\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x49\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x49\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x49\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x49\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x49\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x49\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x49\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x49\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x49\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x49\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x49\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x49\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x49\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x49\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x49\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x49\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x49\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x49\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x49\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x49\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x49\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x49\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x49\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x49\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x49\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x49\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x49\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x49\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x49\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x49\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x49\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x49\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x49\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x49\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x49\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x49\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x49\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x49\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x49\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x49\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x49\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x49\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x49\x42\x68";
|
|
} // end switch(key)
|
|
case 0x9:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x4a\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x4a\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x4a\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x4a\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x4a\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x4a\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x4a\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x4a\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x4a\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x4a\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x4a\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x4a\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x4a\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x4a\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x4a\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x4a\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x4a\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x4a\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x4a\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x4a\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x4a\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x4a\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x4a\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x4a\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x4a\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x4a\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x4a\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x4a\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x4a\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x4a\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x4a\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x4a\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x4a\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x4a\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x4a\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x4a\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x4a\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x4a\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x4a\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x4a\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x4a\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x4a\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x4a\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x4a\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x4a\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x4a\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x4a\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x4a\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x4a\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x4a\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x4a\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x4a\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x4a\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x4a\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x4a\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x4a\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x4a\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x4a\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x4a\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x4a\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x4a\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x4a\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x4a\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x4a\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x4a\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x4a\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x4a\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x4a\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x4a\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x4a\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x4a\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x4a\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x4a\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x4a\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x4a\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x4a\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x4a\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x4a\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x4a\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x4a\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x4a\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x4a\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x4a\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x4a\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x4a\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x4a\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x4a\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x4a\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x4a\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x4a\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x4a\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x4a\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x4a\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x4a\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x4a\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x4a\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x4a\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x4a\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x4a\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x4a\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x4a\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x4a\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x4a\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x4a\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x4a\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x4a\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x4a\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x4a\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x4a\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x4a\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x4a\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x4a\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x4a\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x4a\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x4a\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x4a\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x4a\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x4a\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x4a\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x4a\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x4a\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x4a\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x4a\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x4a\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x4a\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x4a\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x4a\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x4a\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x4a\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x4a\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x4a\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x4a\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x4a\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x4a\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x4a\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x4a\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x4a\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x4a\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x4a\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x4a\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x4a\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x4a\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x4a\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x4a\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x4a\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x4a\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x4a\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x4a\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x4a\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x4a\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x4a\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x4a\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x4a\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x4a\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x4a\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x4a\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x4a\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x4a\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x4a\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x4a\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x4a\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x4a\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x4a\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x4a\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x4a\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x4a\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x4a\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x4a\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x4a\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x4a\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x4a\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x4a\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x4a\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x4a\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x4a\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x4a\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x4a\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x4a\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x4a\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x4a\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x4a\x42\x68";
|
|
} // end switch(key)
|
|
case 0xa:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x4d\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x4d\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x4d\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x4d\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x4d\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x4d\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x4d\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x4d\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x4d\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x4d\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x4d\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x4d\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x4d\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x4d\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x4d\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x4d\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x4d\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x4d\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x4d\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x4d\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x4d\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x4d\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x4d\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x4d\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x4d\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x4d\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x4d\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x4d\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x4d\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x4d\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x4d\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x4d\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x4d\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x4d\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x4d\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x4d\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x4d\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x4d\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x4d\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x4d\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x4d\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x4d\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x4d\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x4d\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x4d\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x4d\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x4d\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x4d\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x4d\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x4d\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x4d\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x4d\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x4d\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x4d\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x4d\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x4d\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x4d\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x4d\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x4d\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x4d\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x4d\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x4d\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x4d\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x4d\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x4d\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x4d\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x4d\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x4d\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x4d\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x4d\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x4d\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x4d\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x4d\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x4d\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x4d\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x4d\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x4d\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x4d\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x4d\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x4d\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x4d\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x4d\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x4d\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x4d\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x4d\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x4d\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x4d\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x4d\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x4d\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x4d\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x4d\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x4d\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x4d\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x4d\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x4d\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x4d\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x4d\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x4d\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x4d\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x4d\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x4d\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x4d\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x4d\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x4d\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x4d\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x4d\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x4d\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x4d\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x4d\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x4d\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x4d\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x4d\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x4d\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x4d\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x4d\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x4d\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x4d\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x4d\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x4d\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x4d\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x4d\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x4d\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x4d\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x4d\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x4d\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x4d\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x4d\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x4d\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x4d\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x4d\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x4d\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x4d\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x4d\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x4d\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x4d\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x4d\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x4d\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x4d\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x4d\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x4d\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x4d\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x4d\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x4d\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x4d\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x4d\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x4d\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x4d\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x4d\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x4d\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x4d\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x4d\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x4d\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x4d\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x4d\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x4d\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x4d\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x4d\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x4d\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x4d\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x4d\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x4d\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x4d\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x4d\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x4d\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x4d\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x4d\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x4d\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x4d\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x4d\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x4d\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x4d\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x4d\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x4d\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x4d\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x4d\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x4d\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x4d\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x4d\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x4d\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x4d\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x4d\x42\x68";
|
|
} // end switch(key)
|
|
case 0xb:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x4e\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x4e\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x4e\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x4e\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x4e\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x4e\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x4e\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x4e\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x4e\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x4e\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x4e\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x4e\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x4e\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x4e\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x4e\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x4e\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x4e\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x4e\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x4e\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x4e\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x4e\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x4e\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x4e\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x4e\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x4e\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x4e\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x4e\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x4e\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x4e\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x4e\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x4e\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x4e\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x4e\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x4e\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x4e\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x4e\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x4e\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x4e\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x4e\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x4e\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x4e\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x4e\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x4e\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x4e\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x4e\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x4e\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x4e\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x4e\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x4e\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x4e\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x4e\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x4e\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x4e\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x4e\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x4e\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x4e\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x4e\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x4e\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x4e\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x4e\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x4e\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x4e\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x4e\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x4e\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x4e\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x4e\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x4e\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x4e\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x4e\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x4e\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x4e\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x4e\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x4e\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x4e\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x4e\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x4e\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x4e\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x4e\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x4e\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x4e\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x4e\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x4e\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x4e\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x4e\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x4e\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x4e\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x4e\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x4e\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x4e\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x4e\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x4e\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x4e\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x4e\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x4e\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x4e\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x4e\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x4e\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x4e\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x4e\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x4e\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x4e\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x4e\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x4e\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x4e\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x4e\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x4e\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x4e\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x4e\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x4e\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x4e\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x4e\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x4e\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x4e\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x4e\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x4e\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x4e\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x4e\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x4e\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x4e\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x4e\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x4e\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x4e\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x4e\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x4e\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x4e\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x4e\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x4e\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x4e\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x4e\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x4e\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x4e\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x4e\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x4e\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x4e\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x4e\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x4e\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x4e\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x4e\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x4e\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x4e\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x4e\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x4e\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x4e\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x4e\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x4e\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x4e\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x4e\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x4e\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x4e\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x4e\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x4e\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x4e\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x4e\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x4e\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x4e\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x4e\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x4e\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x4e\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x4e\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x4e\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x4e\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x4e\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x4e\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x4e\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x4e\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x4e\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x4e\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x4e\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x4e\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x4e\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x4e\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x4e\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x4e\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x4e\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x4e\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x4e\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x4e\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x4e\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x4e\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x4e\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x4e\x42\x68";
|
|
} // end switch(key)
|
|
case 0xc:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x4b\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x4b\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x4b\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x4b\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x4b\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x4b\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x4b\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x4b\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x4b\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x4b\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x4b\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x4b\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x4b\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x4b\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x4b\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x4b\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x4b\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x4b\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x4b\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x4b\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x4b\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x4b\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x4b\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x4b\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x4b\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x4b\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x4b\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x4b\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x4b\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x4b\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x4b\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x4b\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x4b\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x4b\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x4b\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x4b\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x4b\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x4b\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x4b\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x4b\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x4b\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x4b\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x4b\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x4b\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x4b\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x4b\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x4b\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x4b\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x4b\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x4b\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x4b\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x4b\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x4b\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x4b\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x4b\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x4b\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x4b\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x4b\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x4b\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x4b\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x4b\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x4b\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x4b\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x4b\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x4b\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x4b\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x4b\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x4b\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x4b\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x4b\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x4b\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x4b\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x4b\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x4b\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x4b\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x4b\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x4b\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x4b\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x4b\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x4b\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x4b\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x4b\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x4b\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x4b\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x4b\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x4b\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x4b\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x4b\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x4b\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x4b\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x4b\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x4b\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x4b\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x4b\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x4b\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x4b\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x4b\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x4b\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x4b\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x4b\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x4b\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x4b\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x4b\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x4b\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x4b\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x4b\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x4b\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x4b\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x4b\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x4b\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x4b\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x4b\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x4b\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x4b\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x4b\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x4b\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x4b\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x4b\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x4b\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x4b\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x4b\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x4b\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x4b\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x4b\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x4b\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x4b\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x4b\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x4b\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x4b\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x4b\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x4b\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x4b\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x4b\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x4b\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x4b\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x4b\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x4b\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x4b\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x4b\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x4b\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x4b\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x4b\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x4b\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x4b\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x4b\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x4b\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x4b\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x4b\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x4b\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x4b\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x4b\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x4b\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x4b\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x4b\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x4b\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x4b\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x4b\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x4b\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x4b\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x4b\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x4b\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x4b\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x4b\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x4b\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x4b\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x4b\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x4b\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x4b\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x4b\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x4b\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x4b\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x4b\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x4b\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x4b\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x4b\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x4b\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x4b\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x4b\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x4b\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x4b\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x4b\x42\x68";
|
|
} // end switch(key)
|
|
case 0xd:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x4c\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x4c\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x4c\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x4c\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x4c\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x4c\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x4c\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x4c\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x4c\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x4c\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x4c\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x4c\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x4c\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x4c\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x4c\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x4c\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x4c\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x4c\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x4c\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x4c\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x4c\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x4c\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x4c\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x4c\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x4c\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x4c\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x4c\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x4c\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x4c\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x4c\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x4c\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x4c\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x4c\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x4c\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x4c\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x4c\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x4c\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x4c\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x4c\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x4c\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x4c\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x4c\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x4c\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x4c\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x4c\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x4c\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x4c\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x4c\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x4c\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x4c\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x4c\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x4c\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x4c\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x4c\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x4c\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x4c\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x4c\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x4c\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x4c\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x4c\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x4c\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x4c\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x4c\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x4c\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x4c\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x4c\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x4c\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x4c\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x4c\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x4c\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x4c\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x4c\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x4c\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x4c\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x4c\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x4c\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x4c\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x4c\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x4c\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x4c\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x4c\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x4c\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x4c\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x4c\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x4c\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x4c\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x4c\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x4c\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x4c\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x4c\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x4c\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x4c\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x4c\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x4c\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x4c\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x4c\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x4c\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x4c\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x4c\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x4c\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x4c\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x4c\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x4c\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x4c\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x4c\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x4c\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x4c\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x4c\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x4c\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x4c\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x4c\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x4c\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x4c\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x4c\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x4c\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x4c\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x4c\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x4c\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x4c\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x4c\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x4c\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x4c\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x4c\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x4c\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x4c\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x4c\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x4c\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x4c\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x4c\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x4c\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x4c\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x4c\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x4c\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x4c\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x4c\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x4c\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x4c\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x4c\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x4c\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x4c\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x4c\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x4c\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x4c\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x4c\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x4c\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x4c\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x4c\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x4c\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x4c\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x4c\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x4c\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x4c\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x4c\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x4c\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x4c\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x4c\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x4c\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x4c\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x4c\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x4c\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x4c\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x4c\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x4c\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x4c\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x4c\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x4c\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x4c\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x4c\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x4c\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x4c\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x4c\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x4c\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x4c\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x4c\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x4c\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x4c\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x4c\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x4c\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x4c\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x4c\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x4c\x42\x68";
|
|
} // end switch(key)
|
|
case 0xe:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x4f\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x4f\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x4f\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x4f\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x4f\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x4f\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x4f\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x4f\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x4f\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x4f\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x4f\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x4f\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x4f\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x4f\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x4f\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x4f\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x4f\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x4f\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x4f\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x4f\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x4f\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x4f\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x4f\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x4f\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x4f\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x4f\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x4f\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x4f\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x4f\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x4f\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x4f\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x4f\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x4f\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x4f\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x4f\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x4f\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x4f\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x4f\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x4f\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x4f\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x4f\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x4f\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x4f\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x4f\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x4f\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x4f\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x4f\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x4f\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x4f\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x4f\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x4f\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x4f\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x4f\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x4f\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x4f\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x4f\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x4f\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x4f\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x4f\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x4f\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x4f\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x4f\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x4f\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x4f\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x4f\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x4f\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x4f\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x4f\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x4f\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x4f\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x4f\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x4f\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x4f\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x4f\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x4f\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x4f\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x4f\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x4f\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x4f\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x4f\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x4f\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x4f\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x4f\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x4f\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x4f\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x4f\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x4f\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x4f\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x4f\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x4f\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x4f\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x4f\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x4f\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x4f\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x4f\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x4f\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x4f\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x4f\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x4f\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x4f\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x4f\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x4f\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x4f\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x4f\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x4f\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x4f\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x4f\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x4f\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x4f\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x4f\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x4f\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x4f\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x4f\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x4f\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x4f\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x4f\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x4f\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x4f\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x4f\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x4f\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x4f\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x4f\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x4f\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x4f\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x4f\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x4f\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x4f\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x4f\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x4f\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x4f\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x4f\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x4f\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x4f\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x4f\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x4f\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x4f\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x4f\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x4f\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x4f\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x4f\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x4f\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x4f\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x4f\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x4f\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x4f\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x4f\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x4f\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x4f\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x4f\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x4f\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x4f\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x4f\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x4f\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x4f\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x4f\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x4f\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x4f\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x4f\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x4f\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x4f\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x4f\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x4f\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x4f\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x4f\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x4f\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x4f\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x4f\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x4f\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x4f\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x4f\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x4f\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x4f\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x4f\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x4f\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x4f\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x4f\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x4f\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x4f\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x4f\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x4f\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x4f\x42\x68";
|
|
} // end switch(key)
|
|
case 0xf:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x70\x50\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x70\x50\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x70\x50\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x70\x50\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x70\x50\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x70\x50\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x70\x50\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x70\x50\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x70\x50\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x70\x50\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x70\x50\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x70\x50\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x70\x50\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x70\x50\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x70\x50\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x70\x50\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x70\x50\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x70\x50\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x70\x50\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x70\x50\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x70\x50\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x70\x50\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x70\x50\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x70\x50\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x70\x50\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x70\x50\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x70\x50\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x70\x50\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x70\x50\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x70\x50\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x70\x50\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x70\x50\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x70\x50\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x70\x50\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x70\x50\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x70\x50\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x70\x50\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x70\x50\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x70\x50\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x70\x50\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x70\x50\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x70\x50\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x70\x50\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x70\x50\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x70\x50\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x70\x50\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x70\x50\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x70\x50\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x70\x50\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x70\x50\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x70\x50\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x70\x50\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x70\x50\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x70\x50\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x70\x50\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x70\x50\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x70\x50\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x70\x50\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x70\x50\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x70\x50\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x70\x50\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x70\x50\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x70\x50\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x70\x50\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x70\x50\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x70\x50\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x70\x50\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x70\x50\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x70\x50\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x70\x50\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x70\x50\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x70\x50\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x70\x50\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x70\x50\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x70\x50\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x70\x50\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x70\x50\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x70\x50\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x70\x50\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x70\x50\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x70\x50\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x70\x50\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x70\x50\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x70\x50\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x70\x50\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x70\x50\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x70\x50\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x70\x50\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x70\x50\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x70\x50\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x70\x50\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x70\x50\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x70\x50\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x70\x50\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x70\x50\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x70\x50\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x70\x50\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x70\x50\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x70\x50\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x70\x50\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x70\x50\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x70\x50\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x70\x50\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x70\x50\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x70\x50\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x70\x50\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x70\x50\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x70\x50\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x70\x50\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x70\x50\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x70\x50\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x70\x50\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x70\x50\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x70\x50\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x70\x50\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x70\x50\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x70\x50\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x70\x50\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x70\x50\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x70\x50\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x70\x50\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x70\x50\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x70\x50\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x70\x50\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x70\x50\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x70\x50\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x70\x50\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x70\x50\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x70\x50\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x70\x50\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x70\x50\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x70\x50\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x70\x50\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x70\x50\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x70\x50\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x70\x50\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x70\x50\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x70\x50\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x70\x50\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x70\x50\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x70\x50\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x70\x50\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x70\x50\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x70\x50\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x70\x50\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x70\x50\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x70\x50\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x70\x50\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x70\x50\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x70\x50\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x70\x50\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x70\x50\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x70\x50\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x70\x50\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x70\x50\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x70\x50\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x70\x50\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x70\x50\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x70\x50\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x70\x50\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x70\x50\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x70\x50\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x70\x50\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x70\x50\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x70\x50\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x70\x50\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x70\x50\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x70\x50\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x70\x50\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x70\x50\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x70\x50\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x70\x50\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x70\x50\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x70\x50\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x70\x50\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x70\x50\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x70\x50\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x70\x50\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x70\x50\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x70\x50\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x70\x50\x42\x68";
|
|
} // end switch(key)
|
|
} // end switch(mods)
|
|
break;
|
|
|
|
case 2: // REPEAT
|
|
switch (mods & 0xf) {
|
|
case 0x0:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x41\x79";
|
|
case 115: // ENTER
|
|
return "\x01\x0d";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x41\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x01\x7f";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x41\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x41\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x41\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x41\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x41\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x41\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x41\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x41\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x41\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x41\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x41\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x41\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x41\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x41\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x41\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x41\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x41\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x41\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x41\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x41\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x41\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x41\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x41\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x41\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x41\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x41\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x41\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x41\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x41\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x41\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x41\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x41\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x41\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x41\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x41\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x41\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x41\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x41\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x41\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x41\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x41\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x41\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x41\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x41\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x41\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x41\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x41\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x41\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x41\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x41\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x41\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x41\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x41\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x41\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x41\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x41\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x41\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x41\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x41\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x41\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x41\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x41\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x41\x42\x68";
|
|
} // end switch(key)
|
|
case 0x1:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x42\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x42\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x42\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x42\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x42\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x42\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x42\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x42\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x42\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x42\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x42\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x42\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x42\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x42\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x42\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x42\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x42\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x42\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x42\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x42\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x42\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x42\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x42\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x42\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x42\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x42\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x42\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x42\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x42\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x42\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x42\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x42\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x42\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x42\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x42\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x42\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x42\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x42\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x42\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x42\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x42\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x42\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x42\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x42\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x42\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x42\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x42\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x42\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x42\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x42\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x42\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x42\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x42\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x42\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x42\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x42\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x42\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x42\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x42\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x42\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x42\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x42\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x42\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x42\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x42\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x42\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x42\x42\x68";
|
|
} // end switch(key)
|
|
case 0x2:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x45\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x45\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x45\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x45\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x45\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x45\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x45\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x45\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x45\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x45\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x45\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x45\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x45\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x45\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x45\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x45\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x45\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x45\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x45\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x45\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x45\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x45\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x45\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x45\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x45\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x45\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x45\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x45\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x45\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x45\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x45\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x45\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x45\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x45\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x45\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x45\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x45\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x45\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x45\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x45\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x45\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x45\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x45\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x45\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x45\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x45\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x45\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x45\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x45\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x45\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x45\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x45\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x45\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x45\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x45\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x45\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x45\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x45\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x45\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x45\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x45\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x45\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x45\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x45\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x45\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x45\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x45\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x45\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x45\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x45\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x45\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x45\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x45\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x45\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x45\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x45\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x45\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x45\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x45\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x45\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x45\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x45\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x45\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x45\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x45\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x45\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x45\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x45\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x45\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x45\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x45\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x45\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x45\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x45\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x45\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x45\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x45\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x45\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x45\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x45\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x45\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x45\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x45\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x45\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x45\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x45\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x45\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x45\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x45\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x45\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x45\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x45\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x45\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x45\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x45\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x45\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x45\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x45\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x45\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x45\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x45\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x45\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x45\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x45\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x45\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x45\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x45\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x45\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x45\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x45\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x45\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x45\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x45\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x45\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x45\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x45\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x45\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x45\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x45\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x45\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x45\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x45\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x45\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x45\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x45\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x45\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x45\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x45\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x45\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x45\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x45\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x45\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x45\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x45\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x45\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x45\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x45\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x45\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x45\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x45\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x45\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x45\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x45\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x45\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x45\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x45\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x45\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x45\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x45\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x45\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x45\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x45\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x45\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x45\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x45\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x45\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x45\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x45\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x45\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x45\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x45\x42\x68";
|
|
} // end switch(key)
|
|
case 0x3:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x46\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x46\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x46\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x46\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x46\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x46\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x46\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x46\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x46\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x46\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x46\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x46\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x46\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x46\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x46\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x46\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x46\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x46\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x46\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x46\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x46\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x46\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x46\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x46\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x46\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x46\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x46\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x46\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x46\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x46\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x46\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x46\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x46\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x46\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x46\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x46\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x46\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x46\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x46\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x46\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x46\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x46\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x46\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x46\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x46\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x46\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x46\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x46\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x46\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x46\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x46\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x46\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x46\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x46\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x46\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x46\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x46\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x46\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x46\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x46\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x46\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x46\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x46\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x46\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x46\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x46\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x46\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x46\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x46\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x46\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x46\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x46\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x46\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x46\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x46\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x46\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x46\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x46\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x46\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x46\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x46\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x46\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x46\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x46\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x46\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x46\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x46\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x46\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x46\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x46\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x46\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x46\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x46\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x46\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x46\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x46\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x46\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x46\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x46\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x46\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x46\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x46\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x46\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x46\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x46\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x46\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x46\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x46\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x46\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x46\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x46\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x46\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x46\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x46\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x46\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x46\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x46\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x46\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x46\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x46\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x46\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x46\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x46\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x46\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x46\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x46\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x46\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x46\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x46\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x46\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x46\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x46\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x46\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x46\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x46\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x46\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x46\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x46\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x46\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x46\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x46\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x46\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x46\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x46\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x46\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x46\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x46\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x46\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x46\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x46\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x46\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x46\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x46\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x46\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x46\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x46\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x46\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x46\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x46\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x46\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x46\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x46\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x46\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x46\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x46\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x46\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x46\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x46\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x46\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x46\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x46\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x46\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x46\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x46\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x46\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x46\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x46\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x46\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x46\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x46\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x46\x42\x68";
|
|
} // end switch(key)
|
|
case 0x4:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x43\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x43\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x43\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x43\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x43\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x43\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x43\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x43\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x43\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x43\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x43\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x43\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x43\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x43\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x43\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x43\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x43\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x43\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x43\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x43\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x43\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x43\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x43\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x43\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x43\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x43\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x43\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x43\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x43\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x43\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x43\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x43\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x43\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x43\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x43\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x43\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x43\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x43\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x43\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x43\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x43\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x43\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x43\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x43\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x43\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x43\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x43\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x43\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x43\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x43\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x43\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x43\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x43\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x43\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x43\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x43\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x43\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x43\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x43\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x43\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x43\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x43\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x43\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x43\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x43\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x43\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x43\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x43\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x43\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x43\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x43\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x43\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x43\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x43\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x43\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x43\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x43\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x43\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x43\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x43\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x43\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x43\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x43\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x43\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x43\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x43\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x43\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x43\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x43\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x43\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x43\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x43\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x43\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x43\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x43\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x43\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x43\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x43\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x43\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x43\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x43\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x43\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x43\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x43\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x43\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x43\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x43\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x43\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x43\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x43\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x43\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x43\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x43\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x43\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x43\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x43\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x43\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x43\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x43\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x43\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x43\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x43\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x43\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x43\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x43\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x43\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x43\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x43\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x43\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x43\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x43\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x43\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x43\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x43\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x43\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x43\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x43\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x43\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x43\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x43\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x43\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x43\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x43\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x43\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x43\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x43\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x43\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x43\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x43\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x43\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x43\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x43\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x43\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x43\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x43\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x43\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x43\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x43\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x43\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x43\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x43\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x43\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x43\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x43\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x43\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x43\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x43\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x43\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x43\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x43\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x43\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x43\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x43\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x43\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x43\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x43\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x43\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x43\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x43\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x43\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x43\x42\x68";
|
|
} // end switch(key)
|
|
case 0x5:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x44\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x44\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x44\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x44\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x44\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x44\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x44\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x44\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x44\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x44\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x44\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x44\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x44\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x44\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x44\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x44\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x44\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x44\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x44\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x44\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x44\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x44\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x44\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x44\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x44\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x44\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x44\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x44\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x44\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x44\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x44\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x44\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x44\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x44\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x44\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x44\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x44\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x44\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x44\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x44\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x44\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x44\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x44\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x44\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x44\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x44\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x44\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x44\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x44\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x44\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x44\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x44\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x44\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x44\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x44\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x44\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x44\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x44\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x44\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x44\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x44\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x44\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x44\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x44\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x44\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x44\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x44\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x44\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x44\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x44\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x44\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x44\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x44\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x44\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x44\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x44\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x44\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x44\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x44\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x44\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x44\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x44\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x44\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x44\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x44\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x44\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x44\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x44\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x44\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x44\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x44\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x44\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x44\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x44\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x44\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x44\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x44\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x44\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x44\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x44\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x44\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x44\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x44\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x44\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x44\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x44\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x44\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x44\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x44\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x44\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x44\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x44\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x44\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x44\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x44\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x44\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x44\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x44\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x44\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x44\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x44\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x44\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x44\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x44\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x44\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x44\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x44\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x44\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x44\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x44\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x44\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x44\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x44\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x44\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x44\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x44\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x44\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x44\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x44\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x44\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x44\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x44\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x44\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x44\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x44\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x44\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x44\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x44\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x44\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x44\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x44\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x44\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x44\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x44\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x44\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x44\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x44\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x44\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x44\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x44\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x44\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x44\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x44\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x44\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x44\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x44\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x44\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x44\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x44\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x44\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x44\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x44\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x44\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x44\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x44\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x44\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x44\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x44\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x44\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x44\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x44\x42\x68";
|
|
} // end switch(key)
|
|
case 0x6:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x47\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x47\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x47\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x47\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x47\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x47\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x47\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x47\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x47\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x47\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x47\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x47\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x47\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x47\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x47\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x47\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x47\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x47\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x47\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x47\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x47\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x47\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x47\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x47\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x47\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x47\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x47\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x47\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x47\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x47\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x47\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x47\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x47\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x47\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x47\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x47\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x47\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x47\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x47\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x47\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x47\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x47\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x47\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x47\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x47\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x47\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x47\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x47\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x47\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x47\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x47\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x47\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x47\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x47\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x47\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x47\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x47\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x47\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x47\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x47\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x47\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x47\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x47\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x47\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x47\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x47\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x47\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x47\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x47\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x47\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x47\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x47\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x47\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x47\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x47\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x47\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x47\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x47\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x47\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x47\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x47\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x47\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x47\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x47\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x47\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x47\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x47\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x47\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x47\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x47\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x47\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x47\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x47\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x47\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x47\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x47\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x47\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x47\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x47\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x47\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x47\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x47\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x47\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x47\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x47\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x47\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x47\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x47\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x47\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x47\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x47\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x47\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x47\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x47\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x47\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x47\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x47\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x47\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x47\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x47\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x47\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x47\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x47\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x47\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x47\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x47\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x47\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x47\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x47\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x47\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x47\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x47\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x47\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x47\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x47\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x47\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x47\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x47\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x47\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x47\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x47\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x47\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x47\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x47\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x47\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x47\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x47\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x47\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x47\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x47\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x47\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x47\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x47\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x47\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x47\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x47\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x47\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x47\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x47\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x47\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x47\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x47\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x47\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x47\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x47\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x47\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x47\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x47\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x47\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x47\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x47\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x47\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x47\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x47\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x47\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x47\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x47\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x47\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x47\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x47\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x47\x42\x68";
|
|
} // end switch(key)
|
|
case 0x7:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x48\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x48\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x48\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x48\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x48\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x48\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x48\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x48\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x48\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x48\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x48\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x48\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x48\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x48\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x48\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x48\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x48\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x48\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x48\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x48\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x48\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x48\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x48\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x48\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x48\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x48\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x48\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x48\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x48\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x48\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x48\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x48\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x48\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x48\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x48\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x48\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x48\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x48\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x48\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x48\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x48\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x48\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x48\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x48\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x48\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x48\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x48\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x48\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x48\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x48\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x48\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x48\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x48\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x48\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x48\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x48\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x48\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x48\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x48\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x48\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x48\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x48\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x48\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x48\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x48\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x48\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x48\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x48\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x48\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x48\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x48\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x48\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x48\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x48\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x48\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x48\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x48\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x48\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x48\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x48\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x48\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x48\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x48\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x48\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x48\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x48\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x48\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x48\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x48\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x48\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x48\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x48\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x48\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x48\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x48\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x48\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x48\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x48\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x48\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x48\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x48\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x48\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x48\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x48\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x48\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x48\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x48\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x48\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x48\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x48\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x48\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x48\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x48\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x48\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x48\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x48\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x48\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x48\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x48\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x48\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x48\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x48\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x48\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x48\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x48\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x48\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x48\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x48\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x48\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x48\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x48\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x48\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x48\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x48\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x48\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x48\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x48\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x48\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x48\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x48\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x48\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x48\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x48\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x48\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x48\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x48\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x48\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x48\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x48\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x48\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x48\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x48\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x48\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x48\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x48\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x48\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x48\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x48\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x48\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x48\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x48\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x48\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x48\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x48\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x48\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x48\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x48\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x48\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x48\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x48\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x48\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x48\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x48\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x48\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x48\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x48\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x48\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x48\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x48\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x48\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x48\x42\x68";
|
|
} // end switch(key)
|
|
case 0x8:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x49\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x49\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x49\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x49\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x49\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x49\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x49\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x49\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x49\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x49\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x49\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x49\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x49\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x49\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x49\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x49\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x49\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x49\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x49\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x49\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x49\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x49\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x49\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x49\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x49\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x49\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x49\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x49\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x49\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x49\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x49\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x49\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x49\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x49\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x49\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x49\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x49\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x49\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x49\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x49\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x49\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x49\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x49\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x49\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x49\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x49\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x49\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x49\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x49\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x49\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x49\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x49\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x49\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x49\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x49\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x49\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x49\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x49\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x49\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x49\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x49\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x49\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x49\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x49\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x49\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x49\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x49\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x49\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x49\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x49\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x49\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x49\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x49\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x49\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x49\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x49\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x49\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x49\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x49\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x49\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x49\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x49\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x49\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x49\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x49\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x49\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x49\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x49\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x49\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x49\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x49\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x49\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x49\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x49\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x49\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x49\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x49\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x49\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x49\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x49\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x49\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x49\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x49\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x49\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x49\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x49\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x49\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x49\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x49\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x49\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x49\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x49\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x49\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x49\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x49\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x49\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x49\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x49\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x49\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x49\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x49\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x49\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x49\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x49\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x49\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x49\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x49\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x49\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x49\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x49\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x49\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x49\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x49\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x49\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x49\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x49\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x49\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x49\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x49\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x49\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x49\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x49\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x49\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x49\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x49\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x49\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x49\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x49\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x49\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x49\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x49\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x49\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x49\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x49\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x49\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x49\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x49\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x49\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x49\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x49\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x49\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x49\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x49\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x49\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x49\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x49\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x49\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x49\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x49\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x49\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x49\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x49\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x49\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x49\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x49\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x49\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x49\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x49\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x49\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x49\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x49\x42\x68";
|
|
} // end switch(key)
|
|
case 0x9:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x4a\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x4a\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x4a\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x4a\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x4a\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x4a\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x4a\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x4a\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x4a\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x4a\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x4a\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x4a\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x4a\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x4a\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x4a\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x4a\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x4a\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x4a\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x4a\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x4a\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x4a\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x4a\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x4a\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x4a\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x4a\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x4a\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x4a\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x4a\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x4a\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x4a\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x4a\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x4a\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x4a\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x4a\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x4a\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x4a\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x4a\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x4a\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x4a\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x4a\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x4a\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x4a\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x4a\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x4a\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x4a\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x4a\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x4a\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x4a\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x4a\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x4a\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x4a\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x4a\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x4a\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x4a\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x4a\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x4a\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x4a\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x4a\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x4a\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x4a\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x4a\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x4a\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x4a\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x4a\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x4a\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x4a\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x4a\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x4a\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x4a\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x4a\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x4a\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x4a\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x4a\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x4a\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x4a\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x4a\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x4a\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x4a\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x4a\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x4a\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x4a\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x4a\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x4a\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x4a\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x4a\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x4a\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x4a\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x4a\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x4a\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x4a\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x4a\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x4a\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x4a\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x4a\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x4a\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x4a\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x4a\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x4a\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x4a\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x4a\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x4a\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x4a\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x4a\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x4a\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x4a\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x4a\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x4a\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x4a\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x4a\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x4a\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x4a\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x4a\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x4a\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x4a\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x4a\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x4a\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x4a\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x4a\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x4a\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x4a\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x4a\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x4a\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x4a\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x4a\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x4a\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x4a\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x4a\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x4a\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x4a\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x4a\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x4a\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x4a\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x4a\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x4a\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x4a\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x4a\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x4a\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x4a\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x4a\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x4a\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x4a\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x4a\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x4a\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x4a\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x4a\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x4a\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x4a\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x4a\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x4a\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x4a\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x4a\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x4a\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x4a\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x4a\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x4a\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x4a\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x4a\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x4a\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x4a\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x4a\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x4a\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x4a\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x4a\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x4a\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x4a\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x4a\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x4a\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x4a\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x4a\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x4a\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x4a\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x4a\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x4a\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x4a\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x4a\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x4a\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x4a\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x4a\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x4a\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x4a\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x4a\x42\x68";
|
|
} // end switch(key)
|
|
case 0xa:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x4d\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x4d\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x4d\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x4d\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x4d\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x4d\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x4d\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x4d\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x4d\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x4d\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x4d\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x4d\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x4d\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x4d\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x4d\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x4d\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x4d\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x4d\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x4d\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x4d\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x4d\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x4d\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x4d\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x4d\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x4d\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x4d\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x4d\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x4d\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x4d\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x4d\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x4d\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x4d\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x4d\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x4d\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x4d\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x4d\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x4d\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x4d\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x4d\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x4d\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x4d\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x4d\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x4d\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x4d\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x4d\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x4d\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x4d\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x4d\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x4d\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x4d\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x4d\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x4d\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x4d\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x4d\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x4d\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x4d\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x4d\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x4d\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x4d\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x4d\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x4d\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x4d\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x4d\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x4d\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x4d\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x4d\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x4d\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x4d\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x4d\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x4d\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x4d\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x4d\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x4d\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x4d\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x4d\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x4d\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x4d\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x4d\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x4d\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x4d\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x4d\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x4d\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x4d\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x4d\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x4d\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x4d\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x4d\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x4d\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x4d\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x4d\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x4d\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x4d\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x4d\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x4d\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x4d\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x4d\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x4d\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x4d\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x4d\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x4d\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x4d\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x4d\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x4d\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x4d\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x4d\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x4d\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x4d\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x4d\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x4d\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x4d\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x4d\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x4d\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x4d\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x4d\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x4d\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x4d\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x4d\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x4d\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x4d\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x4d\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x4d\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x4d\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x4d\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x4d\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x4d\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x4d\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x4d\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x4d\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x4d\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x4d\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x4d\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x4d\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x4d\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x4d\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x4d\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x4d\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x4d\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x4d\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x4d\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x4d\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x4d\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x4d\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x4d\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x4d\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x4d\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x4d\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x4d\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x4d\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x4d\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x4d\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x4d\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x4d\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x4d\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x4d\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x4d\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x4d\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x4d\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x4d\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x4d\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x4d\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x4d\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x4d\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x4d\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x4d\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x4d\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x4d\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x4d\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x4d\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x4d\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x4d\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x4d\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x4d\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x4d\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x4d\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x4d\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x4d\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x4d\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x4d\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x4d\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x4d\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x4d\x42\x68";
|
|
} // end switch(key)
|
|
case 0xb:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x4e\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x4e\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x4e\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x4e\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x4e\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x4e\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x4e\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x4e\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x4e\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x4e\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x4e\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x4e\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x4e\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x4e\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x4e\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x4e\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x4e\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x4e\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x4e\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x4e\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x4e\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x4e\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x4e\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x4e\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x4e\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x4e\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x4e\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x4e\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x4e\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x4e\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x4e\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x4e\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x4e\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x4e\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x4e\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x4e\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x4e\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x4e\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x4e\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x4e\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x4e\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x4e\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x4e\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x4e\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x4e\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x4e\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x4e\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x4e\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x4e\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x4e\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x4e\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x4e\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x4e\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x4e\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x4e\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x4e\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x4e\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x4e\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x4e\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x4e\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x4e\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x4e\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x4e\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x4e\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x4e\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x4e\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x4e\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x4e\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x4e\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x4e\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x4e\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x4e\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x4e\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x4e\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x4e\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x4e\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x4e\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x4e\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x4e\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x4e\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x4e\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x4e\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x4e\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x4e\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x4e\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x4e\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x4e\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x4e\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x4e\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x4e\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x4e\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x4e\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x4e\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x4e\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x4e\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x4e\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x4e\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x4e\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x4e\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x4e\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x4e\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x4e\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x4e\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x4e\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x4e\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x4e\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x4e\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x4e\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x4e\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x4e\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x4e\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x4e\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x4e\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x4e\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x4e\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x4e\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x4e\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x4e\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x4e\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x4e\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x4e\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x4e\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x4e\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x4e\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x4e\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x4e\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x4e\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x4e\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x4e\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x4e\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x4e\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x4e\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x4e\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x4e\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x4e\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x4e\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x4e\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x4e\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x4e\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x4e\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x4e\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x4e\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x4e\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x4e\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x4e\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x4e\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x4e\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x4e\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x4e\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x4e\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x4e\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x4e\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x4e\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x4e\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x4e\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x4e\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x4e\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x4e\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x4e\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x4e\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x4e\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x4e\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x4e\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x4e\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x4e\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x4e\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x4e\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x4e\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x4e\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x4e\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x4e\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x4e\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x4e\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x4e\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x4e\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x4e\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x4e\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x4e\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x4e\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x4e\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x4e\x42\x68";
|
|
} // end switch(key)
|
|
case 0xc:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x4b\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x4b\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x4b\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x4b\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x4b\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x4b\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x4b\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x4b\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x4b\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x4b\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x4b\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x4b\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x4b\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x4b\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x4b\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x4b\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x4b\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x4b\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x4b\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x4b\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x4b\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x4b\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x4b\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x4b\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x4b\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x4b\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x4b\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x4b\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x4b\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x4b\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x4b\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x4b\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x4b\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x4b\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x4b\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x4b\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x4b\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x4b\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x4b\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x4b\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x4b\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x4b\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x4b\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x4b\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x4b\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x4b\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x4b\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x4b\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x4b\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x4b\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x4b\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x4b\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x4b\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x4b\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x4b\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x4b\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x4b\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x4b\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x4b\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x4b\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x4b\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x4b\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x4b\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x4b\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x4b\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x4b\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x4b\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x4b\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x4b\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x4b\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x4b\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x4b\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x4b\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x4b\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x4b\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x4b\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x4b\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x4b\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x4b\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x4b\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x4b\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x4b\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x4b\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x4b\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x4b\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x4b\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x4b\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x4b\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x4b\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x4b\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x4b\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x4b\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x4b\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x4b\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x4b\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x4b\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x4b\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x4b\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x4b\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x4b\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x4b\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x4b\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x4b\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x4b\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x4b\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x4b\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x4b\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x4b\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x4b\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x4b\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x4b\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x4b\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x4b\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x4b\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x4b\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x4b\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x4b\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x4b\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x4b\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x4b\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x4b\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x4b\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x4b\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x4b\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x4b\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x4b\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x4b\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x4b\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x4b\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x4b\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x4b\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x4b\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x4b\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x4b\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x4b\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x4b\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x4b\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x4b\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x4b\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x4b\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x4b\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x4b\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x4b\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x4b\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x4b\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x4b\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x4b\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x4b\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x4b\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x4b\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x4b\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x4b\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x4b\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x4b\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x4b\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x4b\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x4b\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x4b\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x4b\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x4b\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x4b\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x4b\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x4b\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x4b\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x4b\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x4b\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x4b\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x4b\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x4b\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x4b\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x4b\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x4b\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x4b\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x4b\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x4b\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x4b\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x4b\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x4b\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x4b\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x4b\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x4b\x42\x68";
|
|
} // end switch(key)
|
|
case 0xd:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x4c\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x4c\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x4c\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x4c\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x4c\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x4c\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x4c\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x4c\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x4c\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x4c\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x4c\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x4c\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x4c\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x4c\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x4c\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x4c\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x4c\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x4c\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x4c\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x4c\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x4c\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x4c\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x4c\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x4c\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x4c\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x4c\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x4c\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x4c\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x4c\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x4c\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x4c\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x4c\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x4c\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x4c\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x4c\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x4c\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x4c\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x4c\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x4c\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x4c\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x4c\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x4c\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x4c\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x4c\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x4c\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x4c\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x4c\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x4c\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x4c\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x4c\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x4c\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x4c\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x4c\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x4c\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x4c\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x4c\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x4c\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x4c\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x4c\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x4c\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x4c\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x4c\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x4c\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x4c\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x4c\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x4c\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x4c\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x4c\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x4c\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x4c\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x4c\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x4c\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x4c\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x4c\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x4c\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x4c\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x4c\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x4c\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x4c\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x4c\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x4c\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x4c\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x4c\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x4c\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x4c\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x4c\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x4c\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x4c\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x4c\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x4c\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x4c\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x4c\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x4c\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x4c\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x4c\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x4c\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x4c\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x4c\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x4c\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x4c\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x4c\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x4c\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x4c\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x4c\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x4c\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x4c\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x4c\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x4c\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x4c\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x4c\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x4c\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x4c\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x4c\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x4c\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x4c\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x4c\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x4c\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x4c\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x4c\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x4c\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x4c\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x4c\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x4c\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x4c\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x4c\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x4c\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x4c\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x4c\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x4c\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x4c\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x4c\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x4c\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x4c\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x4c\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x4c\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x4c\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x4c\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x4c\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x4c\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x4c\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x4c\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x4c\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x4c\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x4c\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x4c\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x4c\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x4c\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x4c\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x4c\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x4c\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x4c\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x4c\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x4c\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x4c\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x4c\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x4c\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x4c\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x4c\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x4c\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x4c\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x4c\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x4c\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x4c\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x4c\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x4c\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x4c\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x4c\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x4c\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x4c\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x4c\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x4c\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x4c\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x4c\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x4c\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x4c\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x4c\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x4c\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x4c\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x4c\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x4c\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x4c\x42\x68";
|
|
} // end switch(key)
|
|
case 0xe:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x4f\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x4f\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x4f\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x4f\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x4f\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x4f\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x4f\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x4f\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x4f\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x4f\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x4f\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x4f\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x4f\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x4f\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x4f\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x4f\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x4f\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x4f\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x4f\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x4f\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x4f\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x4f\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x4f\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x4f\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x4f\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x4f\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x4f\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x4f\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x4f\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x4f\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x4f\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x4f\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x4f\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x4f\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x4f\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x4f\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x4f\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x4f\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x4f\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x4f\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x4f\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x4f\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x4f\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x4f\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x4f\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x4f\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x4f\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x4f\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x4f\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x4f\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x4f\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x4f\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x4f\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x4f\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x4f\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x4f\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x4f\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x4f\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x4f\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x4f\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x4f\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x4f\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x4f\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x4f\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x4f\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x4f\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x4f\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x4f\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x4f\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x4f\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x4f\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x4f\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x4f\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x4f\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x4f\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x4f\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x4f\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x4f\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x4f\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x4f\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x4f\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x4f\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x4f\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x4f\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x4f\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x4f\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x4f\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x4f\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x4f\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x4f\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x4f\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x4f\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x4f\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x4f\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x4f\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x4f\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x4f\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x4f\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x4f\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x4f\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x4f\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x4f\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x4f\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x4f\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x4f\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x4f\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x4f\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x4f\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x4f\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x4f\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x4f\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x4f\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x4f\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x4f\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x4f\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x4f\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x4f\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x4f\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x4f\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x4f\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x4f\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x4f\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x4f\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x4f\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x4f\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x4f\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x4f\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x4f\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x4f\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x4f\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x4f\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x4f\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x4f\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x4f\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x4f\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x4f\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x4f\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x4f\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x4f\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x4f\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x4f\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x4f\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x4f\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x4f\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x4f\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x4f\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x4f\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x4f\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x4f\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x4f\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x4f\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x4f\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x4f\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x4f\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x4f\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x4f\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x4f\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x4f\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x4f\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x4f\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x4f\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x4f\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x4f\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x4f\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x4f\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x4f\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x4f\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x4f\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x4f\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x4f\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x4f\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x4f\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x4f\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x4f\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x4f\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x4f\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x4f\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x4f\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x4f\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x4f\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x4f\x42\x68";
|
|
} // end switch(key)
|
|
case 0xf:
|
|
switch(key & 0xff) { default: return NULL;
|
|
case 0: // SPACE
|
|
return "\x04\x4b\x74\x50\x41";
|
|
case 1: // EXCLAM
|
|
return "\x05\x4b\x74\x50\x42\x6c";
|
|
case 2: // DOUBLE_QUOTE
|
|
return "\x05\x4b\x74\x50\x42\x6d";
|
|
case 3: // NUMBER_SIGN
|
|
return "\x05\x4b\x74\x50\x42\x6e";
|
|
case 4: // DOLLAR
|
|
return "\x05\x4b\x74\x50\x42\x6f";
|
|
case 5: // AMPERSAND
|
|
return "\x05\x4b\x74\x50\x42\x70";
|
|
case 6: // APOSTROPHE
|
|
return "\x04\x4b\x74\x50\x42";
|
|
case 7: // PARENTHESIS_LEFT
|
|
return "\x05\x4b\x74\x50\x42\x71";
|
|
case 8: // PARENTHESIS_RIGHT
|
|
return "\x05\x4b\x74\x50\x42\x72";
|
|
case 9: // PLUS
|
|
return "\x05\x4b\x74\x50\x42\x69";
|
|
case 10: // COMMA
|
|
return "\x04\x4b\x74\x50\x43";
|
|
case 11: // MINUS
|
|
return "\x04\x4b\x74\x50\x44";
|
|
case 12: // PERIOD
|
|
return "\x04\x4b\x74\x50\x45";
|
|
case 13: // SLASH
|
|
return "\x04\x4b\x74\x50\x46";
|
|
case 14: // 0
|
|
return "\x04\x4b\x74\x50\x47";
|
|
case 15: // 1
|
|
return "\x04\x4b\x74\x50\x48";
|
|
case 16: // 2
|
|
return "\x04\x4b\x74\x50\x49";
|
|
case 17: // 3
|
|
return "\x04\x4b\x74\x50\x4a";
|
|
case 18: // 4
|
|
return "\x04\x4b\x74\x50\x4b";
|
|
case 19: // 5
|
|
return "\x04\x4b\x74\x50\x4c";
|
|
case 20: // 6
|
|
return "\x04\x4b\x74\x50\x4d";
|
|
case 21: // 7
|
|
return "\x04\x4b\x74\x50\x4e";
|
|
case 22: // 8
|
|
return "\x04\x4b\x74\x50\x4f";
|
|
case 23: // 9
|
|
return "\x04\x4b\x74\x50\x50";
|
|
case 24: // COLON
|
|
return "\x05\x4b\x74\x50\x42\x73";
|
|
case 25: // SEMICOLON
|
|
return "\x04\x4b\x74\x50\x51";
|
|
case 26: // LESS
|
|
return "\x05\x4b\x74\x50\x42\x74";
|
|
case 27: // EQUAL
|
|
return "\x04\x4b\x74\x50\x52";
|
|
case 28: // GREATER
|
|
return "\x05\x4b\x74\x50\x42\x75";
|
|
case 29: // AT
|
|
return "\x05\x4b\x74\x50\x42\x76";
|
|
case 30: // A
|
|
return "\x04\x4b\x74\x50\x53";
|
|
case 31: // B
|
|
return "\x04\x4b\x74\x50\x54";
|
|
case 32: // C
|
|
return "\x04\x4b\x74\x50\x55";
|
|
case 33: // D
|
|
return "\x04\x4b\x74\x50\x56";
|
|
case 34: // E
|
|
return "\x04\x4b\x74\x50\x57";
|
|
case 35: // F
|
|
return "\x04\x4b\x74\x50\x58";
|
|
case 36: // G
|
|
return "\x04\x4b\x74\x50\x59";
|
|
case 37: // H
|
|
return "\x04\x4b\x74\x50\x5a";
|
|
case 38: // I
|
|
return "\x04\x4b\x74\x50\x61";
|
|
case 39: // J
|
|
return "\x04\x4b\x74\x50\x62";
|
|
case 40: // K
|
|
return "\x04\x4b\x74\x50\x63";
|
|
case 41: // L
|
|
return "\x04\x4b\x74\x50\x64";
|
|
case 42: // M
|
|
return "\x04\x4b\x74\x50\x65";
|
|
case 43: // N
|
|
return "\x04\x4b\x74\x50\x66";
|
|
case 44: // O
|
|
return "\x04\x4b\x74\x50\x67";
|
|
case 45: // P
|
|
return "\x04\x4b\x74\x50\x68";
|
|
case 46: // Q
|
|
return "\x04\x4b\x74\x50\x69";
|
|
case 47: // R
|
|
return "\x04\x4b\x74\x50\x6a";
|
|
case 48: // S
|
|
return "\x04\x4b\x74\x50\x6b";
|
|
case 49: // T
|
|
return "\x04\x4b\x74\x50\x6c";
|
|
case 50: // U
|
|
return "\x04\x4b\x74\x50\x6d";
|
|
case 51: // V
|
|
return "\x04\x4b\x74\x50\x6e";
|
|
case 52: // W
|
|
return "\x04\x4b\x74\x50\x6f";
|
|
case 53: // X
|
|
return "\x04\x4b\x74\x50\x70";
|
|
case 54: // Y
|
|
return "\x04\x4b\x74\x50\x71";
|
|
case 55: // Z
|
|
return "\x04\x4b\x74\x50\x72";
|
|
case 56: // LEFT_BRACKET
|
|
return "\x04\x4b\x74\x50\x73";
|
|
case 57: // BACKSLASH
|
|
return "\x04\x4b\x74\x50\x74";
|
|
case 58: // RIGHT_BRACKET
|
|
return "\x04\x4b\x74\x50\x75";
|
|
case 59: // CIRCUMFLEX
|
|
return "\x05\x4b\x74\x50\x43\x4e";
|
|
case 60: // UNDERSCORE
|
|
return "\x05\x4b\x74\x50\x42\x6a";
|
|
case 61: // GRAVE_ACCENT
|
|
return "\x04\x4b\x74\x50\x76";
|
|
case 62: // WORLD_1
|
|
return "\x04\x4b\x74\x50\x77";
|
|
case 63: // WORLD_2
|
|
return "\x04\x4b\x74\x50\x78";
|
|
case 64: // PARAGRAPH
|
|
return "\x05\x4b\x74\x50\x42\x77";
|
|
case 65: // MASCULINE
|
|
return "\x05\x4b\x74\x50\x42\x78";
|
|
case 66: // A_GRAVE
|
|
return "\x05\x4b\x74\x50\x42\x79";
|
|
case 67: // A_DIAERESIS
|
|
return "\x05\x4b\x74\x50\x42\x7a";
|
|
case 68: // A_RING
|
|
return "\x05\x4b\x74\x50\x42\x30";
|
|
case 69: // AE
|
|
return "\x05\x4b\x74\x50\x42\x31";
|
|
case 70: // C_CEDILLA
|
|
return "\x05\x4b\x74\x50\x42\x32";
|
|
case 71: // E_GRAVE
|
|
return "\x05\x4b\x74\x50\x42\x33";
|
|
case 72: // E_ACUTE
|
|
return "\x05\x4b\x74\x50\x42\x34";
|
|
case 73: // I_GRAVE
|
|
return "\x05\x4b\x74\x50\x42\x35";
|
|
case 74: // N_TILDE
|
|
return "\x05\x4b\x74\x50\x42\x36";
|
|
case 75: // O_GRAVE
|
|
return "\x05\x4b\x74\x50\x42\x37";
|
|
case 76: // O_DIAERESIS
|
|
return "\x05\x4b\x74\x50\x42\x38";
|
|
case 77: // O_SLASH
|
|
return "\x05\x4b\x74\x50\x42\x39";
|
|
case 78: // U_GRAVE
|
|
return "\x05\x4b\x74\x50\x42\x2e";
|
|
case 79: // U_DIAERESIS
|
|
return "\x05\x4b\x74\x50\x42\x2d";
|
|
case 80: // S_SHARP
|
|
return "\x05\x4b\x74\x50\x42\x3a";
|
|
case 81: // CYRILLIC_A
|
|
return "\x05\x4b\x74\x50\x42\x2b";
|
|
case 82: // CYRILLIC_BE
|
|
return "\x05\x4b\x74\x50\x42\x3d";
|
|
case 83: // CYRILLIC_VE
|
|
return "\x05\x4b\x74\x50\x42\x5e";
|
|
case 84: // CYRILLIC_GHE
|
|
return "\x05\x4b\x74\x50\x42\x21";
|
|
case 85: // CYRILLIC_DE
|
|
return "\x05\x4b\x74\x50\x42\x2f";
|
|
case 86: // CYRILLIC_IE
|
|
return "\x05\x4b\x74\x50\x42\x2a";
|
|
case 87: // CYRILLIC_ZHE
|
|
return "\x05\x4b\x74\x50\x42\x3f";
|
|
case 88: // CYRILLIC_ZE
|
|
return "\x05\x4b\x74\x50\x42\x26";
|
|
case 89: // CYRILLIC_I
|
|
return "\x05\x4b\x74\x50\x42\x3c";
|
|
case 90: // CYRILLIC_SHORT_I
|
|
return "\x05\x4b\x74\x50\x42\x3e";
|
|
case 91: // CYRILLIC_KA
|
|
return "\x05\x4b\x74\x50\x42\x28";
|
|
case 92: // CYRILLIC_EL
|
|
return "\x05\x4b\x74\x50\x42\x29";
|
|
case 93: // CYRILLIC_EM
|
|
return "\x05\x4b\x74\x50\x42\x5b";
|
|
case 94: // CYRILLIC_EN
|
|
return "\x05\x4b\x74\x50\x42\x5d";
|
|
case 95: // CYRILLIC_O
|
|
return "\x05\x4b\x74\x50\x42\x7b";
|
|
case 96: // CYRILLIC_PE
|
|
return "\x05\x4b\x74\x50\x42\x7d";
|
|
case 97: // CYRILLIC_ER
|
|
return "\x05\x4b\x74\x50\x42\x40";
|
|
case 98: // CYRILLIC_ES
|
|
return "\x05\x4b\x74\x50\x42\x25";
|
|
case 99: // CYRILLIC_TE
|
|
return "\x05\x4b\x74\x50\x42\x24";
|
|
case 100: // CYRILLIC_U
|
|
return "\x05\x4b\x74\x50\x42\x23";
|
|
case 101: // CYRILLIC_EF
|
|
return "\x05\x4b\x74\x50\x43\x41";
|
|
case 102: // CYRILLIC_HA
|
|
return "\x05\x4b\x74\x50\x43\x42";
|
|
case 103: // CYRILLIC_TSE
|
|
return "\x05\x4b\x74\x50\x43\x43";
|
|
case 104: // CYRILLIC_CHE
|
|
return "\x05\x4b\x74\x50\x43\x44";
|
|
case 105: // CYRILLIC_SHA
|
|
return "\x05\x4b\x74\x50\x43\x45";
|
|
case 106: // CYRILLIC_SHCHA
|
|
return "\x05\x4b\x74\x50\x43\x46";
|
|
case 107: // CYRILLIC_HARD_SIGN
|
|
return "\x05\x4b\x74\x50\x43\x47";
|
|
case 108: // CYRILLIC_YERU
|
|
return "\x05\x4b\x74\x50\x43\x48";
|
|
case 109: // CYRILLIC_SOFT_SIGN
|
|
return "\x05\x4b\x74\x50\x43\x49";
|
|
case 110: // CYRILLIC_E
|
|
return "\x05\x4b\x74\x50\x43\x4a";
|
|
case 111: // CYRILLIC_YU
|
|
return "\x05\x4b\x74\x50\x43\x4b";
|
|
case 112: // CYRILLIC_YA
|
|
return "\x05\x4b\x74\x50\x43\x4c";
|
|
case 113: // CYRILLIC_IO
|
|
return "\x05\x4b\x74\x50\x43\x4d";
|
|
case 114: // ESCAPE
|
|
return "\x04\x4b\x74\x50\x79";
|
|
case 115: // ENTER
|
|
return "\x04\x4b\x74\x50\x7a";
|
|
case 116: // TAB
|
|
return "\x04\x4b\x74\x50\x30";
|
|
case 117: // BACKSPACE
|
|
return "\x04\x4b\x74\x50\x31";
|
|
case 118: // INSERT
|
|
return "\x04\x4b\x74\x50\x32";
|
|
case 119: // DELETE
|
|
return "\x04\x4b\x74\x50\x33";
|
|
case 120: // RIGHT
|
|
return "\x04\x4b\x74\x50\x34";
|
|
case 121: // LEFT
|
|
return "\x04\x4b\x74\x50\x35";
|
|
case 122: // DOWN
|
|
return "\x04\x4b\x74\x50\x36";
|
|
case 123: // UP
|
|
return "\x04\x4b\x74\x50\x37";
|
|
case 124: // PAGE_UP
|
|
return "\x04\x4b\x74\x50\x38";
|
|
case 125: // PAGE_DOWN
|
|
return "\x04\x4b\x74\x50\x39";
|
|
case 126: // HOME
|
|
return "\x04\x4b\x74\x50\x2e";
|
|
case 127: // END
|
|
return "\x04\x4b\x74\x50\x2d";
|
|
case 128: // CAPS_LOCK
|
|
return "\x04\x4b\x74\x50\x3a";
|
|
case 129: // SCROLL_LOCK
|
|
return "\x04\x4b\x74\x50\x2b";
|
|
case 130: // NUM_LOCK
|
|
return "\x04\x4b\x74\x50\x3d";
|
|
case 131: // PRINT_SCREEN
|
|
return "\x04\x4b\x74\x50\x5e";
|
|
case 132: // PAUSE
|
|
return "\x04\x4b\x74\x50\x21";
|
|
case 133: // F1
|
|
return "\x04\x4b\x74\x50\x2f";
|
|
case 134: // F2
|
|
return "\x04\x4b\x74\x50\x2a";
|
|
case 135: // F3
|
|
return "\x04\x4b\x74\x50\x3f";
|
|
case 136: // F4
|
|
return "\x04\x4b\x74\x50\x26";
|
|
case 137: // F5
|
|
return "\x04\x4b\x74\x50\x3c";
|
|
case 138: // F6
|
|
return "\x04\x4b\x74\x50\x3e";
|
|
case 139: // F7
|
|
return "\x04\x4b\x74\x50\x28";
|
|
case 140: // F8
|
|
return "\x04\x4b\x74\x50\x29";
|
|
case 141: // F9
|
|
return "\x04\x4b\x74\x50\x5b";
|
|
case 142: // F10
|
|
return "\x04\x4b\x74\x50\x5d";
|
|
case 143: // F11
|
|
return "\x04\x4b\x74\x50\x7b";
|
|
case 144: // F12
|
|
return "\x04\x4b\x74\x50\x7d";
|
|
case 145: // F13
|
|
return "\x04\x4b\x74\x50\x40";
|
|
case 146: // F14
|
|
return "\x04\x4b\x74\x50\x25";
|
|
case 147: // F15
|
|
return "\x04\x4b\x74\x50\x24";
|
|
case 148: // F16
|
|
return "\x04\x4b\x74\x50\x23";
|
|
case 149: // F17
|
|
return "\x05\x4b\x74\x50\x42\x41";
|
|
case 150: // F18
|
|
return "\x05\x4b\x74\x50\x42\x42";
|
|
case 151: // F19
|
|
return "\x05\x4b\x74\x50\x42\x43";
|
|
case 152: // F20
|
|
return "\x05\x4b\x74\x50\x42\x44";
|
|
case 153: // F21
|
|
return "\x05\x4b\x74\x50\x42\x45";
|
|
case 154: // F22
|
|
return "\x05\x4b\x74\x50\x42\x46";
|
|
case 155: // F23
|
|
return "\x05\x4b\x74\x50\x42\x47";
|
|
case 156: // F24
|
|
return "\x05\x4b\x74\x50\x42\x48";
|
|
case 157: // F25
|
|
return "\x05\x4b\x74\x50\x42\x49";
|
|
case 158: // KP_0
|
|
return "\x05\x4b\x74\x50\x42\x4a";
|
|
case 159: // KP_1
|
|
return "\x05\x4b\x74\x50\x42\x4b";
|
|
case 160: // KP_2
|
|
return "\x05\x4b\x74\x50\x42\x4c";
|
|
case 161: // KP_3
|
|
return "\x05\x4b\x74\x50\x42\x4d";
|
|
case 162: // KP_4
|
|
return "\x05\x4b\x74\x50\x42\x4e";
|
|
case 163: // KP_5
|
|
return "\x05\x4b\x74\x50\x42\x4f";
|
|
case 164: // KP_6
|
|
return "\x05\x4b\x74\x50\x42\x50";
|
|
case 165: // KP_7
|
|
return "\x05\x4b\x74\x50\x42\x51";
|
|
case 166: // KP_8
|
|
return "\x05\x4b\x74\x50\x42\x52";
|
|
case 167: // KP_9
|
|
return "\x05\x4b\x74\x50\x42\x53";
|
|
case 168: // KP_DECIMAL
|
|
return "\x05\x4b\x74\x50\x42\x54";
|
|
case 169: // KP_DIVIDE
|
|
return "\x05\x4b\x74\x50\x42\x55";
|
|
case 170: // KP_MULTIPLY
|
|
return "\x05\x4b\x74\x50\x42\x56";
|
|
case 171: // KP_SUBTRACT
|
|
return "\x05\x4b\x74\x50\x42\x57";
|
|
case 172: // KP_ADD
|
|
return "\x05\x4b\x74\x50\x42\x58";
|
|
case 173: // KP_ENTER
|
|
return "\x05\x4b\x74\x50\x42\x59";
|
|
case 174: // KP_EQUAL
|
|
return "\x05\x4b\x74\x50\x42\x5a";
|
|
case 176: // LEFT_CONTROL
|
|
return "\x05\x4b\x74\x50\x42\x62";
|
|
case 177: // LEFT_ALT
|
|
return "\x05\x4b\x74\x50\x42\x63";
|
|
case 178: // LEFT_SUPER
|
|
return "\x05\x4b\x74\x50\x42\x64";
|
|
case 180: // RIGHT_CONTROL
|
|
return "\x05\x4b\x74\x50\x42\x66";
|
|
case 181: // RIGHT_ALT
|
|
return "\x05\x4b\x74\x50\x42\x67";
|
|
case 182: // RIGHT_SUPER
|
|
return "\x05\x4b\x74\x50\x42\x68";
|
|
} // end switch(key)
|
|
} // end switch(mods)
|
|
break;
|
|
|
|
} // end switch(action) in mode EXTENDED
|
|
break;
|
|
|
|
|
|
}
|
|
return NULL;
|
|
}
|