AndroidKeyCode列表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AndroidKeyCode列表⼀.KEYCODE列表
电话键
KEYCODE_CALL拨号键5 KEYCODE_ENDCALL挂机键6 KEYCODE_HOME按键Home3 KEYCODE_MENU键82 KEYCODE_BACK返回键4 KEYCODE_SRCH键84 KEYCODE_CAMERA拍照键27 KEYCODE_FOCUS拍照对焦键80 KEYCODE_POWER电源键26 KEYCODE_NOTIFICATION通知键83 KEYCODE_MUTE话筒静⾳键91 KEYCODE_VOLUME_MUTE扬声器静⾳键164 KEYCODE_VOLUME_UP⾳量增加键24 KEYCODE_VOLUME_DOWN⾳量减⼩键25
控制键
KEYCODE_ENTER回车键66 KEYCODE_ESCAPE ESC键111 KEYCODE_DPAD_CENTER键确定键23 KEYCODE_DPAD_UP导航键向上19 KEYCODE_DPAD_DOWN导航键向下20 KEYCODE_DPAD_LEFT导航键向左21 KEYCODE_DPAD_RIGHT导航键向右22 KEYCODE_MOVE_HOME光标到开始键122 KEYCODE_MOVE_END光标移动到末尾键123 KEYCODE_PAGE_UP向上翻页键92 KEYCODE_PAGE_DOWN向下翻页键93 KEYCODE_DEL退格键67 KEYCODE_FORWARD_DEL删除键112 KEYCODE_SERT插⼊键124 KEYCODE_TAB Tab键61 KEYCODE_NUM_LOCK⼩键盘锁143 KEYCODE_CAPS_LOCK⼤写锁定键115 KEYCODE_BREAK Break/Pause键121 KEYCODE_SCROLL_LOCK滚动锁定键116 KEYCODE_ZOOM_IN放⼤键168 KEYCODE_ZOOM_OUT缩⼩键169
组合键
KEYCODE_ALT_LEFT Alt+Left
KEYCODE_ALT_RIGHT Alt+Right
KEYCODE_CTRL_LEFT Control+Left
KEYCODE_CTRL_RIGHT Control+Right
KEYCODE_SHIFT_LEFT Shift+Left
KEYCODE_SHIFT_RIGHT Shift+Right
基本
KEYCODE_0按键'0'7 KEYCODE_1按键'1'8 KEYCODE_2按键'2'9 KEYCODE_3按键'3'10 KEYCODE_4按键'4'11 KEYCODE_5按键'5'12 KEYCODE_6按键'6'13 KEYCODE_7按键'7'14 KEYCODE_8按键'8'15 KEYCODE_9按键'9'16 KEYCODE_A按键'A'29 KEYCODE_B按键'B'30 KEYCODE_C按键'C'31 KEYCODE_D按键'D'32 KEYCODE_E按键'E'33 KEYCODE_F按键'F'34 KEYCODE_G按键'G'35 KEYCODE_H按键'H'36 KEYCODE_I按键'I'37 KEYCODE_J按键'J'38 KEYCODE_K按键'K'39 KEYCODE_L按键'L'40 KEYCODE_M按键'M'41 KEYCODE_N按键'N'42 KEYCODE_O按键'O'43 KEYCODE_P按键'P'44 KEYCODE_Q按键'Q'45 KEYCODE_R按键'R'46 KEYCODE_S按键'S'47 KEYCODE_T按键'T'48 KEYCODE_U按键'U'49 KEYCODE_V按键'V'50 KEYCODE_W按键'W'51 KEYCODE_X按键'X'52 KEYCODE_Y按键'Y'53 KEYCODE_Z按键'Z'54
符号
KEYCODE_PLUS按键'+'
KEYCODE_MINUS按键'-'
KEYCODE_STAR按键'*'
KEYCODE_SLASH按键'/'
KEYCODE_EQUALS按键'='
KEYCODE_AT按键'@'
KEYCODE_POUND按键'#'
KEYCODE_APTROPHE按键''' (单引号) KEYCODE_BACKSLASH按键'\'
KEYCODE_COMMA按键','
KEYCODE_PERIOD按键'.'
KEYCODE_LEFT_BRACKET按键'['
KEYCODE_RIGHT_BRACKET按键']'
KEYCODE_ICOLON按键';'
KEYCODE_GRAVE按键'`'
KEYCODE_SPACE空格键
⼩键盘
KEYCODE_NUMPAD_0⼩键盘按键'0' KEYCODE_NUMPAD_1⼩键盘按键'1' KEYCODE_NUMPAD_2⼩键盘按键'2' KEYCODE_NUMPAD_3⼩键盘按键'3' KEYCODE_NUMPAD_4⼩键盘按键'4' KEYCODE_NUMPAD_5⼩键盘按键'5' KEYCODE_NUMPAD_6⼩键盘按键'6' KEYCODE_NUMPAD_7⼩键盘按键'7' KEYCODE_NUMPAD_8⼩键盘按键'8' KEYCODE_NUMPAD_9⼩键盘按键'9' KEYCODE_NUMPAD_ADD⼩键盘按键'+' KEYCODE_NUMPAD_SUBTRACT⼩键盘按键'-' KEYCODE_NUMPAD_MULTLY⼩键盘按键'*' KEYCODE_NUMPAD_DIV⼩键盘按键'/' KEYCODE_NUMPAD_EQUALS⼩键盘按键'=' KEYCODE_NUMPAD_COMMA⼩键盘按键',' KEYCODE_NUMPAD_DOT⼩键盘按键'.' KEYCODE_NUMPAD_LEFT_PAREN⼩键盘按键'(' KEYCODE_NUMPAD_RIGHT_PAREN⼩键盘按键')' KEYCODE_NUMPAD_ENTER⼩键盘按键回车
功能键
KEYCODE_F1按键F1
KEYCODE_F2按键F2
KEYCODE_F3按键F3
KEYCODE_F4按键F4
KEYCODE_F5按键F5
KEYCODE_F6按键F6
KEYCODE_F7按键F7
KEYCODE_F8按键F8
KEYCODE_F9按键F9
KEYCODE_F10按键F10 KEYCODE_F11按键F11 KEYCODE_F12按键F12
多媒体键
KEYCODE_IA_PLAY多媒体键播放KEYCODE_MEDIA_STOP多媒体键停⽌KEYCODE_MEDIA_PAUSE多媒体键暂停KEYCODE_MEDIA_PLAY_PAUSE多媒体键播放/暂停KEYCODE_MEDIA_FAST_FORWARD多媒体键快进KEYCODE_MEDIA_REWIND多媒体键快退KEYCODE_MEDIA_NEXT多媒体键下⼀⾸KEYCODE_MEDIA_EVIOUS多媒体键上⼀⾸KEYCODE_MEDIA_CLOSE多媒体键关闭KEYCODE_MEDIA_EJECT多媒体键弹出KEYCODE_MEDIA_RECORD多媒体键录⾳
⼿柄按键
KEYCODE_BUTTON_1通⽤⼿柄按钮#1 KEYCODE_BUTTON_2通⽤游戏⼿柄按钮 #2 KEYCODE_BUTTON_3通⽤游戏⼿柄按钮 #3
KEYCODE_BUTTON_4通⽤游戏⼿柄按钮 #4 KEYCODE_BUTTON_5通⽤游戏⼿柄按钮 #5
KEYCODE_BUTTON_6通⽤游戏⼿柄按钮 #6
KEYCODE_BUTTON_7通⽤游戏⼿柄按钮 #7
KEYCODE_BUTTON_8通⽤游戏⼿柄按钮 #8
KEYCODE_BUTTON_9通⽤游戏⼿柄按钮 #9
KEYCODE_BUTTON_10通⽤游戏⼿柄按钮 #10
KEYCODE_BUTTON_11通⽤游戏⼿柄按钮 #11
KEYCODE_BUTTON_12通⽤游戏⼿柄按钮 #12
KEYCODE_BUTTON_13通⽤游戏⼿柄按钮 #13
KEYCODE_BUTTON_14通⽤游戏⼿柄按钮 #14
KEYCODE_BUTTON_15通⽤游戏⼿柄按钮 #15
KEYCODE_BUTTON_16通⽤游戏⼿柄按钮 #16
KEYCODE_BUTTON_A游戏⼿柄按钮 A
KEYCODE_BUTTON_B游戏⼿柄按钮 B
KEYCODE_BUTTON_C游戏⼿柄按钮 C
KEYCODE_BUTTON_X游戏⼿柄按钮 X
KEYCODE_BUTTON_Y游戏⼿柄按钮 Y
KEYCODE_BUTTON_Z游戏⼿柄按钮 Z
KEYCODE_BUTTON_L1游戏⼿柄按钮 L1
KEYCODE_BUTTON_L2游戏⼿柄按钮 L2
KEYCODE_BUTTON_R1游戏⼿柄按钮 R1
KEYCODE_BUTTON_R2游戏⼿柄按钮 R2
KEYCODE_BUTTON_MODE游戏⼿柄按钮 Mode
KEYCODE_BUTTON_SELECT游戏⼿柄按钮 Select
KEYCODE_BUTTON_START游戏⼿柄按钮 Start
KEYCODE_BUTTON_THUMBL Left Thumb Button
KEYCODE_BUTTON_THUMBR Right Thumb Button 待查
KEYCODE_NUM按键Number modifier KEYCODE_INFO按键Info
KEYCODE__SWCH按键App switch
KEYCODE_BOOKMARK按键Bookmark
KEYCODE_AVR_INPUT按键A/V Receiver input
KEYCODE_AVR_POWER按键A/V Receiver power
KEYCODE_CAPTIONS按键Toggle captions
KEYCODE_CHANNEL_DOWN按键Channel down
KEYCODE_CHANNEL_UP按键Channel up
KEYCODE_CLEAR按键Clear
KEYCODE_DVR按键DVR
KEYCODE_ENVELOPE按键Envelope special function
KEYCODE_ELORER按键Explorer special function
KEYCODE_FORWARD按键Forward
KEYCODE_FORWARD_DEL按键Forward Delete
KEYCODE_FUNCTION按键Function modifier
KEYCODE_GDE按键Guide
KEYCODE_HEADSETHOOK按键Headset Hook
KEYCODE_META_LEFT按键Left Meta modifier
KEYCODE_META_RIGHT按键Right Meta modifier
KEYCODE_PICTSYMBOLS按键Picture Symbols modifier
KEYCODE_PROG_BL按键Blue “programmable”
KEYCODE_PROG_GREEN按键Green “programmable”
KEYCODE_PROG_RED按键Red “programmable”
KEYCODE_PROG_YELLOW按键Yellow “programmable”
KEYCODE_SETTINGS按键Settings
KEYCODE_SOFT_LEFT按键Soft Left
KEYCODE_SOFT_RIGHT按键Soft Right
KEYCODE_STB_INPUT按键Set-top-box input
KEYCODE_STB_POWER按键Set-top-box power
KEYCODE_SWITCH_CHARSET按键Switch Charset modifier KEYCODE_SYM按键Symbol modifier
KEYCODE_SYSRQ按键System Request / Print Screen KEYCODE_TV按键TV
KEYCODE_TV_INPUT按键TV input
KEYCODE_TV_POWER按键TV power
KEYCODE_WINDOW按键Window
KEYCODE_UNKNOWN未知按键
⼆.底层代码实现
frameworks/base/data/keyboards/Generic.kl
1 key 1 ESCAPE
2 key 2 1
3 key 3 2
4 key 4 3
5 key 5 4
6 key 6 5
7 key 7 6
8 key 8 7
9 key 9 8
10 key 10 9
11 key 11 0
12 key 12 MINUS
13 key 13 EQUALS
14 key 14 DEL
15 key 15 TAB
16 key 16 Q
17 key 17 W
18 key 18 E
19 key 19 R
20 key 20 T
21 key 21 Y
22 key 22 U
23 key 23 I
24 key 24 O
25 key 25 P
26 key 26 LEFT_BRACKET
27 key 27 RIGHT_BRACKET
28 key 28 ENTER
29 key 29 CTRL_LEFT
30 key 30 A
31 key 31 S
32 key 32 D
33 key 33 F
34 key 34 G
35 key 35 H
36 key 36 J
37 key 37 K
38 key 38 L
39 key 39 SEMICOLON
40 key 40 APOSTROPHE
41 key 41 GRAVE
42 key 42 SHIFT_LEFT
43 key 43 BACKSLASH
44 key 44 Z
45 key 45 X
46 key 46 C
47 key 47 V
48 key 48 B
49 key 49 N
50 key 50 M
51 key 51 COMMA
52 key 52 PERIOD
53 key 53 SLASH
54 key 54 SHIFT_RIGHT
55 key 55 NUMPAD_MULTIPLY
56 key 56 ALT_LEFT
57 key 57 SPACE
58 key 58 CAPS_LOCK
59 key 59 F1
60 key 60 F2
61 key 61 F3
62 key 62 F4
63 key 63 F5
64 key 64 F6
65 key 65 F7
66 key 66 F8
67 key 67 F9
68 key 68 F10
69 key 69 NUM_LOCK
70 key 70 SCROLL_LOCK
71 key 71 NUMPAD_7
72 key 72 NUMPAD_8
73 key 73 NUMPAD_9
74 key 74 NUMPAD_SUBTRACT
75 key 75 NUMPAD_4
76 key 76 NUMPAD_5
77 key 77 NUMPAD_6
78 key 78 NUMPAD_ADD
79 key 79 NUMPAD_1
80 key 80 NUMPAD_2
81 key 81 NUMPAD_3
82 key 82 NUMPAD_0
83 key 83 NUMPAD_DOT
84 # key 84 (undefined)
85 key 85 ZENKAKU_HANKAKU
86 key 86 BACKSLASH
87 key 87 F11
88 key 88 F12
89 key 89 RO
90 # key 90 "KEY_KATAKANA"
91 # key 91 "KEY_HIRAGANA"
92 key 92 HENKAN
93 key 93 KATAKANA_HIRAGANA
94 key 94 MUHENKAN
95 key 95 NUMPAD_COMMA
96 key 96 NUMPAD_ENTER
97 key 97 CTRL_RIGHT
98 key 98 NUMPAD_DIVIDE
99 key 99 SYSRQ
100 key 100 ALT_RIGHT
101 # key 101 "KEY_LINEFEED"
102 key 102 MOVE_HOME
103 key 103 DPAD_UP
104 key 104 PAGE_UP
105 key 105 DPAD_LEFT
106 key 106 DPAD_RIGHT
107 key 107 MOVE_END
108 key 108 DPAD_DOWN
109 key 109 PAGE_DOWN
110 key 110 INSERT
111 key 111 FORWARD_DEL
112 # key 112 "KEY_MACRO"
113 key 113 VOLUME_MUTE
114 key 114 VOLUME_DOWN
115 key 115 VOLUME_UP
116 key 116 POWER WAKE
117 key 117 NUMPAD_EQUALS
118 # key 118 "KEY_KPPLUSMINUS"
119 key 119 BREAK
120 # key 120 (undefined)
121 key 121 NUMPAD_COMMA
122 key 122 KANA
123 key 123 EISU
124 key 124 YEN
125 key 125 META_LEFT
126 key 126 META_RIGHT
127 key 127 MENU WAKE_DROPPED 128 key 128 MEDIA_STOP
129 # key 129 "KEY_AGAIN"
130 # key 130 "KEY_PROPS"
131 # key 131 "KEY_UNDO"
132 # key 132 "KEY_FRONT"
133 # key 133 "KEY_COPY"
134 # key 134 "KEY_OPEN"
135 # key 135 "KEY_PASTE"
136 # key 136 "KEY_FIND"
137 # key 137 "KEY_CUT"
138 # key 138 "KEY_HELP"
139 key 139 MENU WAKE_DROPPED 140 key 140 CALCULATOR
141 # key 141 "KEY_SETUP"
142 key 142 POWER WAKE
143 key 143 POWER WAKE
144 # key 144 "KEY_FILE"
145 # key 145 "KEY_SENDFILE"
146 # key 146 "KEY_DELETEFILE"
147 # key 147 "KEY_XFER"
148 # key 148 "KEY_PROG1"
149 # key 149 "KEY_PROG2"
150 key 150 EXPLORER
151 # key 151 "KEY_MSDOS"
152 key 152 POWER WAKE
153 # key 153 "KEY_DIRECTION"
154 # key 154 "KEY_CYCLEWINDOWS"
155 key 155 ENVELOPE
156 key 156 BOOKMARK
157 # key 157 "KEY_COMPUTER"
158 key 158 BACK WAKE_DROPPED 159 key 159 FORWARD
160 key 160 MEDIA_CLOSE
161 key 161 MEDIA_EJECT
162 key 162 MEDIA_EJECT
163 key 163 MEDIA_NEXT
164 key 164 MEDIA_PLAY_PAUSE
165 key 165 MEDIA_PREVIOUS
166 key 166 MEDIA_STOP
167 key 167 MEDIA_RECORD
168 key 168 MEDIA_REWIND
169 key 169 CALL
170 # key 170 "KEY_ISO"
171 key 171 MUSIC
172 key 172 HOME
173 # key 173 "KEY_REFRESH"
174 # key 174 "KEY_EXIT"
175 # key 175 "KEY_MOVE"
176 # key 176 "KEY_EDIT"
177 key 177 PAGE_UP
178 key 178 PAGE_DOWN
179 key 179 NUMPAD_LEFT_PAREN
180 key 180 NUMPAD_RIGHT_PAREN
181 # key 181 "KEY_NEW"
182 # key 182 "KEY_REDO"
183 # key 183 F13
184 # key 184 F14
185 # key 185 F15
186 # key 186 F16
187 # key 187 F17
188 # key 188 F18
189 # key 189 F19
190 # key 190 F20
191 # key 191 F21
192 # key 192 F22
193 # key 193 F23
194 # key 194 F24
195 # key 195 (undefined)
196 # key 196 (undefined)
197 # key 197 (undefined)
198 # key 198 (undefined)
199 # key 199 (undefined)
200 key 200 MEDIA_PLAY
201 key 201 MEDIA_PAUSE
202 # key 202 "KEY_PROG3"
203 # key 203 "KEY_PROG4"
204 # key 204 (undefined)
205 # key 205 "KEY_SUSPEND"
206 # key 206 "KEY_CLOSE"
207 key 207 MEDIA_PLAY
208 key 208 MEDIA_FAST_FORWARD
209 # key 209 "KEY_BASSBOOST"
210 # key 210 "KEY_PRINT"
211 # key 211 "KEY_HP"
212 key 212 CAMERA
213 key 213 MUSIC
214 # key 214 "KEY_QUESTION"
215 key 215 ENVELOPE
216 # key 216 "KEY_CHAT"
217 key 217 SEARCH
218 # key 218 "KEY_CONNECT"
219 # key 219 "KEY_FINANCE"
220 # key 220 "KEY_SPORT"
221 # key 221 "KEY_SHOP"
222 # key 222 "KEY_ALTERASE"
223 # key 223 "KEY_CANCEL"
224 # key 224 "KEY_BRIGHTNESSDOWN"
225 # key 225 "KEY_BRIGHTNESSUP"
226 key 226 HEADSETHOOK
227
228 key 256 BUTTON_1
229 key 257 BUTTON_2
230 key 258 BUTTON_3
231 key 259 BUTTON_4
232 key 260 BUTTON_5
233 key 261 BUTTON_6
234 key 262 BUTTON_7
235 key 263 BUTTON_8
236 key 264 BUTTON_9
237 key 265 BUTTON_10
238 key 266 BUTTON_11
239 key 267 BUTTON_12
240 key 268 BUTTON_13
241 key 269 BUTTON_14
242 key 270 BUTTON_15
243 key 271 BUTTON_16
244
245 key 288 BUTTON_1
246 key 289 BUTTON_2
247 key 290 BUTTON_3
248 key 291 BUTTON_4
249 key 292 BUTTON_5
250 key 293 BUTTON_6
251 key 294 BUTTON_7
252 key 295 BUTTON_8
253 key 296 BUTTON_9
254 key 297 BUTTON_10
255 key 298 BUTTON_11
256 key 299 BUTTON_12
257 key 300 BUTTON_13
258 key 301 BUTTON_14
259 key 302 BUTTON_15
260 key 303 BUTTON_16
261
262
263 key 304 BUTTON_A
264 key 305 BUTTON_B
265 key 306 BUTTON_C
266 key 307 BUTTON_X
267 key 308 BUTTON_Y
268 key 309 BUTTON_Z
269 key 310 BUTTON_L1
270 key 311 BUTTON_R1
271 key 312 BUTTON_L2
272 key 313 BUTTON_R2
273 key 314 BUTTON_SELECT 274 key 315 BUTTON_START
275 key 316 BUTTON_MODE
276 key 317 BUTTON_THUMBL 277 key 318 BUTTON_THUMBR 278
279
280 # key 352 "KEY_OK"
281 key 353 DPAD_CENTER
282 # key 354 "KEY_GOTO"
283 # key 355 "KEY_CLEAR"
284 # key 356 "KEY_POWER2"
285 # key 357 "KEY_OPTION"
286 # key 358 "KEY_INFO"
287 # key 359 "KEY_TIME"
288 # key 360 "KEY_VENDOR"
289 # key 361 "KEY_ARCHIVE" 290 key 362 GUIDE
291 # key 363 "KEY_CHANNEL" 292 # key 364 "KEY_FAVORITES" 293 # key 365 "KEY_EPG"
294 key 366 DVR
295 # key 367 "KEY_MHP"
296 # key 368 "KEY_LANGUAGE" 297 # key 369 "KEY_TITLE"
298 # key 370 "KEY_SUBTITLE" 299 # key 371 "KEY_ANGLE"
300 # key 372 "KEY_ZOOM"
301 # key 373 "KEY_MODE"
302 # key 374 "KEY_KEYBOARD" 303 # key 375 "KEY_SCREEN"
304 # key 376 "KEY_PC"
305 key 377 TV
306 # key 378 "KEY_TV2"
307 # key 379 "KEY_VCR"
308 # key 380 "KEY_VCR2"
309 # key 381 "KEY_SAT"
310 # key 382 "KEY_SAT2"
311 # key 383 "KEY_CD"
312 # key 384 "KEY_TAPE"
313 # key 385 "KEY_RADIO"
314 # key 386 "KEY_TUNER"
315 # key 387 "KEY_PLAYER"
316 # key 388 "KEY_TEXT"
317 # key 389 "KEY_DVD"
318 # key 390 "KEY_AUX"
319 # key 391 "KEY_MP3"
320 # key 392 "KEY_AUDIO"
321 # key 393 "KEY_VIDEO"
322 # key 394 "KEY_DIRECTORY"
323 # key 395 "KEY_LIST"
324 # key 396 "KEY_MEMO"
325 key 397 CALENDAR
326 # key 398 "KEY_RED"
327 # key 399 "KEY_GREEN"
328 # key 400 "KEY_YELLOW"
329 # key 401 "KEY_BLUE"
330 key 402 CHANNEL_UP
331 key 403 CHANNEL_DOWN
332 # key 404 "KEY_FIRST"
333 # key 405 "KEY_LAST"
334 # key 406 "KEY_AB"
335 # key 407 "KEY_NEXT"
336 # key 408 "KEY_RESTART"
337 # key 409 "KEY_SLOW"
338 # key 410 "KEY_SHUFFLE"
339 # key 411 "KEY_BREAK"
340 # key 412 "KEY_PREVIOUS"
341 # key 413 "KEY_DIGITS"
342 # key 414 "KEY_TEEN"
343 # key 415 "KEY_TWEN"
344
345 key 429 CONTACTS
346
347 # key 448 "KEY_DEL_EOL"
348 # key 449 "KEY_DEL_EOS"
349 # key 450 "KEY_INS_LINE"
350 # key 451 "KEY_DEL_LINE"
351
352
353 key 464 FUNCTION
354 key 465 ESCAPE FUNCTION
355 key 466 F1 FUNCTION
356 key 467 F2 FUNCTION
357 key 468 F3 FUNCTION
358 key 469 F4 FUNCTION
359 key 470 F5 FUNCTION
360 key 471 F6 FUNCTION
361 key 472 F7 FUNCTION
362 key 473 F8 FUNCTION
363 key 474 F9 FUNCTION
364 key 475 F10 FUNCTION
365 key 476 F11 FUNCTION
366 key 477 F12 FUNCTION
367 key 478 1 FUNCTION
368 key 479 2 FUNCTION
369 key 480 D FUNCTION
370 key 481 E FUNCTION
371 key 482 F FUNCTION
372 key 483 S FUNCTION
373 key 484 B FUNCTION
374
375
376 # key 497 KEY_BRL_DOT1
377 # key 498 KEY_BRL_DOT2
378 # key 499 KEY_BRL_DOT3
379 # key 500 KEY_BRL_DOT4
380 # key 501 KEY_BRL_DOT5
381 # key 502 KEY_BRL_DOT6
382 # key 503 KEY_BRL_DOT7
383 # key 504 KEY_BRL_DOT8
384
385
386 # Joystick and game controller axes.
387 # Axes that are not mapped will be assigned generic axis numbers by the input subsystem. 388 axis 0x00 X
389 axis 0x01 Y
390 axis 0x02 Z
391 axis 0x03 RX
392 axis 0x04 RY
393 axis 0x05 RZ
394 axis 0x06 THROTTLE
395 axis 0x07 RUDDER
396 axis 0x08 WHEEL
397 axis 0x09 GAS
398 axis 0x0a BRAKE
399 axis 0x10 HAT_X
400 axis 0x11 HAT_Y
401
402 key 158 BACK WAKE_DROPPED
403
404类型 CODE NAME
405
406有些没有⽤到的⽤'#'注释
407
408
409
410 kernel/include/linux/input.h
411
412 #ifndef _INPUT_H
413 #define _INPUT_H
414
415/*
416 * Copyright (c) 1999-2002 Vojtech Pavlik
417 *
418 * This program is free software; you can redistribute it and/or modify it
419 * under the terms of the GNU General Public License version 2 as published by 420 * the Free Software Foundation.
421*/
422
423 #ifdef __KERNEL__
424 #include <linux/time.h>
425 #include <linux/list.h>
426 #else
427 #include <sys/time.h>
428 #include <sys/ioctl.h>
429 #include <sys/types.h>
430 #include <linux/types.h>
431 #endif
432
433/*
434 * The event structure itself
435*/
436
437 struct input_event {
438 struct timeval time;
439 __u16 type;
440 __u16 code;
441 __s32 value;
442 };
443
444/*
445 * Protocol version.
446*/
447
448 #define EV_VERSION 0x010001
449
450/*
451 * IOCTLs (0x00 - 0x7f)
452*/
453
454 struct input_id {
455 __u16 bustype;
456 __u16 vendor;
457 __u16 product;
458 __u16 version;
459 };
460
461/**
462 * struct input_absinfo - used by EVIOCGABS/EVIOCSABS ioctls
463 * @value: latest reported value for the axis.
464 * @minimum: specifies minimum value for the axis.
465 * @maximum: specifies maximum value for the axis.
466 * @fuzz: specifies fuzz value that is used to filter noise from
467 * the event stream.
468 * @flat: values that are within this value will be discarded by
469 * joydev interface and reported as 0 instead.
470 * @resolution: specifies resolution for the values reported for
471 * the axis.
472 *
473 * Note that input core does not clamp reported values to the
474 * [minimum, maximum] limits, such task is left to userspace.
475 *
476 * Resolution for main axes (ABS_X, ABS_Y, ABS_Z) is reported in
477 * units per millimeter (units/mm), resolution for rotational axes
478 * (ABS_RX, ABS_RY, ABS_RZ) is reported in units per radian.
479*/
480 struct input_absinfo {
481 __s32 value;
482 __s32 minimum;
483 __s32 maximum;
484 __s32 fuzz;
485 __s32 flat;
486 __s32 resolution;
487 };
488
489/**
490 * struct input_keymap_entry - used by EVIOCGKEYCODE/EVIOCSKEYCODE ioctls
491 * @scancode: scancode represented in machine-endian form.
492 * @len: length of the scancode that resides in @scancode buffer.
493 * @index: index in the keymap, may be used instead of scancode
494 * @flags: allows to specify how kernel should handle the request. For
495 * example, setting INPUT_KEYMAP_BY_INDEX flag indicates that kernel
496 * should perform lookup in keymap by @index instead of @scancode
497 * @keycode: key code assigned to this scancode
498 *
499 * The structure is used to retrieve and modify keymap data. Users have
500 * option of performing lookup either by @scancode itself or by @index
501 * in keymap entry. EVIOCGKEYCODE will also return scancode or index
502 * (depending on which element was used to perform lookup).
503*/
504 struct input_keymap_entry {
505 #define INPUT_KEYMAP_BY_INDEX (1 << 0)
506 __u8 flags;
507 __u8 len;
508 __u16 index;
509 __u32 keycode;
510 __u8 scancode[32];
511 };
512
513 #define EVIOCGVERSION _IOR('E', 0x01, int) /* get driver version */
514 #define EVIOCGID _IOR('E', 0x02, struct input_id) /* get device ID */
515 #define EVIOCGREP _IOR('E', 0x03, unsigned int[2]) /* get repeat settings */
516 #define EVIOCSREP _IOW('E', 0x03, unsigned int[2]) /* set repeat settings */
517
518 #define EVIOCGKEYCODE _IOR('E', 0x04, unsigned int[2]) /* get keycode */
519 #define EVIOCGKEYCODE_V2 _IOR('E', 0x04, struct input_keymap_entry)
520 #define EVIOCSKEYCODE _IOW('E', 0x04, unsigned int[2]) /* set keycode */
521 #define EVIOCSKEYCODE_V2 _IOW('E', 0x04, struct input_keymap_entry)
522
523 #define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) /* get device name */
524 #define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) /* get physical location */
525 #define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len) /* get unique identifier */
526 #define EVIOCGPROP(len) _IOC(_IOC_READ, 'E', 0x09, len) /* get device properties */
527
528 #define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len) /* get global key state */
529 #define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len) /* get all LEDs */
530 #define EVIOCGSND(len) _IOC(_IOC_READ, 'E', 0x1a, len) /* get all sounds status */
531 #define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) /* get all switch states */
532
533 #define EVIOCGBIT(ev,len) _IOC(_IOC_READ, 'E', 0x20 + ev, len) /* get event bits */
534 #define EVIOCGABS(abs) _IOR('E', 0x40 + abs, struct input_absinfo) /* get abs value/limits */
535 #define EVIOCSABS(abs) _IOW('E', 0xc0 + abs, struct input_absinfo) /* set abs value/limits */
536
537 #define EVIOCSFF _IOC(_IOC_WRITE, 'E', 0x80, sizeof(struct ff_effect)) /* send a force effect to a force feedback device */ 538 #define EVIOCRMFF _IOW('E', 0x81, int) /* Erase a force effect */
539 #define EVIOCGEFFECTS _IOR('E', 0x84, int) /* Report number of effects playable at the same time */
540
541 #define EVIOCGRAB _IOW('E', 0x90, int) /* Grab/Release device */
542
543 #define EVIOCGSUSPENDBLOCK _IOR('E', 0x91, int) /* get suspend block enable */
544 #define EVIOCSSUSPENDBLOCK _IOW('E', 0x91, int) /* set suspend block enable */
545
546/*
547 * Device properties and quirks
548*/
549
550 #define INPUT_PROP_POINTER 0x00 /* needs a pointer */
551 #define INPUT_PROP_DIRECT 0x01 /* direct input devices */
552 #define INPUT_PROP_BUTTONPAD 0x02 /* has button(s) under pad */
553 #define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */
554
555 #define INPUT_PROP_MAX 0x1f
556 #define INPUT_PROP_CNT (INPUT_PROP_MAX + 1)
557
558/*
559 * Event types
560*/
561
562 #define EV_SYN 0x00
563 #define EV_KEY 0x01
564 #define EV_REL 0x02
565 #define EV_ABS 0x03
566 #define EV_MSC 0x04
567 #define EV_SW 0x05
568 #define EV_LED 0x11
569 #define EV_SND 0x12
570 #define EV_REP 0x14
571 #define EV_FF 0x15
573 #define EV_FF_STATUS 0x17
574 #define EV_MAX 0x1f
575 #define EV_CNT (EV_MAX+1)
576
577/*
578 * Synchronization events.
579*/
580
581 #define SYN_REPORT 0
582 #define SYN_CONFIG 1
583 #define SYN_MT_REPORT 2
584 #define SYN_DROPPED 3
585
586/*
587 * Keys and buttons
588 *
589 * Most of the keys/buttons are modeled after USB HUT 1.12 590 * (see /developers/hidpage).
591 * Abbreviations in the comments:
592 * AC - Application Control
593 * AL - Application Launch Button
594 * SC - System Control
595*/
596
597 #define KEY_RESERVED 0
598 #define KEY_ESC 1
599 #define KEY_1 2
600 #define KEY_2 3
601 #define KEY_3 4
602 #define KEY_4 5
603 #define KEY_5 6
604 #define KEY_6 7
605 #define KEY_7 8
606 #define KEY_8 9
607 #define KEY_9 10
608 #define KEY_0 11
609 #define KEY_MINUS 12
610 #define KEY_EQUAL 13
611 #define KEY_BACKSPACE 14
612 #define KEY_TAB 15
613 #define KEY_Q 16
614 #define KEY_W 17
615 #define KEY_E 18
616 #define KEY_R 19
617 #define KEY_T 20
618 #define KEY_Y 21
619 #define KEY_U 22
620 #define KEY_I 23
621 #define KEY_O 24
622 #define KEY_P 25
623 #define KEY_LEFTBRACE 26
624 #define KEY_RIGHTBRACE 27
625 #define KEY_ENTER 28
626 #define KEY_LEFTCTRL 29
627 #define KEY_A 30
628 #define KEY_S 31
629 #define KEY_D 32
630 #define KEY_F 33
631 #define KEY_G 34
632 #define KEY_H 35
633 #define KEY_J 36
634 #define KEY_K 37
635 #define KEY_L 38
636 #define KEY_SEMICOLON 39
637 #define KEY_APOSTROPHE 40
638 #define KEY_GRAVE 41
639 #define KEY_LEFTSHIFT 42
640 #define KEY_BACKSLASH 43
641 #define KEY_Z 44
642 #define KEY_X 45
643 #define KEY_C 46
644 #define KEY_V 47
645 #define KEY_B 48
646 #define KEY_N 49
647 #define KEY_M 50
648 #define KEY_COMMA 51
649 #define KEY_DOT 52
650 #define KEY_SLASH 53
651 #define KEY_RIGHTSHIFT 54
652 #define KEY_KPASTERISK 55
653 #define KEY_LEFTALT 56
654 #define KEY_SPACE 57
655 #define KEY_CAPSLOCK 58
658 #define KEY_F3 61
659 #define KEY_F4 62
660 #define KEY_F5 63
661 #define KEY_F6 64
662 #define KEY_F7 65
663 #define KEY_F8 66
664 #define KEY_F9 67
665 #define KEY_F10 68
666 #define KEY_NUMLOCK 69
667 #define KEY_SCROLLLOCK 70
668 #define KEY_KP7 71
669 #define KEY_KP8 72
670 #define KEY_KP9 73
671 #define KEY_KPMINUS 74
672 #define KEY_KP4 75
673 #define KEY_KP5 76
674 #define KEY_KP6 77
675 #define KEY_KPPLUS 78
676 #define KEY_KP1 79
677 #define KEY_KP2 80
678 #define KEY_KP3 81
679 #define KEY_KP0 82
680 #define KEY_KPDOT 83
681
682 #define KEY_ZENKAKUHANKAKU 85
683 #define KEY_102ND 86
684 #define KEY_F11 87
685 #define KEY_F12 88
686 #define KEY_RO 89
687 #define KEY_KATAKANA 90
688 #define KEY_HIRAGANA 91
689 #define KEY_HENKAN 92
690 #define KEY_KATAKANAHIRAGANA 93
691 #define KEY_MUHENKAN 94
692 #define KEY_KPJPCOMMA 95
693 #define KEY_KPENTER 96
694 #define KEY_RIGHTCTRL 97
695 #define KEY_KPSLASH 98
696 #define KEY_SYSRQ 99
697 #define KEY_RIGHTALT 100
698 #define KEY_LINEFEED 101
699 #define KEY_HOME 102
700 #define KEY_UP 103
701 #define KEY_PAGEUP 104
702 #define KEY_LEFT 105
703 #define KEY_RIGHT 106
704 #define KEY_END 107
705 #define KEY_DOWN 108
706 #define KEY_PAGEDOWN 109
707 #define KEY_INSERT 110
708 #define KEY_DELETE 111
709 #define KEY_MACRO 112
710 #define KEY_MUTE 113
711 #define KEY_VOLUMEDOWN 114
712 #define KEY_VOLUMEUP 115
713 #define KEY_POWER 116 /* SC System Power Down */ 714 #define KEY_KPEQUAL 117
715 #define KEY_KPPLUSMINUS 118
716 #define KEY_PAUSE 119
717 #define KEY_SCALE 120 /* AL Compiz Scale (Expose) */ 718
719 #define KEY_KPCOMMA 121
720 #define KEY_HANGEUL 122
721 #define KEY_HANGUEL KEY_HANGEUL
722 #define KEY_HANJA 123
723 #define KEY_YEN 124
724 #define KEY_LEFTMETA 125
725 #define KEY_RIGHTMETA 126
726 #define KEY_COMPOSE 127
727
728 #define KEY_STOP 128 /* AC Stop */
729 #define KEY_AGAIN 129
730 #define KEY_PROPS 130 /* AC Properties */
731 #define KEY_UNDO 131 /* AC Undo */
732 #define KEY_FRONT 132
733 #define KEY_COPY 133 /* AC Copy */
734 #define KEY_OPEN 134 /* AC Open */
735 #define KEY_PASTE 135 /* AC Paste */
736 #define KEY_FIND 136 /* AC Search */
737 #define KEY_CUT 137 /* AC Cut */
738 #define KEY_HELP 138 /* AL Integrated Help Center */ 739 #define KEY_MENU 139 /* Menu (show menu) */。