xref: /dragonfly/sys/dev/misc/evdev/input-event-codes.h (revision a162a738eca94f99d45d88429e86cfd0fbfbe95d)
1 /*-
2  * Copyright (c) 2016 Oleksandr Tymoshenko <gonzo@FreeBSD.org>
3  * Copyright (c) 2015-2016 Vladimir Kondratyev <wulf@FreeBSD.org>
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25  * SUCH DAMAGE.
26  *
27  * $FreeBSD$
28  */
29 
30 #ifndef   _EVDEV_INPUT_EVENT_CODES_H
31 #define   _EVDEV_INPUT_EVENT_CODES_H
32 
33 /*
34  * Device properties and quirks
35  */
36 
37 #define   INPUT_PROP_POINTER            0x00      /* needs a pointer */
38 #define   INPUT_PROP_DIRECT             0x01      /* direct input devices */
39 #define   INPUT_PROP_BUTTONPAD                    0x02      /* has button(s) under pad */
40 #define   INPUT_PROP_SEMI_MT            0x03      /* touch rectangle only */
41 #define   INPUT_PROP_TOPBUTTONPAD                 0x04      /* softbuttons at top of pad */
42 #define   INPUT_PROP_POINTING_STICK     0x05      /* is a pointing stick */
43 #define   INPUT_PROP_ACCELEROMETER      0x06      /* has accelerometer */
44 
45 #define   INPUT_PROP_MAX                          0x1f
46 #define   INPUT_PROP_CNT                          (INPUT_PROP_MAX + 1)
47 
48 /*
49  * Event types
50  */
51 
52 #define   EV_SYN                        0x00
53 #define   EV_KEY                        0x01
54 #define   EV_REL                        0x02
55 #define   EV_ABS                        0x03
56 #define   EV_MSC                        0x04
57 #define   EV_SW                         0x05
58 #define   EV_LED                        0x11
59 #define   EV_SND                        0x12
60 #define   EV_REP                        0x14
61 #define   EV_FF                         0x15
62 #define   EV_PWR                        0x16
63 #define   EV_FF_STATUS                  0x17
64 #define   EV_MAX                        0x1f
65 #define   EV_CNT                        (EV_MAX+1)
66 
67 /*
68  * Synchronization events.
69  */
70 
71 #define   SYN_REPORT                    0
72 #define   SYN_CONFIG                    1
73 #define   SYN_MT_REPORT                 2
74 #define   SYN_DROPPED                   3
75 #define   SYN_MAX                       0xf
76 #define   SYN_CNT                       (SYN_MAX+1)
77 
78 /*
79  * Keys and buttons
80  *
81  * Most of the keys/buttons are modeled after USB HUT 1.12
82  * (see http://www.usb.org/developers/hidpage).
83  * Abbreviations in the comments:
84  * AC - Application Control
85  * AL - Application Launch Button
86  * SC - System Control
87  */
88 
89 #define   KEY_RESERVED                  0
90 #define   KEY_ESC                       1
91 #define   KEY_1                         2
92 #define   KEY_2                         3
93 #define   KEY_3                         4
94 #define   KEY_4                         5
95 #define   KEY_5                         6
96 #define   KEY_6                         7
97 #define   KEY_7                         8
98 #define   KEY_8                         9
99 #define   KEY_9                         10
100 #define   KEY_0                         11
101 #define   KEY_MINUS           12
102 #define   KEY_EQUAL           13
103 #define   KEY_BACKSPACE                 14
104 #define   KEY_TAB                       15
105 #define   KEY_Q                         16
106 #define   KEY_W                         17
107 #define   KEY_E                         18
108 #define   KEY_R                         19
109 #define   KEY_T                         20
110 #define   KEY_Y                         21
111 #define   KEY_U                         22
112 #define   KEY_I                         23
113 #define   KEY_O                         24
114 #define   KEY_P                         25
115 #define   KEY_LEFTBRACE                 26
116 #define   KEY_RIGHTBRACE                27
117 #define   KEY_ENTER           28
118 #define   KEY_LEFTCTRL                  29
119 #define   KEY_A                         30
120 #define   KEY_S                         31
121 #define   KEY_D                         32
122 #define   KEY_F                         33
123 #define   KEY_G                         34
124 #define   KEY_H                         35
125 #define   KEY_J                         36
126 #define   KEY_K                         37
127 #define   KEY_L                         38
128 #define   KEY_SEMICOLON                 39
129 #define   KEY_APOSTROPHE                40
130 #define   KEY_GRAVE           41
131 #define   KEY_LEFTSHIFT                 42
132 #define   KEY_BACKSLASH                 43
133 #define   KEY_Z                         44
134 #define   KEY_X                         45
135 #define   KEY_C                         46
136 #define   KEY_V                         47
137 #define   KEY_B                         48
138 #define   KEY_N                         49
139 #define   KEY_M                         50
140 #define   KEY_COMMA           51
141 #define   KEY_DOT                       52
142 #define   KEY_SLASH           53
143 #define   KEY_RIGHTSHIFT                54
144 #define   KEY_KPASTERISK                55
145 #define   KEY_LEFTALT                   56
146 #define   KEY_SPACE           57
147 #define   KEY_CAPSLOCK                  58
148 #define   KEY_F1                        59
149 #define   KEY_F2                        60
150 #define   KEY_F3                        61
151 #define   KEY_F4                        62
152 #define   KEY_F5                        63
153 #define   KEY_F6                        64
154 #define   KEY_F7                        65
155 #define   KEY_F8                        66
156 #define   KEY_F9                        67
157 #define   KEY_F10                       68
158 #define   KEY_NUMLOCK                   69
159 #define   KEY_SCROLLLOCK                70
160 #define   KEY_KP7                       71
161 #define   KEY_KP8                       72
162 #define   KEY_KP9                       73
163 #define   KEY_KPMINUS                   74
164 #define   KEY_KP4                       75
165 #define   KEY_KP5                       76
166 #define   KEY_KP6                       77
167 #define   KEY_KPPLUS                    78
168 #define   KEY_KP1                       79
169 #define   KEY_KP2                       80
170 #define   KEY_KP3                       81
171 #define   KEY_KP0                       82
172 #define   KEY_KPDOT           83
173 
174 #define   KEY_ZENKAKUHANKAKU  85
175 #define   KEY_102ND           86
176 #define   KEY_F11                       87
177 #define   KEY_F12                       88
178 #define   KEY_RO                        89
179 #define   KEY_KATAKANA                  90
180 #define   KEY_HIRAGANA                  91
181 #define   KEY_HENKAN                    92
182 #define   KEY_KATAKANAHIRAGANA          93
183 #define   KEY_MUHENKAN                  94
184 #define   KEY_KPJPCOMMA                 95
185 #define   KEY_KPENTER                   96
186 #define   KEY_RIGHTCTRL                 97
187 #define   KEY_KPSLASH                   98
188 #define   KEY_SYSRQ           99
189 #define   KEY_RIGHTALT                  100
190 #define   KEY_LINEFEED                  101
191 #define   KEY_HOME            102
192 #define   KEY_UP                        103
193 #define   KEY_PAGEUP                    104
194 #define   KEY_LEFT            105
195 #define   KEY_RIGHT           106
196 #define   KEY_END                       107
197 #define   KEY_DOWN            108
198 #define   KEY_PAGEDOWN                  109
199 #define   KEY_INSERT                    110
200 #define   KEY_DELETE                    111
201 #define   KEY_MACRO           112
202 #define   KEY_MUTE            113
203 #define   KEY_VOLUMEDOWN                114
204 #define   KEY_VOLUMEUP                  115
205 #define   KEY_POWER           116       /* SC System Power Down */
206 #define   KEY_KPEQUAL                   117
207 #define   KEY_KPPLUSMINUS               118
208 #define   KEY_PAUSE           119
209 #define   KEY_SCALE           120       /* AL Compiz Scale (Expose) */
210 
211 #define   KEY_KPCOMMA                   121
212 #define   KEY_HANGEUL                   122
213 #define   KEY_HANGUEL                   KEY_HANGEUL
214 #define   KEY_HANJA           123
215 #define   KEY_YEN                       124
216 #define   KEY_LEFTMETA                  125
217 #define   KEY_RIGHTMETA                 126
218 #define   KEY_COMPOSE                   127
219 
220 #define   KEY_STOP            128       /* AC Stop */
221 #define   KEY_AGAIN           129
222 #define   KEY_PROPS           130       /* AC Properties */
223 #define   KEY_UNDO            131       /* AC Undo */
224 #define   KEY_FRONT           132
225 #define   KEY_COPY            133       /* AC Copy */
226 #define   KEY_OPEN            134       /* AC Open */
227 #define   KEY_PASTE           135       /* AC Paste */
228 #define   KEY_FIND            136       /* AC Search */
229 #define   KEY_CUT                       137       /* AC Cut */
230 #define   KEY_HELP            138       /* AL Integrated Help Center */
231 #define   KEY_MENU            139       /* Menu (show menu) */
232 #define   KEY_CALC            140       /* AL Calculator */
233 #define   KEY_SETUP           141
234 #define   KEY_SLEEP           142       /* SC System Sleep */
235 #define   KEY_WAKEUP                    143       /* System Wake Up */
236 #define   KEY_FILE            144       /* AL Local Machine Browser */
237 #define   KEY_SENDFILE                  145
238 #define   KEY_DELETEFILE                146
239 #define   KEY_XFER            147
240 #define   KEY_PROG1           148
241 #define   KEY_PROG2           149
242 #define   KEY_WWW                       150       /* AL Internet Browser */
243 #define   KEY_MSDOS           151
244 #define   KEY_COFFEE                    152       /* AL Terminal Lock/Screensaver */
245 #define   KEY_SCREENLOCK                KEY_COFFEE
246 #define   KEY_ROTATE_DISPLAY  153       /* Display orientation for e.g. tablets */
247 #define   KEY_DIRECTION                 KEY_ROTATE_DISPLAY
248 #define   KEY_CYCLEWINDOWS    154
249 #define   KEY_MAIL            155
250 #define   KEY_BOOKMARKS                 156       /* AC Bookmarks */
251 #define   KEY_COMPUTER                  157
252 #define   KEY_BACK            158       /* AC Back */
253 #define   KEY_FORWARD                   159       /* AC Forward */
254 #define   KEY_CLOSECD                   160
255 #define   KEY_EJECTCD                   161
256 #define   KEY_EJECTCLOSECD    162
257 #define   KEY_NEXTSONG                  163
258 #define   KEY_PLAYPAUSE                 164
259 #define   KEY_PREVIOUSSONG    165
260 #define   KEY_STOPCD                    166
261 #define   KEY_RECORD                    167
262 #define   KEY_REWIND                    168
263 #define   KEY_PHONE           169       /* Media Select Telephone */
264 #define   KEY_ISO                       170
265 #define   KEY_CONFIG                    171       /* AL Consumer Control Configuration */
266 #define   KEY_HOMEPAGE                  172       /* AC Home */
267 #define   KEY_REFRESH                   173       /* AC Refresh */
268 #define   KEY_EXIT            174       /* AC Exit */
269 #define   KEY_MOVE            175
270 #define   KEY_EDIT            176
271 #define   KEY_SCROLLUP                  177
272 #define   KEY_SCROLLDOWN                178
273 #define   KEY_KPLEFTPAREN               179
274 #define   KEY_KPRIGHTPAREN    180
275 #define   KEY_NEW                       181       /* AC New */
276 #define   KEY_REDO            182       /* AC Redo/Repeat */
277 
278 #define   KEY_F13                       183
279 #define   KEY_F14                       184
280 #define   KEY_F15                       185
281 #define   KEY_F16                       186
282 #define   KEY_F17                       187
283 #define   KEY_F18                       188
284 #define   KEY_F19                       189
285 #define   KEY_F20                       190
286 #define   KEY_F21                       191
287 #define   KEY_F22                       192
288 #define   KEY_F23                       193
289 #define   KEY_F24                       194
290 
291 #define   KEY_PLAYCD                    200
292 #define   KEY_PAUSECD                   201
293 #define   KEY_PROG3           202
294 #define   KEY_PROG4           203
295 #define   KEY_ALL_APPLICATIONS          204       /* AC Desktop Show All Applications */
296 #define   KEY_DASHBOARD                 KEY_ALL_APPLICATIONS
297 #define   KEY_SUSPEND                   205
298 #define   KEY_CLOSE           206       /* AC Close */
299 #define   KEY_PLAY            207
300 #define   KEY_FASTFORWARD               208
301 #define   KEY_BASSBOOST                 209
302 #define   KEY_PRINT           210       /* AC Print */
303 #define   KEY_HP                        211
304 #define   KEY_CAMERA                    212
305 #define   KEY_SOUND           213
306 #define   KEY_QUESTION                  214
307 #define   KEY_EMAIL           215
308 #define   KEY_CHAT            216
309 #define   KEY_SEARCH                    217
310 #define   KEY_CONNECT                   218
311 #define   KEY_FINANCE                   219       /* AL Checkbook/Finance */
312 #define   KEY_SPORT           220
313 #define   KEY_SHOP            221
314 #define   KEY_ALTERASE                  222
315 #define   KEY_CANCEL                    223       /* AC Cancel */
316 #define   KEY_BRIGHTNESSDOWN  224
317 #define   KEY_BRIGHTNESSUP    225
318 #define   KEY_MEDIA           226
319 
320 #define   KEY_SWITCHVIDEOMODE 227       /* Cycle between available video
321                                                      outputs (Monitor/LCD/TV-out/etc) */
322 #define   KEY_KBDILLUMTOGGLE  228
323 #define   KEY_KBDILLUMDOWN    229
324 #define   KEY_KBDILLUMUP                230
325 
326 #define   KEY_SEND            231       /* AC Send */
327 #define   KEY_REPLY           232       /* AC Reply */
328 #define   KEY_FORWARDMAIL               233       /* AC Forward Msg */
329 #define   KEY_SAVE            234       /* AC Save */
330 #define   KEY_DOCUMENTS                 235
331 
332 #define   KEY_BATTERY                   236
333 
334 #define   KEY_BLUETOOTH                 237
335 #define   KEY_WLAN            238
336 #define   KEY_UWB                       239
337 
338 #define   KEY_UNKNOWN                   240
339 
340 #define   KEY_VIDEO_NEXT                241       /* drive next video source */
341 #define   KEY_VIDEO_PREV                242       /* drive previous video source */
342 #define   KEY_BRIGHTNESS_CYCLE          243       /* brightness up, after max is min */
343 #define   KEY_BRIGHTNESS_AUTO 244       /* Set Auto Brightness: manual
344                                                     brightness control is off,
345                                                     rely on ambient */
346 #define   KEY_BRIGHTNESS_ZERO KEY_BRIGHTNESS_AUTO
347 #define   KEY_DISPLAY_OFF               245       /* display device to off state */
348 
349 #define   KEY_WWAN            246       /* Wireless WAN (LTE, UMTS, GSM, etc.) */
350 #define   KEY_WIMAX           KEY_WWAN
351 #define   KEY_RFKILL                    247       /* Key that controls all radios */
352 
353 #define   KEY_MICMUTE                   248       /* Mute / unmute the microphone */
354 
355 /* Code 255 is reserved for special needs of AT keyboard driver */
356 
357 #define   BTN_MISC            0x100
358 #define   BTN_0                         0x100
359 #define   BTN_1                         0x101
360 #define   BTN_2                         0x102
361 #define   BTN_3                         0x103
362 #define   BTN_4                         0x104
363 #define   BTN_5                         0x105
364 #define   BTN_6                         0x106
365 #define   BTN_7                         0x107
366 #define   BTN_8                         0x108
367 #define   BTN_9                         0x109
368 
369 #define   BTN_MOUSE           0x110
370 #define   BTN_LEFT            0x110
371 #define   BTN_RIGHT           0x111
372 #define   BTN_MIDDLE                    0x112
373 #define   BTN_SIDE            0x113
374 #define   BTN_EXTRA           0x114
375 #define   BTN_FORWARD                   0x115
376 #define   BTN_BACK            0x116
377 #define   BTN_TASK            0x117
378 
379 #define   BTN_JOYSTICK                  0x120
380 #define   BTN_TRIGGER                   0x120
381 #define   BTN_THUMB           0x121
382 #define   BTN_THUMB2                    0x122
383 #define   BTN_TOP                       0x123
384 #define   BTN_TOP2            0x124
385 #define   BTN_PINKIE                    0x125
386 #define   BTN_BASE            0x126
387 #define   BTN_BASE2           0x127
388 #define   BTN_BASE3           0x128
389 #define   BTN_BASE4           0x129
390 #define   BTN_BASE5           0x12a
391 #define   BTN_BASE6           0x12b
392 #define   BTN_DEAD            0x12f
393 
394 #define   BTN_GAMEPAD                   0x130
395 #define   BTN_SOUTH           0x130
396 #define   BTN_A                         BTN_SOUTH
397 #define   BTN_EAST            0x131
398 #define   BTN_B                         BTN_EAST
399 #define   BTN_C                         0x132
400 #define   BTN_NORTH           0x133
401 #define   BTN_X                         BTN_NORTH
402 #define   BTN_WEST            0x134
403 #define   BTN_Y                         BTN_WEST
404 #define   BTN_Z                         0x135
405 #define   BTN_TL                        0x136
406 #define   BTN_TR                        0x137
407 #define   BTN_TL2                       0x138
408 #define   BTN_TR2                       0x139
409 #define   BTN_SELECT                    0x13a
410 #define   BTN_START           0x13b
411 #define   BTN_MODE            0x13c
412 #define   BTN_THUMBL                    0x13d
413 #define   BTN_THUMBR                    0x13e
414 
415 #define   BTN_DIGI            0x140
416 #define   BTN_TOOL_PEN                  0x140
417 #define   BTN_TOOL_RUBBER               0x141
418 #define   BTN_TOOL_BRUSH                0x142
419 #define   BTN_TOOL_PENCIL               0x143
420 #define   BTN_TOOL_AIRBRUSH   0x144
421 #define   BTN_TOOL_FINGER               0x145
422 #define   BTN_TOOL_MOUSE                0x146
423 #define   BTN_TOOL_LENS                 0x147
424 #define   BTN_TOOL_QUINTTAP   0x148     /* Five fingers on trackpad */
425 #define   BTN_STYLUS3                   0x149
426 #define   BTN_TOUCH           0x14a
427 #define   BTN_STYLUS                    0x14b
428 #define   BTN_STYLUS2                   0x14c
429 #define   BTN_TOOL_DOUBLETAP  0x14d
430 #define   BTN_TOOL_TRIPLETAP  0x14e
431 #define   BTN_TOOL_QUADTAP    0x14f     /* Four fingers on trackpad */
432 
433 #define   BTN_WHEEL           0x150
434 #define   BTN_GEAR_DOWN                 0x150
435 #define   BTN_GEAR_UP                   0x151
436 
437 #define   KEY_OK                        0x160
438 #define   KEY_SELECT                    0x161
439 #define   KEY_GOTO            0x162
440 #define   KEY_CLEAR           0x163
441 #define   KEY_POWER2                    0x164
442 #define   KEY_OPTION                    0x165
443 #define   KEY_INFO            0x166     /* AL OEM Features/Tips/Tutorial */
444 #define   KEY_TIME            0x167
445 #define   KEY_VENDOR                    0x168
446 #define   KEY_ARCHIVE                   0x169
447 #define   KEY_PROGRAM                   0x16a     /* Media Select Program Guide */
448 #define   KEY_CHANNEL                   0x16b
449 #define   KEY_FAVORITES                 0x16c
450 #define   KEY_EPG                       0x16d
451 #define   KEY_PVR                       0x16e     /* Media Select Home */
452 #define   KEY_MHP                       0x16f
453 #define   KEY_LANGUAGE                  0x170
454 #define   KEY_TITLE           0x171
455 #define   KEY_SUBTITLE                  0x172
456 #define   KEY_ANGLE           0x173
457 #define   KEY_FULL_SCREEN               0x174     /* AC View Toggle */
458 #define   KEY_ZOOM            KEY_FULL_SCREEN
459 #define   KEY_MODE            0x175
460 #define   KEY_KEYBOARD                  0x176
461 #define   KEY_ASPECT_RATIO    0x177     /* HUTRR37: Aspect */
462 #define   KEY_SCREEN                    KEY_ASPECT_RATIO
463 #define   KEY_PC                        0x178     /* Media Select Computer */
464 #define   KEY_TV                        0x179     /* Media Select TV */
465 #define   KEY_TV2                       0x17a     /* Media Select Cable */
466 #define   KEY_VCR                       0x17b     /* Media Select VCR */
467 #define   KEY_VCR2            0x17c     /* VCR Plus */
468 #define   KEY_SAT                       0x17d     /* Media Select Satellite */
469 #define   KEY_SAT2            0x17e
470 #define   KEY_CD                        0x17f     /* Media Select CD */
471 #define   KEY_TAPE            0x180     /* Media Select Tape */
472 #define   KEY_RADIO           0x181
473 #define   KEY_TUNER           0x182     /* Media Select Tuner */
474 #define   KEY_PLAYER                    0x183
475 #define   KEY_TEXT            0x184
476 #define   KEY_DVD                       0x185     /* Media Select DVD */
477 #define   KEY_AUX                       0x186
478 #define   KEY_MP3                       0x187
479 #define   KEY_AUDIO           0x188     /* AL Audio Browser */
480 #define   KEY_VIDEO           0x189     /* AL Movie Browser */
481 #define   KEY_DIRECTORY                 0x18a
482 #define   KEY_LIST            0x18b
483 #define   KEY_MEMO            0x18c     /* Media Select Messages */
484 #define   KEY_CALENDAR                  0x18d
485 #define   KEY_RED                       0x18e
486 #define   KEY_GREEN           0x18f
487 #define   KEY_YELLOW                    0x190
488 #define   KEY_BLUE            0x191
489 #define   KEY_CHANNELUP                 0x192     /* Channel Increment */
490 #define   KEY_CHANNELDOWN               0x193     /* Channel Decrement */
491 #define   KEY_FIRST           0x194
492 #define   KEY_LAST            0x195     /* Recall Last */
493 #define   KEY_AB                        0x196
494 #define   KEY_NEXT            0x197
495 #define   KEY_RESTART                   0x198
496 #define   KEY_SLOW            0x199
497 #define   KEY_SHUFFLE                   0x19a
498 #define   KEY_BREAK           0x19b
499 #define   KEY_PREVIOUS                  0x19c
500 #define   KEY_DIGITS                    0x19d
501 #define   KEY_TEEN            0x19e
502 #define   KEY_TWEN            0x19f
503 #define   KEY_VIDEOPHONE                0x1a0     /* Media Select Video Phone */
504 #define   KEY_GAMES           0x1a1     /* Media Select Games */
505 #define   KEY_ZOOMIN                    0x1a2     /* AC Zoom In */
506 #define   KEY_ZOOMOUT                   0x1a3     /* AC Zoom Out */
507 #define   KEY_ZOOMRESET                 0x1a4     /* AC Zoom */
508 #define   KEY_WORDPROCESSOR   0x1a5     /* AL Word Processor */
509 #define   KEY_EDITOR                    0x1a6     /* AL Text Editor */
510 #define   KEY_SPREADSHEET               0x1a7     /* AL Spreadsheet */
511 #define   KEY_GRAPHICSEDITOR  0x1a8     /* AL Graphics Editor */
512 #define   KEY_PRESENTATION    0x1a9     /* AL Presentation App */
513 #define   KEY_DATABASE                  0x1aa     /* AL Database App */
514 #define   KEY_NEWS            0x1ab     /* AL Newsreader */
515 #define   KEY_VOICEMAIL                 0x1ac     /* AL Voicemail */
516 #define   KEY_ADDRESSBOOK               0x1ad     /* AL Contacts/Address Book */
517 #define   KEY_MESSENGER                 0x1ae     /* AL Instant Messaging */
518 #define   KEY_DISPLAYTOGGLE   0x1af     /* Turn display (LCD) on and off */
519 #define   KEY_BRIGHTNESS_TOGGLE         KEY_DISPLAYTOGGLE
520 #define   KEY_SPELLCHECK                0x1b0   /* AL Spell Check */
521 #define   KEY_LOGOFF                    0x1b1   /* AL Logoff */
522 
523 #define   KEY_DOLLAR                    0x1b2
524 #define   KEY_EURO            0x1b3
525 
526 #define   KEY_FRAMEBACK                 0x1b4     /* Consumer - transport controls */
527 #define   KEY_FRAMEFORWARD    0x1b5
528 #define   KEY_CONTEXT_MENU    0x1b6     /* GenDesc - system context menu */
529 #define   KEY_MEDIA_REPEAT    0x1b7     /* Consumer - transport control */
530 #define   KEY_10CHANNELSUP    0x1b8     /* 10 channels up (10+) */
531 #define   KEY_10CHANNELSDOWN  0x1b9     /* 10 channels down (10-) */
532 #define   KEY_IMAGES                    0x1ba     /* AL Image Browser */
533 #define   KEY_NOTIFICATION_CENTER       0x1bc     /* Show/hide the notification center */
534 #define   KEY_PICKUP_PHONE    0x1bd     /* Answer incoming call */
535 #define   KEY_HANGUP_PHONE    0x1be     /* Decline incoming call */
536 
537 #define   KEY_DEL_EOL                   0x1c0
538 #define   KEY_DEL_EOS                   0x1c1
539 #define   KEY_INS_LINE                  0x1c2
540 #define   KEY_DEL_LINE                  0x1c3
541 
542 #define   KEY_FN                        0x1d0
543 #define   KEY_FN_ESC                    0x1d1
544 #define   KEY_FN_F1           0x1d2
545 #define   KEY_FN_F2           0x1d3
546 #define   KEY_FN_F3           0x1d4
547 #define   KEY_FN_F4           0x1d5
548 #define   KEY_FN_F5           0x1d6
549 #define   KEY_FN_F6           0x1d7
550 #define   KEY_FN_F7           0x1d8
551 #define   KEY_FN_F8           0x1d9
552 #define   KEY_FN_F9           0x1da
553 #define   KEY_FN_F10                    0x1db
554 #define   KEY_FN_F11                    0x1dc
555 #define   KEY_FN_F12                    0x1dd
556 #define   KEY_FN_1            0x1de
557 #define   KEY_FN_2            0x1df
558 #define   KEY_FN_D            0x1e0
559 #define   KEY_FN_E            0x1e1
560 #define   KEY_FN_F            0x1e2
561 #define   KEY_FN_S            0x1e3
562 #define   KEY_FN_B            0x1e4
563 #define   KEY_FN_RIGHT_SHIFT  0x1e5
564 
565 #define   KEY_BRL_DOT1                  0x1f1
566 #define   KEY_BRL_DOT2                  0x1f2
567 #define   KEY_BRL_DOT3                  0x1f3
568 #define   KEY_BRL_DOT4                  0x1f4
569 #define   KEY_BRL_DOT5                  0x1f5
570 #define   KEY_BRL_DOT6                  0x1f6
571 #define   KEY_BRL_DOT7                  0x1f7
572 #define   KEY_BRL_DOT8                  0x1f8
573 #define   KEY_BRL_DOT9                  0x1f9
574 #define   KEY_BRL_DOT10                 0x1fa
575 
576 #define   KEY_NUMERIC_0                 0x200     /* used by phones, remote controls, */
577 #define   KEY_NUMERIC_1                 0x201     /* and other keypads */
578 #define   KEY_NUMERIC_2                 0x202
579 #define   KEY_NUMERIC_3                 0x203
580 #define   KEY_NUMERIC_4                 0x204
581 #define   KEY_NUMERIC_5                 0x205
582 #define   KEY_NUMERIC_6                 0x206
583 #define   KEY_NUMERIC_7                 0x207
584 #define   KEY_NUMERIC_8                 0x208
585 #define   KEY_NUMERIC_9                 0x209
586 #define   KEY_NUMERIC_STAR    0x20a
587 #define   KEY_NUMERIC_POUND   0x20b
588 #define   KEY_NUMERIC_A                 0x20c     /* Phone key A - HUT Telephony 0xb9 */
589 #define   KEY_NUMERIC_B                 0x20d
590 #define   KEY_NUMERIC_C                 0x20e
591 #define   KEY_NUMERIC_D                 0x20f
592 
593 #define   KEY_CAMERA_FOCUS    0x210
594 #define   KEY_WPS_BUTTON                0x211     /* WiFi Protected Setup key */
595 
596 #define   KEY_TOUCHPAD_TOGGLE 0x212     /* Request switch touchpad on or off */
597 #define   KEY_TOUCHPAD_ON               0x213
598 #define   KEY_TOUCHPAD_OFF    0x214
599 
600 #define   KEY_CAMERA_ZOOMIN   0x215
601 #define   KEY_CAMERA_ZOOMOUT  0x216
602 #define   KEY_CAMERA_UP                 0x217
603 #define   KEY_CAMERA_DOWN               0x218
604 #define   KEY_CAMERA_LEFT               0x219
605 #define   KEY_CAMERA_RIGHT    0x21a
606 
607 #define   KEY_ATTENDANT_ON    0x21b
608 #define   KEY_ATTENDANT_OFF   0x21c
609 #define   KEY_ATTENDANT_TOGGLE          0x21d     /* Attendant call on or off */
610 #define   KEY_LIGHTS_TOGGLE   0x21e     /* Reading light on or off */
611 
612 #define   BTN_DPAD_UP                   0x220
613 #define   BTN_DPAD_DOWN                 0x221
614 #define   BTN_DPAD_LEFT                 0x222
615 #define   BTN_DPAD_RIGHT                0x223
616 
617 #define   KEY_ALS_TOGGLE                0x230     /* Ambient light sensor */
618 #define   KEY_ROTATE_LOCK_TOGGLE        0x231     /* Display rotation lock */
619 
620 #define   KEY_BUTTONCONFIG              0x240     /* AL Button Configuration */
621 #define   KEY_TASKMANAGER               0x241     /* AL Task/Project Manager */
622 #define   KEY_JOURNAL                   0x242     /* AL Log/Journal/Timecard */
623 #define   KEY_CONTROLPANEL              0x243     /* AL Control Panel */
624 #define   KEY_APPSELECT                 0x244     /* AL Select Task/Application */
625 #define   KEY_SCREENSAVER               0x245     /* AL Screen Saver */
626 #define   KEY_VOICECOMMAND              0x246     /* Listening Voice Command */
627 #define   KEY_ASSISTANT                 0x247     /* AL Context-aware desktop assistant */
628 #define   KEY_KBD_LAYOUT_NEXT 0x248     /* AC Next Keyboard Layout Select */
629 #define   KEY_EMOJI_PICKER    0x249     /* Show/hide emoji picker (HUTRR101) */
630 #define   KEY_DICTATE                   0x24a     /* Start or Stop Voice Dictation Session (HUTRR99) */
631 #define   KEY_CAMERA_ACCESS_ENABLE      0x24b     /* Enables programmatic access to camera devices. (HUTRR72) */
632 #define   KEY_CAMERA_ACCESS_DISABLE     0x24c     /* Disables programmatic access to camera devices. (HUTRR72) */
633 #define   KEY_CAMERA_ACCESS_TOGGLE      0x24d     /* Toggles the current state of the camera access control. (HUTRR72) */
634 
635 #define   KEY_BRIGHTNESS_MIN            0x250     /* Set Brightness to Minimum */
636 #define   KEY_BRIGHTNESS_MAX            0x251     /* Set Brightness to Maximum */
637 
638 #define   KEY_KBDINPUTASSIST_PREV                 0x260
639 #define   KEY_KBDINPUTASSIST_NEXT                 0x261
640 #define   KEY_KBDINPUTASSIST_PREVGROUP            0x262
641 #define   KEY_KBDINPUTASSIST_NEXTGROUP            0x263
642 #define   KEY_KBDINPUTASSIST_ACCEPT               0x264
643 #define   KEY_KBDINPUTASSIST_CANCEL               0x265
644 
645 /* Diagonal movement keys */
646 #define   KEY_RIGHT_UP                            0x266
647 #define   KEY_RIGHT_DOWN                          0x267
648 #define   KEY_LEFT_UP                             0x268
649 #define   KEY_LEFT_DOWN                           0x269
650 
651 #define   KEY_ROOT_MENU                           0x26a /* Show Device's Root Menu */
652 /* Show Top Menu of the Media (e.g. DVD) */
653 #define   KEY_MEDIA_TOP_MENU            0x26b
654 #define   KEY_NUMERIC_11                          0x26c
655 #define   KEY_NUMERIC_12                          0x26d
656 /*
657  * Toggle Audio Description: refers to an audio service that helps blind and
658  * visually impaired consumers understand the action in a program. Note: in
659  * some countries this is referred to as "Video Description".
660  */
661 #define   KEY_AUDIO_DESC                          0x26e
662 #define   KEY_3D_MODE                             0x26f
663 #define   KEY_NEXT_FAVORITE             0x270
664 #define   KEY_STOP_RECORD                         0x271
665 #define   KEY_PAUSE_RECORD              0x272
666 #define   KEY_VOD                                 0x273 /* Video on Demand */
667 #define   KEY_UNMUTE                              0x274
668 #define   KEY_FASTREVERSE                         0x275
669 #define   KEY_SLOWREVERSE                         0x276
670 /*
671  * Control a data application associated with the currently viewed channel,
672  * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.)
673  */
674 #define   KEY_DATA                      0x277
675 #define   KEY_ONSCREEN_KEYBOARD                   0x278
676 /* Electronic privacy screen control */
677 #define   KEY_PRIVACY_SCREEN_TOGGLE     0x279
678 
679 /* Select an area of screen to be copied */
680 #define   KEY_SELECTIVE_SCREENSHOT      0x27a
681 
682 /* Move the focus to the next or previous user controllable element within a UI container */
683 #define   KEY_NEXT_ELEMENT              0x27b
684 #define   KEY_PREVIOUS_ELEMENT                    0x27c
685 
686 /* Toggle Autopilot engagement */
687 #define   KEY_AUTOPILOT_ENGAGE_TOGGLE   0x27d
688 
689 /* Shortcut Keys */
690 #define   KEY_MARK_WAYPOINT             0x27e
691 #define   KEY_SOS                                 0x27f
692 #define   KEY_NAV_CHART                           0x280
693 #define   KEY_FISHING_CHART             0x281
694 #define   KEY_SINGLE_RANGE_RADAR                  0x282
695 #define   KEY_DUAL_RANGE_RADAR                    0x283
696 #define   KEY_RADAR_OVERLAY             0x284
697 #define   KEY_TRADITIONAL_SONAR                   0x285
698 #define   KEY_CLEARVU_SONAR             0x286
699 #define   KEY_SIDEVU_SONAR              0x287
700 #define   KEY_NAV_INFO                            0x288
701 #define   KEY_BRIGHTNESS_MENU           0x289
702 
703 /*
704  * Some keyboards have keys which do not have a defined meaning, these keys
705  * are intended to be programmed / bound to macros by the user. For most
706  * keyboards with these macro-keys the key-sequence to inject, or action to
707  * take, is all handled by software on the host side. So from the kernel's
708  * point of view these are just normal keys.
709  *
710  * The KEY_MACRO# codes below are intended for such keys, which may be labeled
711  * e.g. G1-G18, or S1 - S30. The KEY_MACRO# codes MUST NOT be used for keys
712  * where the marking on the key does indicate a defined meaning / purpose.
713  *
714  * The KEY_MACRO# codes MUST also NOT be used as fallback for when no existing
715  * KEY_FOO define matches the marking / purpose. In this case a new KEY_FOO
716  * define MUST be added.
717  */
718 #define   KEY_MACRO1                              0x290
719 #define   KEY_MACRO2                              0x291
720 #define   KEY_MACRO3                              0x292
721 #define   KEY_MACRO4                              0x293
722 #define   KEY_MACRO5                              0x294
723 #define   KEY_MACRO6                              0x295
724 #define   KEY_MACRO7                              0x296
725 #define   KEY_MACRO8                              0x297
726 #define   KEY_MACRO9                              0x298
727 #define   KEY_MACRO10                             0x299
728 #define   KEY_MACRO11                             0x29a
729 #define   KEY_MACRO12                             0x29b
730 #define   KEY_MACRO13                             0x29c
731 #define   KEY_MACRO14                             0x29d
732 #define   KEY_MACRO15                             0x29e
733 #define   KEY_MACRO16                             0x29f
734 #define   KEY_MACRO17                             0x2a0
735 #define   KEY_MACRO18                             0x2a1
736 #define   KEY_MACRO19                             0x2a2
737 #define   KEY_MACRO20                             0x2a3
738 #define   KEY_MACRO21                             0x2a4
739 #define   KEY_MACRO22                             0x2a5
740 #define   KEY_MACRO23                             0x2a6
741 #define   KEY_MACRO24                             0x2a7
742 #define   KEY_MACRO25                             0x2a8
743 #define   KEY_MACRO26                             0x2a9
744 #define   KEY_MACRO27                             0x2aa
745 #define   KEY_MACRO28                             0x2ab
746 #define   KEY_MACRO29                             0x2ac
747 #define   KEY_MACRO30                             0x2ad
748 
749 /*
750  * Some keyboards with the macro-keys described above have some extra keys
751  * for controlling the host-side software responsible for the macro handling:
752  * -A macro recording start/stop key. Note that not all keyboards which emit
753  *  KEY_MACRO_RECORD_START will also emit KEY_MACRO_RECORD_STOP if
754  *  KEY_MACRO_RECORD_STOP is not advertised, then KEY_MACRO_RECORD_START
755  *  should be interpreted as a recording start/stop toggle;
756  * -Keys for switching between different macro (pre)sets, either a key for
757  *  cycling through the configured presets or keys to directly select a preset.
758  */
759 #define   KEY_MACRO_RECORD_START                  0x2b0
760 #define   KEY_MACRO_RECORD_STOP                   0x2b1
761 #define   KEY_MACRO_PRESET_CYCLE                  0x2b2
762 #define   KEY_MACRO_PRESET1             0x2b3
763 #define   KEY_MACRO_PRESET2             0x2b4
764 #define   KEY_MACRO_PRESET3             0x2b5
765 
766 /*
767  * Some keyboards have a buildin LCD panel where the contents are controlled
768  * by the host. Often these have a number of keys directly below the LCD
769  * intended for controlling a menu shown on the LCD. These keys often don't
770  * have any labeling so we just name them KEY_KBD_LCD_MENU#
771  */
772 #define   KEY_KBD_LCD_MENU1             0x2b8
773 #define   KEY_KBD_LCD_MENU2             0x2b9
774 #define   KEY_KBD_LCD_MENU3             0x2ba
775 #define   KEY_KBD_LCD_MENU4             0x2bb
776 #define   KEY_KBD_LCD_MENU5             0x2bc
777 
778 #define   BTN_TRIGGER_HAPPY             0x2c0
779 #define   BTN_TRIGGER_HAPPY1            0x2c0
780 #define   BTN_TRIGGER_HAPPY2            0x2c1
781 #define   BTN_TRIGGER_HAPPY3            0x2c2
782 #define   BTN_TRIGGER_HAPPY4            0x2c3
783 #define   BTN_TRIGGER_HAPPY5            0x2c4
784 #define   BTN_TRIGGER_HAPPY6            0x2c5
785 #define   BTN_TRIGGER_HAPPY7            0x2c6
786 #define   BTN_TRIGGER_HAPPY8            0x2c7
787 #define   BTN_TRIGGER_HAPPY9            0x2c8
788 #define   BTN_TRIGGER_HAPPY10           0x2c9
789 #define   BTN_TRIGGER_HAPPY11           0x2ca
790 #define   BTN_TRIGGER_HAPPY12           0x2cb
791 #define   BTN_TRIGGER_HAPPY13           0x2cc
792 #define   BTN_TRIGGER_HAPPY14           0x2cd
793 #define   BTN_TRIGGER_HAPPY15           0x2ce
794 #define   BTN_TRIGGER_HAPPY16           0x2cf
795 #define   BTN_TRIGGER_HAPPY17           0x2d0
796 #define   BTN_TRIGGER_HAPPY18           0x2d1
797 #define   BTN_TRIGGER_HAPPY19           0x2d2
798 #define   BTN_TRIGGER_HAPPY20           0x2d3
799 #define   BTN_TRIGGER_HAPPY21           0x2d4
800 #define   BTN_TRIGGER_HAPPY22           0x2d5
801 #define   BTN_TRIGGER_HAPPY23           0x2d6
802 #define   BTN_TRIGGER_HAPPY24           0x2d7
803 #define   BTN_TRIGGER_HAPPY25           0x2d8
804 #define   BTN_TRIGGER_HAPPY26           0x2d9
805 #define   BTN_TRIGGER_HAPPY27           0x2da
806 #define   BTN_TRIGGER_HAPPY28           0x2db
807 #define   BTN_TRIGGER_HAPPY29           0x2dc
808 #define   BTN_TRIGGER_HAPPY30           0x2dd
809 #define   BTN_TRIGGER_HAPPY31           0x2de
810 #define   BTN_TRIGGER_HAPPY32           0x2df
811 #define   BTN_TRIGGER_HAPPY33           0x2e0
812 #define   BTN_TRIGGER_HAPPY34           0x2e1
813 #define   BTN_TRIGGER_HAPPY35           0x2e2
814 #define   BTN_TRIGGER_HAPPY36           0x2e3
815 #define   BTN_TRIGGER_HAPPY37           0x2e4
816 #define   BTN_TRIGGER_HAPPY38           0x2e5
817 #define   BTN_TRIGGER_HAPPY39           0x2e6
818 #define   BTN_TRIGGER_HAPPY40           0x2e7
819 
820 /* We avoid low common keys in module aliases so they don't get huge. */
821 #define   KEY_MIN_INTERESTING KEY_MUTE
822 #define   KEY_MAX                       0x2ff
823 #define   KEY_CNT                       (KEY_MAX+1)
824 
825 /*
826  * Relative axes
827  */
828 
829 #define   REL_X                         0x00
830 #define   REL_Y                         0x01
831 #define   REL_Z                         0x02
832 #define   REL_RX                        0x03
833 #define   REL_RY                        0x04
834 #define   REL_RZ                        0x05
835 #define   REL_HWHEEL                    0x06
836 #define   REL_DIAL            0x07
837 #define   REL_WHEEL           0x08
838 #define   REL_MISC            0x09
839 /*
840  * 0x0a is reserved and should not be used in input drivers.
841  * It was used by HID as REL_MISC+1 and userspace needs to detect if
842  * the next REL_* event is correct or is just REL_MISC + n.
843  * We define here REL_RESERVED so userspace can rely on it and detect
844  * the situation described above.
845  */
846 #define   REL_RESERVED                  0x0a
847 #define   REL_WHEEL_HI_RES    0x0b
848 #define   REL_HWHEEL_HI_RES   0x0c
849 #define   REL_MAX                       0x0f
850 #define   REL_CNT                       (REL_MAX+1)
851 
852 /*
853  * Absolute axes
854  */
855 
856 #define   ABS_X                         0x00
857 #define   ABS_Y                         0x01
858 #define   ABS_Z                         0x02
859 #define   ABS_RX                        0x03
860 #define   ABS_RY                        0x04
861 #define   ABS_RZ                        0x05
862 #define   ABS_THROTTLE                  0x06
863 #define   ABS_RUDDER                    0x07
864 #define   ABS_WHEEL           0x08
865 #define   ABS_GAS                       0x09
866 #define   ABS_BRAKE           0x0a
867 #define   ABS_HAT0X           0x10
868 #define   ABS_HAT0Y           0x11
869 #define   ABS_HAT1X           0x12
870 #define   ABS_HAT1Y           0x13
871 #define   ABS_HAT2X           0x14
872 #define   ABS_HAT2Y           0x15
873 #define   ABS_HAT3X           0x16
874 #define   ABS_HAT3Y           0x17
875 #define   ABS_PRESSURE                  0x18
876 #define   ABS_DISTANCE                  0x19
877 #define   ABS_TILT_X                    0x1a
878 #define   ABS_TILT_Y                    0x1b
879 #define   ABS_TOOL_WIDTH                0x1c
880 
881 #define   ABS_VOLUME                    0x20
882 #define   ABS_PROFILE                   0x21
883 
884 #define   ABS_MISC            0x28
885 
886 /*
887  * 0x2e is reserved and should not be used in input drivers.
888  * It was used by HID as ABS_MISC+6 and userspace needs to detect if
889  * the next ABS_* event is correct or is just ABS_MISC + n.
890  * We define here ABS_RESERVED so userspace can rely on it and detect
891  * the situation described above.
892  */
893 #define   ABS_RESERVED                  0x2e
894 
895 #define   ABS_MT_SLOT                   0x2f      /* MT slot being modified */
896 #define   ABS_MT_TOUCH_MAJOR  0x30      /* Major axis of touching ellipse */
897 #define   ABS_MT_TOUCH_MINOR  0x31      /* Minor axis (omit if circular) */
898 #define   ABS_MT_WIDTH_MAJOR  0x32      /* Major axis of approaching ellipse */
899 #define   ABS_MT_WIDTH_MINOR  0x33      /* Minor axis (omit if circular) */
900 #define   ABS_MT_ORIENTATION  0x34      /* Ellipse orientation */
901 #define   ABS_MT_POSITION_X   0x35      /* Center X touch position */
902 #define   ABS_MT_POSITION_Y   0x36      /* Center Y touch position */
903 #define   ABS_MT_TOOL_TYPE    0x37      /* Type of touching device */
904 #define   ABS_MT_BLOB_ID                0x38      /* Group a set of packets as a blob */
905 #define   ABS_MT_TRACKING_ID  0x39      /* Unique ID of initiated contact */
906 #define   ABS_MT_PRESSURE               0x3a      /* Pressure on contact area */
907 #define   ABS_MT_DISTANCE               0x3b      /* Contact hover distance */
908 #define   ABS_MT_TOOL_X                 0x3c      /* Center X tool position */
909 #define   ABS_MT_TOOL_Y                 0x3d      /* Center Y tool position */
910 
911 #define   ABS_MAX                       0x3f
912 #define   ABS_CNT                       (ABS_MAX+1)
913 
914 /*
915  * Switch events
916  */
917 
918 #define   SW_LID                        0x00  /* set = lid shut */
919 #define   SW_TABLET_MODE                0x01  /* set = tablet mode */
920 #define   SW_HEADPHONE_INSERT 0x02  /* set = inserted */
921 #define   SW_RFKILL_ALL                 0x03  /* rfkill master switch, type "any"
922                                                    set = radio enabled */
923 #define   SW_RADIO            SW_RFKILL_ALL       /* deprecated */
924 #define   SW_MICROPHONE_INSERT          0x04  /* set = inserted */
925 #define   SW_DOCK                       0x05  /* set = plugged into dock */
926 #define   SW_LINEOUT_INSERT   0x06  /* set = inserted */
927 #define   SW_JACK_PHYSICAL_INSERT 0x07  /* set = mechanical switch set */
928 #define   SW_VIDEOOUT_INSERT  0x08  /* set = inserted */
929 #define   SW_CAMERA_LENS_COVER          0x09  /* set = lens covered */
930 #define   SW_KEYPAD_SLIDE               0x0a  /* set = keypad slide out */
931 #define   SW_FRONT_PROXIMITY  0x0b  /* set = front proximity sensor active */
932 #define   SW_ROTATE_LOCK                0x0c  /* set = rotate locked/disabled */
933 #define   SW_LINEIN_INSERT    0x0d  /* set = inserted */
934 #define   SW_MUTE_DEVICE                0x0e  /* set = device disabled */
935 #define   SW_PEN_INSERTED               0x0f  /* set = pen inserted */
936 #define   SW_MACHINE_COVER    0x10  /* set = cover closed */
937 #define   SW_MAX                        0x10
938 #define   SW_CNT                        (SW_MAX+1)
939 
940 /*
941  * Misc events
942  */
943 
944 #define   MSC_SERIAL                    0x00
945 #define   MSC_PULSELED                  0x01
946 #define   MSC_GESTURE                   0x02
947 #define   MSC_RAW                       0x03
948 #define   MSC_SCAN            0x04
949 #define   MSC_TIMESTAMP                 0x05
950 #define   MSC_MAX                       0x07
951 #define   MSC_CNT                       (MSC_MAX+1)
952 
953 /*
954  * LEDs
955  */
956 
957 #define   LED_NUML            0x00
958 #define   LED_CAPSL           0x01
959 #define   LED_SCROLLL                   0x02
960 #define   LED_COMPOSE                   0x03
961 #define   LED_KANA            0x04
962 #define   LED_SLEEP           0x05
963 #define   LED_SUSPEND                   0x06
964 #define   LED_MUTE            0x07
965 #define   LED_MISC            0x08
966 #define   LED_MAIL            0x09
967 #define   LED_CHARGING                  0x0a
968 #define   LED_MAX                       0x0f
969 #define   LED_CNT                       (LED_MAX+1)
970 
971 /*
972  * Autorepeat values
973  */
974 
975 #define   REP_DELAY           0x00
976 #define   REP_PERIOD                    0x01
977 #define   REP_MAX                       0x01
978 #define   REP_CNT                       (REP_MAX+1)
979 
980 /*
981  * Sounds
982  */
983 
984 #define   SND_CLICK           0x00
985 #define   SND_BELL            0x01
986 #define   SND_TONE            0x02
987 #define   SND_MAX                       0x07
988 #define   SND_CNT                       (SND_MAX+1)
989 
990 #endif /* _EVDEV_INPUT_EVENT_CODES_H */
991