HID(Human Interface Device,人机接口设备)是USB设备中常用的设备类型,是直接与人交互的USB设备,例如键盘、遥控器、鼠标与游戏杆等。在USB设备中,HID设备的成本较低。
之前文章 android 键盘(遥控)键值定义大全 中整理了android中各种功能键值定义,那么从键盘按键到安卓设备控制生效的流程是怎样的呢?
Android 设备上的键盘操作实现流程:
-
EventHub
从evdev
驱动程序中读取原始事件,并使用键盘的按键布局映射将 Linux 按键代码(有时也称扫描代码)映射到 Android 按键代码中。 -
InputReader
将消费原始事件,并更新元键状态。例如,如果您按下或释放左 Shift 键,该读取器就会相应地设置或重置META_SHIFT_LEFT_ON
和META_SHIFT_ON
位。 -
InputReader
会向InputDispatcher
发送按键事件的相关通知。 -
InputDispatcher
通过调用WindowManagerPolicy.interceptKeyBeforeQueueing
询问WindowManagerPolicy
如何处理按键事件。该方法(负责在按下某些按键时唤醒设备)属于关键路径的一部分。实际上,EventHub
会在此关键路径上一直持有唤醒锁,从而确保它运行至结束。 -
如果目前正在使用
InputFilter
,那么InputDispatcher
将给予它机会消费或转换按键。InputFilter
可用于实现低级别的全系统可访问性政策。 -
InputDispatcher
可将按键排入队列,以便在分配线程上对其进行处理。 -
当
InputDispatcher
将按键移出队列时,它会通过调用WindowManagerPolicy.interceptKeyBeforeDispatching
使WindowManagerPolicy
再次有机会拦截按键事件。此方法可用于处理系统快捷方式和其他功能。 -
随后,
InputDispatcher
会识别按键事件目标(获得焦点的窗口),并等待按键事件目标就绪。接下来,InputDispatcher
会将按键事件发送到应用。 -
在应用内,按键事件会沿着视图层次结构向下传送到获得焦点的视图,以进行 IME 按键预分配。
-
如果按键事件未在 IME 按键预分配阶段进行处理,而某个 IME 正在使用中,那么按键事件会被发送到 IME。
-
如果 IME 未消费按键事件,那么按键事件会沿着视图层次结构向下传送到获得焦点的视图,从而进行标准按键分配。
-
应用反过来向
InputDispatcher
报告有关按键事件是否被使用的情况。如果事件未被使用,InputDispatcher
会调用WindowManagerPolicy.dispatchUnhandledKey
来应用“回退”行为。根据回退操作,可以使用不同的按键代码重新启动按键事件分配周期。例如,如果应用不处理KEYCODE_ESCAPE
,系统可能会改为将按键事件作为KEYCODE_BACK
再次分配。
HID用途用两个码值表示,分别代表键的类型和键值,比如0x07代表该键的类型为功能键,0x0001代表键值。以USB遥控器为例:
常见的按键分类如下:
-
控制键(Control Key):
- 码值 0x01:Ctrl 键
-
转换键(Modifier Key):
- 码值 0x02:Shift 键
- 码值 0x03:Alt 键
- 码值 0x04:GUI 键(例如,Windows 键或 Command 键)
- 码值 0x05:Caps Lock 键
- 码值 0x06:Num Lock 键
-
导航键(Navigation Key):
- 码值 0x08:上箭头
- 码值 0x09:下箭头
- 码值 0x0A:右箭头
- 码值 0x0B:左箭头
- 码值 0x0C:主页键
- 码值 0x0D:结束键
- 码值 0x0E:页面上键
- 码值 0x0F:页面下键
-
功能键(Function Key):
- 码值 0x07:通常表示功能键,但也可以有其他自定义功能键的码值
HID 用途、Linux 按键代码和 Android 按键代码
LKC 列可采用十六进制格式指定 Linux 按键代码。
AKC 列可采用十六进制格式指定 Android 按键代码。
HID 用途 | HID 用途名称 | LKC | Linux 按键代码名称 | 版本 | AKC | Android 按键代码名称 | 备注 |
---|---|---|---|---|---|---|---|
0x07 0x0001 | 键盘错误,防冲突功能 | ||||||
0x07 0x0002 | 键盘 POST 失败 | ||||||
0x07 0x0003 | 键盘错误未定义 | ||||||
0x07 0x0004 | 键盘 a 和 A 键 | 0x001e | KEY_A | 1.6 | 0x001d | KEYCODE_A | 1 |
0x07 0x0005 | 键盘 b 和 B 键 | 0x0030 | KEY_B | 1.6 | 0x001e | KEYCODE_B | 1 |
0x07 0x0006 | 键盘 c 和 C 键 | 0x002e | KEY_C | 1.6 | 0x001f | KEYCODE_C | 1 |
0x07 0x0007 | 键盘 d 和 D 键 | 0x0020 | KEY_D | 1.6 | 0x0020 | KEYCODE_D | 1 |
0x07 0x0008 | 键盘 e 和 E 键 | 0x0012 | KEY_E | 1.6 | 0x0021 | KEYCODE_E | 1 |
0x07 0x0009 | 键盘 f 和 F 键 | 0x0021 | KEY_F | 1.6 | 0x0022 | KEYCODE_F | 1 |
0x07 0x000a | 键盘 g 和 G 键 | 0x0022 | KEY_G | 1.6 | 0x0023 | KEYCODE_G | 1 |
0x07 0x000b | 键盘 h 和 H 键 | 0x0023 | KEY_H | 1.6 | 0x0024 | KEYCODE_H | 1 |
0x07 0x000c | 键盘 i 和 I 键 | 0x0017 | KEY_I | 1.6 | 0x0025 | KEYCODE_I | 1 |
0x07 0x000d | 键盘 j 和 J 键 | 0x0024 | KEY_J | 1.6 | 0x0026 | KEYCODE_J | 1 |
0x07 0x000e | 键盘 k 和 K 键 | 0x0025 | KEY_K | 1.6 | 0x0027 | KEYCODE_K | 1 |
0x07 0x000f | 键盘 l 和 L 键 | 0x0026 | KEY_L | 1.6 | 0x0028 | KEYCODE_L | 1 |
0x07 0x0010 | 键盘 m 和 M 键 | 0x0032 | KEY_M | 1.6 | 0x0029 | KEYCODE_M | 1 |
0x07 0x0011 | 键盘 n 和 N 键 | 0x0031 | KEY_N | 1.6 | 0x002a | KEYCODE_N | 1 |
0x07 0x0012 | 键盘 o 和 O 键 | 0x0018 | KEY_O | 1.6 | 0x002b | KEYCODE_O | 1 |
0x07 0x0013 | 键盘 p 和 P 键 | 0x0019 | KEY_P | 1.6 | 0x002c | KEYCODE_P | 1 |
0x07 0x0014 | 键盘 q 和 Q 键 | 0x0010 | KEY_Q | 1.6 | 0x002d | KEYCODE_Q | 1 |
0x07 0x0015 | 键盘 r 和 R 键 | 0x0013 | KEY_R | 1.6 | 0x002e | KEYCODE_R | 1 |
0x07 0x0016 | 键盘 s 和 S 键 | 0x001f | KEY_S | 1.6 | 0x002f | KEYCODE_S | 1 |
0x07 0x0017 | 键盘 t 和 T 键 | 0x0014 | KEY_T | 1.6 | 0x0030 | KEYCODE_T | 1 |
0x07 0x0018 | 键盘 u 和 U 键 | 0x0016 | KEY_U | 1.6 | 0x0031 | KEYCODE_U | 1 |
0x07 0x0019 | 键盘 v 和 V 键 | 0x002f | KEY_V | 1.6 | 0x0032 | KEYCODE_V | 1 |
0x07 0x001a | 键盘 w 和 W 键 | 0x0011 | KEY_W | 1.6 | 0x0033 | KEYCODE_W | 1 |
0x07 0x001b | 键盘 x 和 X 键 | 0x002d | KEY_X | 1.6 | 0x0034 | KEYCODE_X | 1 |
0x07 0x001c | 键盘 y 和 Y 键 | 0x0015 | KEY_Y | 1.6 | 0x0035 | KEYCODE_Y | 1 |
0x07 0x001d | 键盘 z 和 Z 键 | 0x002c | KEY_Z | 1.6 | 0x0036 | KEYCODE_Z | 1 |
0x07 0x001e | 键盘 1 和 ! 键 | 0x0002 | KEY_1 | 1.6 | 0x0008 | KEYCODE_1 | 1 |
0x07 0x001f | 键盘 2 和 @ 键 | 0x0003 | KEY_2 | 1.6 | 0x0009 | KEYCODE_2 | 1 |
0x07 0x0020 | 键盘 3 和 # 键 | 0x0004 | KEY_3 | 1.6 | 0x000a | KEYCODE_3 | 1 |
0x07 0x0021 | 键盘 4 和 $ 键 | 0x0005 | KEY_4 | 1.6 | 0x000b | KEYCODE_4 | 1 |
0x07 0x0022 | 键盘 5 和 % 键 | 0x0006 | KEY_5 | 1.6 | 0x000c | KEYCODE_5 | 1 |
0x07 0x0023 | 键盘 6 和 ^ 键 | 0x0007 | KEY_6 | 1.6 | 0x000d | KEYCODE_6 | 1 |
0x07 0x0024 | 键盘 7 和 & 键 | 0x0008 | KEY_7 | 1.6 | 0x000e | KEYCODE_7 | 1 |
0x07 0x0025 | 键盘 8 和 * 键 | 0x0009 | KEY_8 | 1.6 | 0x000f | KEYCODE_8 | 1 |
0x07 0x0026 | 键盘 9 和 ( 键 | 0x000a | KEY_9 | 1.6 | 0x0010 | KEYCODE_9 | 1 |
0x07 0x0027 | 键盘 0 和 ) 键 | 0x000b | KEY_0 | 1.6 | 0x0007 | KEYCODE_0 | 1 |
0x07 0x0028 | 键盘返回 (Enter) 键 | 0x001c | KEY_ENTER | 1.6 | 0x0042 | KEYCODE_ENTER | 1 |
0x07 0x0029 | 键盘 Esc 键 | 0x0001 | KEY_ESC | 3.0 | 0x006f | KEYCODE_ESCAPE | |
"" | "" | "" | "" | 2.3 | 0x0004 | KEYCODE_BACK | |
0x07 0x002a | 键盘删除 (Backspace) 键 | 0x000e | KEY_BACKSPACE | 1.6 | 0x0043 | KEYCODE_DEL | |
0x07 0x002b | 键盘 Tab 键 | 0x000f | KEY_TAB | 1.6 | 0x003d | KEYCODE_TAB | |
0x07 0x002c | 键盘空格键 | 0x0039 | KEY_SPACE | 1.6 | 0x003e | KEYCODE_SPACE | |
0x07 0x002d | 键盘 - 和 _ 键 | 0x000c | KEY_MINUS | 1.6 | 0x0045 | KEYCODE_MINUS | 1 |
0x07 0x002e | 键盘 = 和 + 键 | 0x000d | KEY_EQUAL | 1.6 | 0x0046 | KEYCODE_EQUALS | 1 |
0x07 0x002f | 键盘 [ 和 { 键 | 0x001a | KEY_LEFTBRACE | 1.6 | 0x0047 | KEYCODE_LEFT_BRACKET | 1 |
0x07 0x0030 | 键盘 ] 和 } 键 | 0x001b | KEY_RIGHTBRACE | 1.6 | 0x0048 | KEYCODE_RIGHT_BRACKET | 1 |
0x07 0x0031 | 键盘 \ 和 | 键 | 0x002b | KEY_BACKSLASH | 1.6 | 0x0049 | KEYCODE_BACKSLASH | 1 |
0x07 0x0032 | 键盘非美式 # 和 ~ 键 | 0x002b | KEY_BACKSLASH | 1.6 | 0x0049 | KEYCODE_BACKSLASH | 1 |
0x07 0x0033 | 键盘 ; 和 : 键 | 0x0027 | KEY_SEMICOLON | 1.6 | 0x004a | KEYCODE_SEMICOLON | 1 |
0x07 0x0034 | 键盘 ' 和 " 键 | 0x0028 | KEY_APOSTROPHE | 1.6 | 0x004b | KEYCODE_APOSTROPHE | 1 |
0x07 0x0035 | 键盘 ` 和 ~ 键 | 0x0029 | KEY_GRAVE | 3.0 | 0x0044 | KEYCODE_GRAVE | 1 |
0x07 0x0036 | 键盘 , 和 < 键 | 0x0033 | KEY_COMMA | 1.6 | 0x0037 | KEYCODE_COMMA | 1 |
0x07 0x0037 | 键盘 . 和 > 键 | 0x0034 | KEY_DOT | 1.6 | 0x0038 | KEYCODE_PERIOD | 1 |
0x07 0x0038 | 键盘 / 和 ? 键 | 0x0035 | KEY_SLASH | 1.6 | 0x004c | KEYCODE_SLASH | 1 |
0x07 0x0039 | 键盘 Caps Lock 键 | 0x003a | KEY_CAPSLOCK | 3.0 | 0x0073 | KEYCODE_CAPS_LOCK | |
0x07 0x003a | 键盘 F1 键 | 0x003b | KEY_F1 | 3.0 | 0x0083 | KEYCODE_F1 | |
"" | "" | "" | "" | 1.6 | 0x0052 | KEYCODE_MENU | |
0x07 0x003b | 键盘 F2 键 | 0x003c | KEY_F2 | 3.0 | 0x0084 | KEYCODE_F2 | |
"" | "" | "" | "" | 1.6 | 0x0002 | KEYCODE_SOFT_RIGHT | |
0x07 0x003c | 键盘 F3 键 | 0x003d | KEY_F3 | 3.0 | 0x0085 | KEYCODE_F3 | |
"" | "" | "" | "" | 1.6 | 0x0005 | KEYCODE_CALL | |
0x07 0x003d | 键盘 F4 键 | 0x003e | KEY_F4 | 3.0 | 0x0086 | KEYCODE_F4 | |
"" | "" | "" | "" | 1.6 | 0x0006 | KEYCODE_ENDCALL | |
0x07 0x003e | 键盘 F5 键 | 0x003f | KEY_F5 | 3.0 | 0x0087 | KEYCODE_F5 | |
0x07 0x003f | 键盘 F6 键 | 0x0040 | KEY_F6 | 3.0 | 0x0088 | KEYCODE_F6 | |
0x07 0x0040 | 键盘 F7 键 | 0x0041 | KEY_F7 | 3.0 | 0x0089 | KEYCODE_F7 | |
0x07 0x0041 | 键盘 F8 键 | 0x0042 | KEY_F8 | 3.0 | 0x008a | KEYCODE_F8 | |
0x07 0x0042 | 键盘 F9 键 | 0x0043 | KEY_F9 | 3.0 | 0x008b | KEYCODE_F9 | |
0x07 0x0043 | 键盘 F10 键 | 0x0044 | KEY_F10 | 3.0 | 0x008c | KEYCODE_F10 | |
"" | "" | "" | "" | 2.3 | 0x0052 | KEYCODE_MENU | |
0x07 0x0044 | 键盘 F11 键 | 0x0057 | KEY_F11 | 3.0 | 0x008d | KEYCODE_F11 | |
0x07 0x0045 | 键盘 F12 键 | 0x0058 | KEY_F12 | 3.0 | 0x008e | KEYCODE_F12 | |
0x07 0x0046 | 键盘 Print Screen 键 | 0x0063 | KEY_SYSRQ | 3.0 | 0x0078 | KEYCODE_SYSRQ | |
0x07 0x0047 | 键盘 Scroll Lock 键 | 0x0046 | KEY_SCROLLLOCK | 3.0 | 0x0074 | KEYCODE_SCROLL_LOCK | |
0x07 0x0048 | 键盘 Pause 键 | 0x0077 | KEY_PAUSE | 3.0 | 0x0079 | KEYCODE_BREAK | |
0x07 0x0049 | 键盘 Insert 键 | 0x006e | KEY_INSERT | 3.0 | 0x007c | KEYCODE_INSERT | |
0x07 0x004a | 键盘 Home 键 | 0x0066 | KEY_HOME | 3.0 | 0x007a | KEYCODE_MOVE_HOME | |
"" | "" | "" | "" | 1.6 | 0x0003 | KEYCODE_HOME | |
0x07 0x004b | 键盘 Page Up 键 | 0x0068 | KEY_PAGEUP | 3.0 | 0x005c | KEYCODE_PAGE_UP | |
0x07 0x004c | 键盘 Delete Forward 键 | 0x006f | KEY_DELETE | 3.0 | 0x0070 | KEYCODE_FORWARD_DEL | |
0x07 0x004d | 键盘 End 键 | 0x006b | KEY_END | 3.0 | 0x007b | KEYCODE_MOVE_END | |
"" | "" | "" | "" | 1.6 | 0x0006 | KEYCODE_ENDCALL | |
0x07 0x004e | 键盘 Page Down 键 | 0x006d | KEY_PAGEDOWN | 3.0 | 0x005d | KEYCODE_PAGE_DOWN | |
0x07 0x004f | 键盘向右箭头键 | 0x006a | KEY_RIGHT | 1.6 | 0x0016 | KEYCODE_DPAD_RIGHT | |
0x07 0x0050 | 键盘向左箭头键 | 0x0069 | KEY_LEFT | 1.6 | 0x0015 | KEYCODE_DPAD_LEFT | |
0x07 0x0051 | 键盘向下箭头键 | 0x006c | KEY_DOWN | 1.6 | 0x0014 | KEYCODE_DPAD_DOWN | |
0x07 0x0052 | 键盘向上箭头键 | 0x0067 | KEY_UP | 1.6 | 0x0013 | KEYCODE_DPAD_UP | |
0x07 0x0053 | 键盘 Num Lock 和 Clear 键 | 0x0045 | KEY_NUMLOCK | 3.0 | 0x008f | KEYCODE_NUM_LOCK | |
0x07 0x0054 | 小键盘 / 键 | 0x0062 | KEY_KPSLASH | 3.0 | 0x009a | KEYCODE_NUMPAD_DIVIDE | |
0x07 0x0055 | 小键盘 * 键 | 0x0037 | KEY_KPASTERISK | 3.0 | 0x009b | KEYCODE_NUMPAD_MULTIPLY | |
0x07 0x0056 | 小键盘 - 键 | 0x004a | KEY_KPMINUS | 3.0 | 0x009c | KEYCODE_NUMPAD_SUBTRACT | |
0x07 0x0057 | 小键盘 + 键 | 0x004e | KEY_KPPLUS | 3.0 | 0x009d | KEYCODE_NUMPAD_ADD | |
0x07 0x0058 | 小键盘 Enter 键 | 0x0060 | KEY_KPENTER | 3.0 | 0x00a0 | KEYCODE_NUMPAD_ENTER | |
0x07 0x0059 | 小键盘 1 和 End 键 | 0x004f | KEY_KP1 | 3.0 | 0x0091 | KEYCODE_NUMPAD_1 | |
0x07 0x005a | 小键盘 2 和向下箭头键 | 0x0050 | KEY_KP2 | 3.0 | 0x0092 | KEYCODE_NUMPAD_2 | |
0x07 0x005b | 小键盘 3 和 PageDn 键 | 0x0051 | KEY_KP3 | 3.0 | 0x0093 | KEYCODE_NUMPAD_3 | |
0x07 0x005c | 小键盘 4 和向左箭头键 | 0x004b | KEY_KP4 | 3.0 | 0x0094 | KEYCODE_NUMPAD_4 | |
0x07 0x005d | 小键盘 5 键 | 0x004c | KEY_KP5 | 3.0 | 0x0095 | KEYCODE_NUMPAD_5 | |
0x07 0x005e | 小键盘 6 和向右箭头键 | 0x004d | KEY_KP6 | 3.0 | 0x0096 | KEYCODE_NUMPAD_6 | |
0x07 0x005f | 小键盘 7 和 Home 键 | 0x0047 | KEY_KP7 | 3.0 | 0x0097 | KEYCODE_NUMPAD_7 | |
0x07 0x0060 | 小键盘 8 和向上箭头键 | 0x0048 | KEY_KP8 | 3.0 | 0x0098 | KEYCODE_NUMPAD_8 | |
0x07 0x0061 | 小键盘 9 和 Page Up 键 | 0x0049 | KEY_KP9 | 3.0 | 0x0099 | KEYCODE_NUMPAD_9 | |
0x07 0x0062 | 小键盘 0 和 Insert 键 | 0x0052 | KEY_KP0 | 3.0 | 0x0090 | KEYCODE_NUMPAD_0 | |
0x07 0x0063 | 小键盘 . 键(删除键) | 0x0053 | KEY_KPDOT | 3.0 | 0x009e | KEYCODE_NUMPAD_DOT | |
0x07 0x0064 | 键盘 Non-US \ 和 | 键 | 0x0056 | KEY_102ND | 4.0 | 0x0049 | KEYCODE_BACKSLASH | 1 |
0x07 0x0065 | 键盘应用键 | 0x007f | KEY_COMPOSE | 3.0 | 0x0052 | KEYCODE_MENU | |
"" | "" | "" | "" | 1.6 | 0x0054 | KEYCODE_SEARCH | |
0x07 0x0066 | 键盘 Power 键 | 0x0074 | KEY_POWER | 1.6 | 0x001a | KEYCODE_POWER | |
0x07 0x0067 | 小键盘 = 键 | 0x0075 | KEY_KPEQUAL | 3.0 | 0x00a1 | KEYCODE_NUMPAD_EQUALS | |
0x07 0x0068 | 键盘 F13 键 | 0x00b7 | KEY_F13 | ||||
0x07 0x0069 | 键盘 F14 键 | 0x00b8 | KEY_F14 | ||||
0x07 0x006a | 键盘 F15 键 | 0x00b9 | KEY_F15 | ||||
0x07 0x006b | 键盘 F16 键 | 0x00ba | KEY_F16 | ||||
0x07 0x006c | 键盘 F17 键 | 0x00bb | KEY_F17 | ||||
0x07 0x006d | 键盘 F18 键 | 0x00bc | KEY_F18 | ||||
0x07 0x006e | 键盘 F19 键 | 0x00bd | KEY_F19 | ||||
0x07 0x006f | 键盘 F20 键 | 0x00be | KEY_F20 | ||||
0x07 0x0070 | 键盘 F21 键 | 0x00bf | KEY_F21 | ||||
0x07 0x0071 | 键盘 F22 键 | 0x00c0 | KEY_F22 | ||||
0x07 0x0072 | 键盘 F23 键 | 0x00c1 | KEY_F23 | ||||
0x07 0x0073 | 键盘 F24 键 | 0x00c2 | KEY_F24 | ||||
0x07 0x0074 | 键盘 Execute 键 | 0x0086 | KEY_OPEN | ||||
0x07 0x0075 | 键盘帮助键 | 0x008a | KEY_HELP | ||||
0x07 0x0076 | 键盘菜单键 | 0x0082 | KEY_PROPS | ||||
0x07 0x0077 | 键盘 Select 键 | 0x0084 | KEY_FRONT | ||||
0x07 0x0078 | 键盘 Stop 键 | 0x0080 | KEY_STOP | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | |
0x07 0x0079 | 键盘 Again 键 | 0x0081 | KEY_AGAIN | ||||
0x07 0x007a | 键盘 Undo 键 | 0x0083 | KEY_UNDO | ||||
0x07 0x007b | 键盘 Cut 键 | 0x0089 | KEY_CUT | ||||
0x07 0x007c | 键盘 Copy 键 | 0x0085 | KEY_COPY | ||||
0x07 0x007d | 键盘 Paste 键 | 0x0087 | KEY_PASTE | ||||
0x07 0x007e | 键盘 Find 键 | 0x0088 | KEY_FIND | ||||
0x07 0x007f | 键盘 Mute 键 | 0x0071 | KEY_MUTE | 3.0 | 0x00a4 | KEYCODE_VOLUME_MUTE | |
0x07 0x0080 | 键盘音量调高键 | 0x0073 | KEY_VOLUMEUP | 1.6 | 0x0018 | KEYCODE_VOLUME_UP | |
0x07 0x0081 | 键盘音量调低键 | 0x0072 | KEY_VOLUMEDOWN | 1.6 | 0x0019 | KEYCODE_VOLUME_DOWN | |
0x07 0x0082 | 键盘锁定 Caps Lock 键 | ||||||
0x07 0x0083 | 键盘锁定 Num Lock 键 | ||||||
0x07 0x0084 | 键盘锁定 Scroll Lock 键 | ||||||
0x07 0x0085 | 小键盘逗号键 | 0x0079 | KEY_KPCOMMA | 3.0 | 0x009f | KEYCODE_NUMPAD_COMMA | |
0x07 0x0086 | 小键盘等号键 | ||||||
0x07 0x0087 | 键盘 International1 | 0x0059 | KEY_RO | ||||
0x07 0x0088 | 键盘 International2 | 0x005d | KEY_KATAKANAHIRAGANA | ||||
0x07 0x0089 | 键盘 International3 | 0x007c | KEY_YEN | ||||
0x07 0x008a | 键盘 International4 | 0x005c | KEY_HENKAN | ||||
0x07 0x008b | 键盘 International5 | 0x005e | KEY_MUHENKAN | ||||
0x07 0x008c | 键盘 International6 | 0x005f | KEY_KPJPCOMMA | ||||
0x07 0x008d | 键盘 International7 | ||||||
0x07 0x008e | 键盘 International8 | ||||||
0x07 0x008f | 键盘 International9 | ||||||
0x07 0x0090 | 键盘 LANG1 | 0x007a | KEY_HANGEUL | ||||
0x07 0x0091 | 键盘 LANG2 | 0x007b | KEY_HANJA | ||||
0x07 0x0092 | 键盘 LANG3 | 0x005a | KEY_KATAKANA | ||||
0x07 0x0093 | 键盘 LANG4 | 0x005b | KEY_HIRAGANA | ||||
0x07 0x0094 | 键盘 LANG5 | 0x0055 | KEY_ZENKAKUHANKAKU | ||||
0x07 0x0095 | 键盘 LANG6 | ||||||
0x07 0x0096 | 键盘 LANG7 | ||||||
0x07 0x0097 | 键盘 LANG8 | ||||||
0x07 0x0098 | 键盘 LANG9 | ||||||
0x07 0x0099 | 键盘 Alternate Erase 键 | ||||||
0x07 0x009a | 键盘 SysReq/Attention 键 | ||||||
0x07 0x009b | 键盘 Cancel 键 | ||||||
0x07 0x009c | 键盘 Clear 键 | ||||||
0x07 0x009d | 键盘 Prior 键 | ||||||
0x07 0x009e | 键盘 Return 键 | ||||||
0x07 0x009f | 键盘 Separator 键 | ||||||
0x07 0x00a0 | 键盘 Out 键 | ||||||
0x07 0x00a1 | 键盘 Oper 键 | ||||||
0x07 0x00a2 | 键盘 Clear/Again 键 | ||||||
0x07 0x00a3 | 键盘 CrSel/Props 键 | ||||||
0x07 0x00a4 | 键盘 ExSel 键 | ||||||
0x07 0x00b0 | 小键盘 00 | ||||||
0x07 0x00b1 | 小键盘 000 | ||||||
0x07 0x00b2 | 千位分隔符 | ||||||
0x07 0x00b3 | 十进制分隔符 | ||||||
0x07 0x00b4 | 货币单位 | ||||||
0x07 0x00b5 | 货币次单位 | ||||||
0x07 0x00b6 | 小键盘 ( 键 | 0x00b3 | KEY_KPLEFTPAREN | 3.0 | 0x00a2 | KEYCODE_NUMPAD_LEFT_PAREN | |
0x07 0x00b7 | 小键盘 ) 键 | 0x00b4 | KEY_KPRIGHTPAREN | 3.0 | 0x00a3 | KEYCODE_NUMPAD_RIGHT_PAREN | |
0x07 0x00b8 | 小键盘 { 键 | ||||||
0x07 0x00b9 | 小键盘 } 键 | ||||||
0x07 0x00ba | 小键盘 Tab 键 | ||||||
0x07 0x00bb | 小键盘 Backspace 键 | ||||||
0x07 0x00bc | 小键盘 A 键 | ||||||
0x07 0x00bd | 小键盘 B 键 | ||||||
0x07 0x00be | 小键盘 C 键 | ||||||
0x07 0x00bf | 小键盘 D 键 | ||||||
0x07 0x00c0 | 小键盘 E 键 | ||||||
0x07 0x00c1 | 小键盘 F 键 | ||||||
0x07 0x00c2 | 小键盘 XOR 键 | ||||||
0x07 0x00c3 | 小键盘 ^ 键 | ||||||
0x07 0x00c4 | 小键盘 % 键 | ||||||
0x07 0x00c5 | 小键盘 < 键 | ||||||
0x07 0x00c6 | 小键盘 > 键 | ||||||
0x07 0x00c7 | 小键盘 & 键 | ||||||
0x07 0x00c8 | 小键盘 && 键 | ||||||
0x07 0x00c9 | 小键盘 | 键 | ||||||
0x07 0x00ca | 小键盘 || 键 | ||||||
0x07 0x00cb | 小键盘 : 键 | ||||||
0x07 0x00cc | 小键盘 # 键 | ||||||
0x07 0x00cd | 小键盘空格键 | ||||||
0x07 0x00ce | 小键盘 @ 键 | ||||||
0x07 0x00cf | 小键盘 ! 键 | ||||||
0x07 0x00d0 | 小键盘 Memory Store 键 | ||||||
0x07 0x00d1 | 小键盘 Memory Recall 键 | ||||||
0x07 0x00d2 | 小键盘 Memory Clear 键 | ||||||
0x07 0x00d3 | 小键盘 Memory Add 键 | ||||||
0x07 0x00d4 | 小键盘 Memory Subtract 键 | ||||||
0x07 0x00d5 | 小键盘 Memory Multiply 键 | ||||||
0x07 0x00d6 | 小键盘 Memory Divide 键 | ||||||
0x07 0x00d7 | 小键盘 +/- 键 | ||||||
0x07 0x00d8 | 小键盘 Clear 键 | ||||||
0x07 0x00d9 | 小键盘 Clear Entry 键 | ||||||
0x07 0x00da | 小键盘二进制数 | ||||||
0x07 0x00db | 小键盘八进制数 | ||||||
0x07 0x00dc | 小键盘十进制数 | ||||||
0x07 0x00dd | 小键盘十六进制数 | ||||||
0x07 0x00e0 | 键盘左 Ctrl 键 | 0x001d | KEY_LEFTCTRL | 3.0 | 0x0071 | KEYCODE_CTRL_LEFT | |
0x07 0x00e1 | 键盘左 Shift 键 | 0x002a | KEY_LEFTSHIFT | 1.6 | 0x003b | KEYCODE_SHIFT_LEFT | |
0x07 0x00e2 | 键盘左 Alt 键 | 0x0038 | KEY_LEFTALT | 1.6 | 0x0039 | KEYCODE_ALT_LEFT | |
0x07 0x00e3 | 键盘左 GUI 键 | 0x007d | KEY_LEFTMETA | 3.0 | 0x0075 | KEYCODE_META_LEFT | |
0x07 0x00e4 | 键盘右 Ctrl 键 | 0x0061 | KEY_RIGHTCTRL | 3.0 | 0x0072 | KEYCODE_CTRL_RIGHT | |
0x07 0x00e5 | 键盘右 Shift 键 | 0x0036 | KEY_RIGHTSHIFT | 1.6 | 0x003c | KEYCODE_SHIFT_RIGHT | |
0x07 0x00e6 | 键盘右 Alt 键 | 0x0064 | KEY_RIGHTALT | 1.6 | 0x003a | KEYCODE_ALT_RIGHT | |
0x07 0x00e7 | 键盘右 GUI 键 | 0x007e | KEY_RIGHTMETA | 3.0 | 0x0076 | KEYCODE_META_RIGHT | |
0x07 0x00e8 | 0x00a4 | KEY_PLAYPAUSE | 3.0 | 0x0055 | KEYCODE_MEDIA_PLAY_PAUSE | ||
0x07 0x00e9 | 0x00a6 | KEY_STOPCD | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | ||
0x07 0x00ea | 0x00a5 | KEY_PREVIOUSSONG | 3.0 | 0x0058 | KEYCODE_MEDIA_PREVIOUS | ||
0x07 0x00eb | 0x00a3 | KEY_NEXTSONG | 3.0 | 0x0057 | KEYCODE_MEDIA_NEXT | ||
0x07 0x00ec | 0x00a1 | KEY_EJECTCD | 3.0 | 0x0081 | KEYCODE_MEDIA_EJECT | ||
0x07 0x00ed | 0x0073 | KEY_VOLUMEUP | 1.6 | 0x0018 | KEYCODE_VOLUME_UP | ||
0x07 0x00ee | 0x0072 | KEY_VOLUMEDOWN | 1.6 | 0x0019 | KEYCODE_VOLUME_DOWN | ||
0x07 0x00ef | 0x0071 | KEY_MUTE | 3.0 | 0x00a4 | KEYCODE_VOLUME_MUTE | ||
0x07 0x00f0 | 0x0096 | KEY_WWW | 1.6 | 0x0040 | KEYCODE_EXPLORER | ||
0x07 0x00f1 | 0x009e | KEY_BACK | 1.6 | 0x0004 | KEYCODE_BACK | ||
0x07 0x00f2 | 0x009f | KEY_FORWARD | 3.0 | 0x007d | KEYCODE_FORWARD | ||
0x07 0x00f3 | 0x0080 | KEY_STOP | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | ||
0x07 0x00f4 | 0x0088 | KEY_FIND | |||||
0x07 0x00f5 | 0x00b1 | KEY_SCROLLUP | 3.0 | 0x005c | KEYCODE_PAGE_UP | ||
0x07 0x00f6 | 0x00b2 | KEY_SCROLLDOWN | 3.0 | 0x005d | KEYCODE_PAGE_DOWN |
这里提供谷歌官方有关说明链接: 文章来源:https://www.toymoban.com/news/detail-761014.html
键盘设备 | Android 开源项目 | Android Open Source Project文章来源地址https://www.toymoban.com/news/detail-761014.html
到了这里,关于Android HID设备(键盘、遥控等)功能实现流程及键值映射关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!