root / lab4 / .minix-src / include / minix / input.h @ 14
History | View | Annotate | Download (6.49 KB)
1 | 13 | up20180614 | #ifndef _MINIX_INPUT_H
|
---|---|---|---|
2 | #define _MINIX_INPUT_H
|
||
3 | |||
4 | #include <sys/types.h> |
||
5 | |||
6 | #ifdef _SYSTEM
|
||
7 | |||
8 | /* Device type. */
|
||
9 | #define INPUT_DEV_KBD 0x01 /* keyboard device */ |
||
10 | #define INPUT_DEV_MOUSE 0x02 /* mouse device */ |
||
11 | |||
12 | /* Known-invalid input device ID. */
|
||
13 | #define INVALID_INPUT_ID (-1) |
||
14 | |||
15 | #endif /* _SYSTEM */ |
||
16 | |||
17 | /*
|
||
18 | * The input server heavily draws on the USB HID specification for events.
|
||
19 | * Every driver should convert its event codes into this format. This also
|
||
20 | * implies that we use the U.S. keyboard layout for key events. The mapping to
|
||
21 | * localized keyboard layouts will be done at a different place (TTY, Xserver).
|
||
22 | */
|
||
23 | |||
24 | /* A single event, as read from one of the input devices. */
|
||
25 | struct input_event {
|
||
26 | uint16_t page; /* event page (INPUT_PAGE_) */
|
||
27 | uint16_t code; /* page-specific event code */
|
||
28 | int32_t value; /* event value */
|
||
29 | uint16_t flags; /* event flags (INPUT_FLAG_) */
|
||
30 | uint16_t devid; /* identifier of source device */
|
||
31 | uint32_t rsvd[2]; /* reserved for a future timestamp */ |
||
32 | }; |
||
33 | |||
34 | /* Event pages. */
|
||
35 | #define INPUT_PAGE_GD 0x0001 /* General Desktop page */ |
||
36 | #define INPUT_PAGE_KEY 0x0007 /* Keyboard/Keypad page */ |
||
37 | #define INPUT_PAGE_LED 0x0008 /* LED page */ |
||
38 | #define INPUT_PAGE_BUTTON 0x0009 /* Button page */ |
||
39 | #define INPUT_PAGE_CONS 0x000C /* Consumer page */ |
||
40 | |||
41 | /* Event values. Not exhaustive. */
|
||
42 | #define INPUT_RELEASE 0 |
||
43 | #define INPUT_PRESS 1 |
||
44 | |||
45 | /* Event flags. */
|
||
46 | #define INPUT_FLAG_ABS 0x00 /* absolute value (the default) */ |
||
47 | #define INPUT_FLAG_REL 0x04 /* relative value */ |
||
48 | |||
49 | /* Page-specific event codes. */
|
||
50 | enum {
|
||
51 | INPUT_GD_X = 0x0030,
|
||
52 | INPUT_GD_Y, |
||
53 | |||
54 | INPUT_GD_SYSTEM_POWER_DOWN = 0x0081,
|
||
55 | INPUT_GD_SYSTEM_SLEEP, |
||
56 | INPUT_GD_SYSTEM_WAKE_UP |
||
57 | }; |
||
58 | |||
59 | enum {
|
||
60 | INPUT_KEY_A = 0x0004,
|
||
61 | INPUT_KEY_B, |
||
62 | INPUT_KEY_C, |
||
63 | INPUT_KEY_D, |
||
64 | INPUT_KEY_E, |
||
65 | INPUT_KEY_F, |
||
66 | INPUT_KEY_G, |
||
67 | INPUT_KEY_H, |
||
68 | INPUT_KEY_I, |
||
69 | INPUT_KEY_J, |
||
70 | INPUT_KEY_K, |
||
71 | INPUT_KEY_L, |
||
72 | INPUT_KEY_M, |
||
73 | INPUT_KEY_N, |
||
74 | INPUT_KEY_O, |
||
75 | INPUT_KEY_P, |
||
76 | INPUT_KEY_Q, |
||
77 | INPUT_KEY_R, |
||
78 | INPUT_KEY_S, |
||
79 | INPUT_KEY_T, |
||
80 | INPUT_KEY_U, |
||
81 | INPUT_KEY_V, |
||
82 | INPUT_KEY_W, |
||
83 | INPUT_KEY_X, |
||
84 | INPUT_KEY_Y, |
||
85 | INPUT_KEY_Z, |
||
86 | INPUT_KEY_1, |
||
87 | INPUT_KEY_2, |
||
88 | INPUT_KEY_3, |
||
89 | INPUT_KEY_4, |
||
90 | INPUT_KEY_5, |
||
91 | INPUT_KEY_6, |
||
92 | INPUT_KEY_7, |
||
93 | INPUT_KEY_8, |
||
94 | INPUT_KEY_9, |
||
95 | INPUT_KEY_0, |
||
96 | |||
97 | INPUT_KEY_ENTER, |
||
98 | INPUT_KEY_ESCAPE, |
||
99 | INPUT_KEY_BACKSPACE, |
||
100 | INPUT_KEY_TAB, |
||
101 | INPUT_KEY_SPACEBAR, |
||
102 | INPUT_KEY_DASH, |
||
103 | INPUT_KEY_EQUAL, |
||
104 | INPUT_KEY_OPEN_BRACKET, |
||
105 | INPUT_KEY_CLOSE_BRACKET, |
||
106 | INPUT_KEY_BACKSLASH, |
||
107 | INPUT_KEY_EUROPE_1, |
||
108 | INPUT_KEY_SEMICOLON, |
||
109 | INPUT_KEY_APOSTROPH, |
||
110 | INPUT_KEY_GRAVE_ACCENT, |
||
111 | INPUT_KEY_COMMA, |
||
112 | INPUT_KEY_PERIOD, |
||
113 | INPUT_KEY_SLASH, |
||
114 | INPUT_KEY_CAPS_LOCK, |
||
115 | |||
116 | INPUT_KEY_F1, |
||
117 | INPUT_KEY_F2, |
||
118 | INPUT_KEY_F3, |
||
119 | INPUT_KEY_F4, |
||
120 | INPUT_KEY_F5, |
||
121 | INPUT_KEY_F6, |
||
122 | INPUT_KEY_F7, |
||
123 | INPUT_KEY_F8, |
||
124 | INPUT_KEY_F9, |
||
125 | INPUT_KEY_F10, |
||
126 | INPUT_KEY_F11, |
||
127 | INPUT_KEY_F12, |
||
128 | |||
129 | INPUT_KEY_PRINT_SCREEN, |
||
130 | INPUT_KEY_SCROLL_LOCK, |
||
131 | INPUT_KEY_PAUSE, |
||
132 | INPUT_KEY_INSERT, |
||
133 | INPUT_KEY_HOME, |
||
134 | INPUT_KEY_PAGE_UP, |
||
135 | INPUT_KEY_DELETE, |
||
136 | INPUT_KEY_END, |
||
137 | INPUT_KEY_PAGE_DOWN, |
||
138 | INPUT_KEY_RIGHT_ARROW, |
||
139 | INPUT_KEY_LEFT_ARROW, |
||
140 | INPUT_KEY_DOWN_ARROW, |
||
141 | INPUT_KEY_UP_ARROW, |
||
142 | INPUT_KEY_NUM_LOCK, |
||
143 | |||
144 | INPUT_KEY_KP_SLASH, |
||
145 | INPUT_KEY_KP_STAR, |
||
146 | INPUT_KEY_KP_DASH, |
||
147 | INPUT_KEY_KP_PLUS, |
||
148 | INPUT_KEY_KP_ENTER, |
||
149 | INPUT_KEY_KP_1, |
||
150 | INPUT_KEY_KP_2, |
||
151 | INPUT_KEY_KP_3, |
||
152 | INPUT_KEY_KP_4, |
||
153 | INPUT_KEY_KP_5, |
||
154 | INPUT_KEY_KP_6, |
||
155 | INPUT_KEY_KP_7, |
||
156 | INPUT_KEY_KP_8, |
||
157 | INPUT_KEY_KP_9, |
||
158 | INPUT_KEY_KP_0, |
||
159 | INPUT_KEY_KP_PERIOD, |
||
160 | |||
161 | INPUT_KEY_EUROPE_2, |
||
162 | INPUT_KEY_APPLICATION, |
||
163 | INPUT_KEY_POWER, |
||
164 | INPUT_KEY_KP_EQUAL, |
||
165 | |||
166 | INPUT_KEY_F13, |
||
167 | INPUT_KEY_F14, |
||
168 | INPUT_KEY_F15, |
||
169 | INPUT_KEY_F16, |
||
170 | INPUT_KEY_F17, |
||
171 | INPUT_KEY_F18, |
||
172 | INPUT_KEY_F19, |
||
173 | INPUT_KEY_F20, |
||
174 | INPUT_KEY_F21, |
||
175 | INPUT_KEY_F22, |
||
176 | INPUT_KEY_F23, |
||
177 | INPUT_KEY_F24, |
||
178 | |||
179 | INPUT_KEY_EXECUTE, |
||
180 | INPUT_KEY_HELP, |
||
181 | INPUT_KEY_MENU, |
||
182 | INPUT_KEY_SELECT, |
||
183 | INPUT_KEY_STOP, |
||
184 | INPUT_KEY_AGAIN, |
||
185 | INPUT_KEY_UNDO, |
||
186 | INPUT_KEY_CUT, |
||
187 | INPUT_KEY_COPY, |
||
188 | INPUT_KEY_PASTE, |
||
189 | INPUT_KEY_FIND, |
||
190 | INPUT_KEY_MUTE, |
||
191 | INPUT_KEY_VOLUME_UP, |
||
192 | INPUT_KEY_VOLUME_DOWN, |
||
193 | INPUT_KEY_LOCKING_CAPS_LOCK, |
||
194 | INPUT_KEY_LOCKING_NUM_LOCK, |
||
195 | INPUT_KEY_LOCKING_SCROLL_LOCK, |
||
196 | INPUT_KEY_KP_COMMA, |
||
197 | INPUT_KEY_EQUAL_SIGN, |
||
198 | INPUT_KEY_I10L_1, |
||
199 | INPUT_KEY_I10L_2, |
||
200 | INPUT_KEY_I10L_3, |
||
201 | INPUT_KEY_I10L_4, |
||
202 | INPUT_KEY_I10L_5, |
||
203 | INPUT_KEY_I10L_6, |
||
204 | INPUT_KEY_I10L_7, |
||
205 | INPUT_KEY_I10L_8, |
||
206 | INPUT_KEY_I10L_9, |
||
207 | INPUT_KEY_LANG_1, |
||
208 | INPUT_KEY_LANG_2, |
||
209 | INPUT_KEY_LANG_3, |
||
210 | INPUT_KEY_LANG_4, |
||
211 | INPUT_KEY_LANG_5, |
||
212 | INPUT_KEY_LANG_6, |
||
213 | INPUT_KEY_LANG_7, |
||
214 | INPUT_KEY_LANG_8, |
||
215 | INPUT_KEY_LANG_9, |
||
216 | INPUT_KEY_ALT_ERASE, |
||
217 | INPUT_KEY_SYSREQ, |
||
218 | INPUT_KEY_CANCEL, |
||
219 | INPUT_KEY_CLEAR, |
||
220 | INPUT_KEY_PRIOR, |
||
221 | INPUT_KEY_RETURN, |
||
222 | INPUT_KEY_SEPARATOR, |
||
223 | INPUT_KEY_OUT, |
||
224 | INPUT_KEY_OPER, |
||
225 | INPUT_KEY_CLEAR_AGAIN, |
||
226 | INPUT_KEY_CR_SEL, |
||
227 | INPUT_KEY_EX_SEL, |
||
228 | |||
229 | /* 0x00A5 -- 0x00AF RESERVED */
|
||
230 | |||
231 | INPUT_KEY_KP_00 = 0x00B0,
|
||
232 | INPUT_KEY_KP_000, |
||
233 | INPUT_KEY_THOUSANDS_SEP, |
||
234 | INPUT_KEY_DECIMAL_SEP, |
||
235 | INPUT_KEY_CURRENCY_UNIT, |
||
236 | INPUT_KEY_CURRENCY_SUBUNIT, |
||
237 | INPUT_KEY_KP_OPEN_PARENTHESIS, |
||
238 | INPUT_KEY_KP_CLOSE_PARENTHESIS, |
||
239 | INPUT_KEY_KP_OPEN_BRACE, |
||
240 | INPUT_KEY_KP_CLOSE_BRACE, |
||
241 | INPUT_KEY_KP_TAB, |
||
242 | INPUT_KEY_KP_BACKSPACE, |
||
243 | INPUT_KEY_KP_A, |
||
244 | INPUT_KEY_KP_B, |
||
245 | INPUT_KEY_KP_C, |
||
246 | INPUT_KEY_KP_D, |
||
247 | INPUT_KEY_KP_E, |
||
248 | INPUT_KEY_KP_F, |
||
249 | INPUT_KEY_KP_XOR, |
||
250 | INPUT_KEY_KP_CARET, |
||
251 | INPUT_KEY_KP_PERCENT, |
||
252 | INPUT_KEY_KP_SMALLER_THEN, |
||
253 | INPUT_KEY_KP_GREATER_THEN, |
||
254 | INPUT_KEY_KP_AMP, |
||
255 | INPUT_KEY_KP_DOUBLE_AMP, |
||
256 | INPUT_KEY_KP_PIPE, |
||
257 | INPUT_KEY_KP_DOUBLE_PIPE, |
||
258 | INPUT_KEY_KP_COLON, |
||
259 | INPUT_KEY_KP_NUMBER, |
||
260 | INPUT_KEY_KP_SPACE, |
||
261 | INPUT_KEY_KP_AT, |
||
262 | INPUT_KEY_KP_EXCLAMATION_MARK, |
||
263 | INPUT_KEY_KP_MEM_STORE, |
||
264 | INPUT_KEY_KP_MEM_RECALL, |
||
265 | INPUT_KEY_KP_MEM_CLEAR, |
||
266 | INPUT_KEY_KP_MEM_ADD, |
||
267 | INPUT_KEY_KP_MEM_SUBTRACT, |
||
268 | INPUT_KEY_KP_MEM_MULTIPLY, |
||
269 | INPUT_KEY_KP_MEM_DIVIDE, |
||
270 | INPUT_KEY_KP_PLUS_MINUS, |
||
271 | INPUT_KEY_KP_CLEAR, |
||
272 | INPUT_KEY_KP_CLEAR_ENTRY, |
||
273 | INPUT_KEY_KP_BIN, |
||
274 | INPUT_KEY_KP_OCT, |
||
275 | INPUT_KEY_KP_DEC, |
||
276 | INPUT_KEY_KP_HEX, |
||
277 | |||
278 | /* 0x00DE, 0x00DF RESERVED */
|
||
279 | |||
280 | INPUT_KEY_LEFT_CTRL = 0x00E0,
|
||
281 | INPUT_KEY_LEFT_SHIFT, |
||
282 | INPUT_KEY_LEFT_ALT, |
||
283 | INPUT_KEY_LEFT_GUI, |
||
284 | INPUT_KEY_RIGHT_CTRL, |
||
285 | INPUT_KEY_RIGHT_SHIFT, |
||
286 | INPUT_KEY_RIGHT_ALT, |
||
287 | INPUT_KEY_RIGHT_GUI |
||
288 | |||
289 | /* 0x00E8 -- 0xFFFF RESERVED */
|
||
290 | }; |
||
291 | |||
292 | enum {
|
||
293 | INPUT_LED_NUMLOCK = 0x0001,
|
||
294 | INPUT_LED_CAPSLOCK, |
||
295 | INPUT_LED_SCROLLLOCK |
||
296 | }; |
||
297 | |||
298 | enum {
|
||
299 | INPUT_BUTTON_1 = 0x0001,
|
||
300 | }; |
||
301 | |||
302 | enum {
|
||
303 | INPUT_CONS_SCAN_NEXT_TRACK = 0x00B5,
|
||
304 | INPUT_CONS_SCAN_PREVIOUS_TRACK, |
||
305 | INPUT_CONS_STOP, |
||
306 | |||
307 | INPUT_CONS_PLAY_PAUSE = 0x00CD,
|
||
308 | |||
309 | INPUT_CONS_MUTE = 0x00E2,
|
||
310 | |||
311 | INPUT_CONS_VOLUME_UP = 0x00E9,
|
||
312 | INPUT_CONS_VOLUME_DOWN, |
||
313 | |||
314 | INPUT_CONS_AL_MEDIA_SELECT = 0x0183,
|
||
315 | |||
316 | INPUT_CONS_AL_EMAIL_READER = 0x018A,
|
||
317 | |||
318 | INPUT_CONS_AL_CALCULATOR = 0x0192,
|
||
319 | |||
320 | INPUT_CONS_AL_LOCAL_BROWSER = 0x0194,
|
||
321 | |||
322 | INPUT_CONS_AC_SEARCH = 0x0221,
|
||
323 | INPUT_CONS_AC_GO_TO, |
||
324 | INPUT_CONS_AC_HOME, |
||
325 | INPUT_CONS_AC_BACK, |
||
326 | INPUT_CONS_AC_FORWARD, |
||
327 | INPUT_CONS_AC_STOP, |
||
328 | INPUT_CONS_AC_REFRESH, |
||
329 | |||
330 | INPUT_CONS_AC_BOOKMARKS = 0x022A
|
||
331 | }; |
||
332 | |||
333 | #endif |