af821277f8eee0e3de2b81ecaa7327495adfafbc
[fceu.git] / drivers / cli / keyscan.h
1 #ifdef SVGALIB\r
2 \r
3 #include <vgakeyboard.h>\r
4 #define SCANCODE_DELETE SCANCODE_REMOVE\r
5 #define SCANCODE_KP_MINUS       SCANCODE_KEYPADMINUS\r
6 #define SCANCODE_KP_PLUS        SCANCODE_KEYPADPLUS\r
7 #define MK(k) SCANCODE_##k\r
8 #define MK_COUNT 256\r
9 #elif SDL\r
10 #include <SDL.h>\r
11 #define SDLK_A SDLK_a\r
12 #define SDLK_B SDLK_b\r
13 #define SDLK_C SDLK_c\r
14 #define SDLK_D SDLK_d\r
15 #define SDLK_E SDLK_e\r
16 #define SDLK_F SDLK_f\r
17 #define SDLK_G SDLK_g\r
18 #define SDLK_H SDLK_h\r
19 #define SDLK_I SDLK_i\r
20 #define SDLK_J SDLK_j\r
21 #define SDLK_K SDLK_k\r
22 #define SDLK_L SDLK_l\r
23 #define SDLK_M SDLK_m\r
24 #define SDLK_N SDLK_n\r
25 #define SDLK_O SDLK_o\r
26 #define SDLK_P SDLK_p\r
27 #define SDLK_Q SDLK_q\r
28 #define SDLK_R SDLK_r\r
29 #define SDLK_S SDLK_s\r
30 #define SDLK_T SDLK_t\r
31 #define SDLK_U SDLK_u\r
32 #define SDLK_V SDLK_v\r
33 #define SDLK_W SDLK_w\r
34 #define SDLK_X SDLK_x\r
35 #define SDLK_Y SDLK_y\r
36 #define SDLK_Z SDLK_z\r
37 #define SDLK_LEFTCONTROL SDLK_LCTRL\r
38 #define SDLK_RIGHTCONTROL SDLK_RCTRL\r
39 #define SDLK_LEFTALT SDLK_LALT\r
40 #define SDLK_RIGHTALT SDLK_RALT\r
41 #define SDLK_LEFTSHIFT SDLK_LSHIFT\r
42 #define SDLK_RIGHTSHIFT SDLK_RSHIFT\r
43 #define SDLK_CURSORDOWN SDLK_DOWN\r
44 #define SDLK_CURSORUP SDLK_UP\r
45 #define SDLK_CURSORLEFT SDLK_LEFT\r
46 #define SDLK_CURSORRIGHT SDLK_RIGHT\r
47 #define SDLK_ENTER SDLK_RETURN\r
48 #define SDLK_EQUAL SDLK_EQUALS\r
49 #define SDLK_APOSTROPHE SDLK_QUOTE\r
50 #define SDLK_BRACKET_LEFT SDLK_LEFTBRACKET\r
51 #define SDLK_BRACKET_RIGHT SDLK_RIGHTBRACKET\r
52 #define SDLK_SCROLLLOCK SDLK_SCROLLOCK          /* I guess the SDL people don't like lots of Ls... */\r
53 #define SDLK_GRAVE      SDLK_BACKQUOTE\r
54 #define MK(k) SDLK_##k\r
55 #define MK_COUNT (SDLK_LAST+1)\r
56 #elif DOS\r
57 \r
58 #define SCAN_GRAVE      0x29\r
59 #define SCAN_1          0x02\r
60 #define SCAN_2          0x03\r
61 #define SCAN_3          0x04\r
62 #define SCAN_4          0x05\r
63 #define SCAN_5          0x06\r
64 #define SCAN_6          0x07\r
65 #define SCAN_7          0x08\r
66 #define SCAN_8          0x09\r
67 #define SCAN_9          0x0A\r
68 #define SCAN_0          0x0B\r
69 #define SCAN_MINUS      0x0C\r
70 #define SCAN_EQUAL      0x0D\r
71 #define SCAN_BACKSLASH  0x2B\r
72 #define SCAN_BACKSPACE  0x0E\r
73 #define SCAN_TAB        0x0F\r
74 #define SCAN_Q          0x10\r
75 #define SCAN_W          0x11\r
76 #define SCAN_E          0x12\r
77 #define SCAN_R          0x13\r
78 #define SCAN_T          0x14\r
79 #define SCAN_Y          0x15\r
80 #define SCAN_U          0x16\r
81 #define SCAN_I          0x17\r
82 #define SCAN_O          0x18\r
83 #define SCAN_P          0x19\r
84 #define SCAN_BRACKET_LEFT       0x1A\r
85 #define SCAN_BRACKET_RIGHT      0x1B\r
86 #define SCAN_LOWBACKSLASH       0x2B\r
87 #define SCAN_CAPSLOCK   0x3A\r
88 #define SCAN_A          0x1E\r
89 #define SCAN_S          0x1F\r
90 #define SCAN_D          0x20\r
91 #define SCAN_F          0x21\r
92 #define SCAN_G          0x22\r
93 #define SCAN_H          0x23\r
94 #define SCAN_J          0x24\r
95 #define SCAN_K          0x25\r
96 #define SCAN_L          0x26\r
97 #define SCAN_SEMICOLON  0x27\r
98 #define SCAN_APOSTROPHE 0x28\r
99 #define SCAN_ENTER      0x1C\r
100 #define SCAN_LEFTSHIFT  0x2A\r
101 #define SCAN_Z          0x2C\r
102 #define SCAN_X          0x2D\r
103 #define SCAN_C          0x2E\r
104 #define SCAN_V          0x2F\r
105 #define SCAN_B          0x30\r
106 #define SCAN_N          0x31\r
107 #define SCAN_M          0x32\r
108 #define SCAN_COMMA      0x33\r
109 #define SCAN_PERIOD     0x34\r
110 #define SCAN_SLASH      0x35\r
111 #define SCAN_RIGHTSHIFT 0x36\r
112 #define SCAN_LEFTCONTROL        0x1D\r
113 #define SCAN_LEFTALT            0x38\r
114 #define SCAN_SPACE              0x39\r
115 \r
116 /* Extended keys. */\r
117 #define SCAN_RIGHTALT           (0x38|0x80)\r
118 #define SCAN_RIGHTCONTROL       (0x1D|0x80)\r
119 #define SCAN_BL_INSERT          (0x52|0x80)\r
120 #define SCAN_BL_DELETE          (0x53|0x80)\r
121 #define SCAN_BL_CURSORLEFT      (0x4B|0x80)\r
122 #define SCAN_BL_HOME            (0x47|0x80)\r
123 #define SCAN_BL_END             (0x4F|0x80)\r
124 #define SCAN_BL_CURSORUP        (0x48|0x80)\r
125 #define SCAN_BL_CURSORDOWN      (0x50|0x80)\r
126 #define SCAN_BL_PAGEUP          (0x49|0x80)\r
127 #define SCAN_BL_PAGEDOWN        (0x51|0x80)\r
128 #define SCAN_BL_CURSORRIGHT     (0x4D|0x80)\r
129 \r
130 #define SCAN_SCROLLLOCK         0x46\r
131 /* Keys in the key pad area. */\r
132 #define SCAN_NUMLOCK            0x45\r
133 #define SCAN_HOME               0x47\r
134 #define SCAN_CURSORLEFT         0x4B\r
135 #define SCAN_END                0x4F\r
136 #define SCAN_SLASH              0x35\r
137 #define SCAN_CURSORUP           0x48\r
138 #define SCAN_CENTER             0x4C\r
139 #define SCAN_CURSORDOWN         0x50\r
140 #define SCAN_INSERT             0x52\r
141 #define SCAN_ASTERISK           0x37\r
142 #define SCAN_PAGEUP             0x49\r
143 #define SCAN_CURSORRIGHT        0x4D\r
144 #define SCAN_PAGEDOWN           0x51\r
145 #define SCAN_DELETE          0x53\r
146 #define SCAN_KP_MINUS           0x4A\r
147 #define SCAN_KP_PLUS            0x4E\r
148 #define SCAN_KP_ENTER           0x1C\r
149 \r
150 #define SCAN_ESCAPE             0x01\r
151 #define SCAN_F1                 0x3B\r
152 #define SCAN_F2                 0x3C\r
153 #define SCAN_F3                 0x3D\r
154 #define SCAN_F4                 0x3E\r
155 #define SCAN_F5                 0x3F\r
156 #define SCAN_F6                 0x40\r
157 #define SCAN_F7                 0x41\r
158 #define SCAN_F8                 0x42\r
159 #define SCAN_F9                 0x43\r
160 #define SCAN_F10                0x44\r
161 #define SCAN_F11                0x57\r
162 #define SCAN_F12                0x58\r
163  \r
164 #define MK_COUNT 256\r
165 #define MK(k) SCAN_##k\r
166 #endif\r