键盘分类

键盘分类

Android 支持各种键盘设备,包括特殊功能小键盘(音量和电源控制),紧凑型嵌入式 QWERTY 键盘和全能型 PC 式外接键盘。

本文档仅介绍物理键盘。有关软键盘(输入法编辑器)的信息,请参阅 Android SDK。

键盘分类

只要满足以下任一条件,输入设备即可归类为键盘:

输入设备报告存在任何用于键盘的 Linux 按键代码(包括 0 到 0xff 或 KEY_OK 到 KEY_MAX)。

输入设备报告存在任何用于操纵杆和游戏手柄的 Linux 按键代码(包括 BTN_0 到 BTN_9、BTN_TRIGGER 到 BTN_DEAD 或 BTN_A 到 BTN_THUMBR)。

操纵杆目前被归类为键盘,这是因为 EV_KEY 事件报告操纵杆和游戏手柄按钮的方式与报告键盘按键的方式相同,因此操纵杆和游戏手柄也利用按键映射文件来进行配置。

一旦输入设备被归类为键盘,系统就会为此键盘加载输入设备配置文件和键盘布局。

接下来系统会尝试确定此设备的其他特性。

如果输入设备存在任何被映射到 KEYCODE_Q 的按键,那么系统就会认为该设备具有字母键盘(而不是数字键盘)。字母键盘功能在资源 Configuration 对象中会被报告为 KEYBOARD_QWERTY。

如果输入设备存在任何被映射到 KEYCODE_DPAD_UP、KEYCODE_DPAD_DOWN、KEYCODE_DPAD_LEFT、KEYCODE_DPAD_RIGHT 和 KEYCODE_DPAD_CENTER(必须全部存在)的按键,那么系统就会认为该设备具有方向键盘。方向键盘功能在资源 Configuration 对象中会被报告为 NAVIGATION_DPAD。

如果输入设备存在任何被映射到 KEYCODE_BUTTON_A 的按键或其他与游戏手柄相关的按键,那么系统就会认为该设备具有游戏手柄。

键盘驱动程序要求

键盘驱动程序只能为其实际支持的按键注册按键代码。注册过多的按键代码可能会扰乱设备分类算法,或导致系统无法正确地检测到设备的受支持键盘功能。

键盘驱动程序应使用 EV_KEY 来报告按键操作;使用值 0 表示释放按键,使用值 1 来表示按下按键,使用值 2 或更大的值表示自动重复按键操作。

Android 执行自己的键盘重复操作。在驱动程序中应停用自动重复功能。

当按下按键时,键盘驱动程序可能会通过发送带 MSC_SCANCODE 的 EV_MSC 或通过一个值(用于指示用途或扫描代码),选择性地指示 HID 用途或低级扫描代码。Android 目前尚未使用此信息。

在将 EV_LED 写入设备时,键盘驱动程序应支持设置 LED 状态。hid-input 驱动程序会自动处理这项事务。在这一写入期间,Android 会使用 LED_CAPSLOCK、LED_SCROLLLOCK 和 LED_NUMLOCK。只有当键盘实际上配有关联的指示灯时,系统才需要支持这些 LED 指示灯。

应确保嵌入式键盘的键盘驱动程序(例如,使用 GPIO 矩阵)在设备即将进入休眠状态时,为尚处于按下状态的任何按键发送值为 0 的 EV_KEY 事件。否则按键可能会被卡住,并一直自动重复按键操作。

键盘操作

下文简要汇总了 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 再次分配。

键盘配置

键盘行为由键盘的按键布局、按键字符映射和输入设备配置所决定。

如需详细了解参与键盘配置的文件,请参阅以下部分:

按键布局文件

按键字符映射文件

输入设备配置文件

属性

以下是用于键盘的输入设备配置属性。

keyboard.layout

定义:keyboard.layout = <名称>

指定与输入设备关联的按键布局文件的名称(不包括 .kl 扩展名)。如果未找到此文件,输入系统将改为使用默认按键布局。

在查询过程中,文件名中的空格将被转换为下划线。

如需了解详情,请参阅按键布局文件文档。

keyboard.characterMap

定义:keyboard.characterMap = <名称>

指定与输入设备关联的按键字符映射文件的名称(不包括 .kcm 扩展名)。如果未找到此文件,输入系统将改为使用默认按键字符映射。

在查询过程中,文件名中的空格将被转换为下划线。

如需了解详情,请参阅按键字符映射文件文档。

keyboard.orientationAware

定义:keyboard.orientationAware = 0 | 1

指定键盘是否应对显示方向更改作出反应。

如果该值为 1,当关联的显示方向更改时,方向键盘按键会相应地发生旋转。

如果该值为 0,键盘就不受显示方向更改的影响。

默认值为 0。

屏幕方向感知功能用于支持方向键盘按键的旋转(如在 Motorola Droid 上旋转按键一样)。例如,当设备从其自然屏幕方向顺时针旋转 90 度时,KEYCODE_DPAD_UP 会被重新映射以产生 KEYCODE_DPAD_RIGHT。这是因为当设备保持在该屏幕方向时,“向上”按键最后就变成了“向右”按键。

keyboard.builtIn

定义:keyboard.builtIn = 0 | 1

指定键盘是否是内置(物理连接)键盘。

如果设备名称以 -keypad 作为结尾,默认值为 1,否则为 0。

内置键盘会一律获分配值为 0 的设备 ID。其他非内置的键盘则会获分配一个唯一非零设备 ID。

对内置键盘采用值为 0 的 ID 有助于保持与 KeyCharacterMap.BUILT_IN_KEYBOARD 字段的兼容性,这样可指定内置键盘的 ID 并拥有值 0。API 中的该字段已废弃,但旧版应用可能仍在使用该字段。

特殊功能键盘(其按键字符映射指定 SPECIAL_FUNCTION 类型)一律不得注册为内置键盘(无论此属性如何设置)。这是因为根据定义,特殊功能键盘并非为普通打字用途而设计。

示例配置

# This is an example input device configuration file for a built-in

# keyboard that has a DPad.

# The keyboard is internal because it is part of the device.

device.internal = 1

# The keyboard is the default built-in keyboard so it should be assigned

# an id of 0.

keyboard.builtIn = 1

# The keyboard includes a DPad which is mounted on the device. As the device

# is rotated the orientation of the DPad rotates along with it, so the DPad must

# be aware of the display orientation. This ensures that pressing 'up' on the

# DPad always means 'up' from the perspective of the user, even when the entire

# device has been rotated.

keyboard.orientationAware = 1

兼容性说明

在 Honeycomb 之前,键盘输入映射器没有使用任何配置属性。所有键盘都被视为采用物理连接的方式并具有屏幕方向感知功能。默认的按键布局和按键字符映射会被命名为 qwerty,而非 Generic。按键字符映射格式也有很大差异,而且框架不支持 PC 式全键盘或外接键盘。

将设备升级到 Honeycomb 时,请确保创建或更新必要的配置和按键映射文件。

HID 用途、Linux 按键代码和 Android 按键代码

系统会采用几种不同的标识符来引用按键,具体取决于抽象层。

对于 HID 设备,每个按键都对应相关联的 HID 用途。Linux hid-input 驱动程序以及相关供应商和设备专用 HID 驱动程序负责解析 HID 报告,并将 HID 用途映射到 Linux 按键代码。

当 Android 从 Linux 内核读取 EV_KEY 事件时,会根据设备的按键布局文件,将每个 Linux 按键代码转换为相应的 Android 按键代码。

当按键事件被分配到应用时,android.view.KeyEvent 实例会将 Linux 按键代码报告为 getScanCode() 的值,并将 Android 按键代码报告为 getKeyCode() 的值。对于框架来说,只有 getKeyCode() 的值才是重要的。

请注意,Android 本身并未使用 HID 用途信息,这些信息也不会传递给应用。

代码表

下表列出了 HID 用途、Linux 按键代码和 Android 按键代码彼此之间的关系。

LKC 列可采用十六进制格式指定 Linux 按键代码。

AKC 列可采用十六进制格式指定 Android 按键代码。

“备注”列是指附于表格后面的注释。

“版本”列会指定已将该按键包含在其默认按键映射中的 Android 平台的第一个版本。当不同版本之间的默认按键映射有所变更时,该列中会显示多行。

已显示的最早版本是 1.6 版。

在 Gingerbread (2.3) 及更低版本中,默认按键映射为 qwerty.kl。此按键映射仅适用于 Android 模拟器,并非为支持任意外接键盘而设计。不过,少数原始设备制造商 (OEM) 已将蓝牙键盘支持功能添加到平台上,并依赖 qwerty.kl 提供必要的键盘映射。因此,正在为这些特定设备构建外围设备的 OEM 可能会对这些旧版映射感兴趣。请注意,这些映射与当前版本的映射大不相同,尤其是在 HOME 按键处理方面。我们建议您根据 Honeycomb 或版本更高的按键映射(即标准 HID)开发所有新外围设备。

从 Honeycomb (3.0) 开始,默认按键映射为 Generic.kl。此按键映射旨在支持完全 PC 式键盘。标准 HID 键盘的大部分功能都应该支持“开箱即用”。

不同 Linux 内核版本和 Android 版本的按键代码映射可能有所不同。当发现 Android 默认按键映射中发生变化时,“版本”列中会显示相应变化。

设备专用 HID 驱动程序和按键映射所应用的映射可能与此处显示的不同。

HID 键盘和拨号键盘页面 (0x07)

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

0x07 0x00f7

0x00b0

KEY_EDIT

0x07 0x00f8

0x008e

KEY_SLEEP

0x07 0x00f9

0x0098

KEY_COFFEE

4.0

0x001a

KEYCODE_POWER

0x07 0x00fa

0x00ad

KEY_REFRESH

0x07 0x00fb

0x008c

KEY_CALC

4.0.3

0x00d2

KEYCODE_CALCULATOR

HID 普通桌面页面 (0x01)

HID 用法

HID 用途名称

LKC

Linux 按键代码名称

版本

AKC

Android 按键代码名称

备注

0x01 0x0081

系统电源中断

0x0074

KEY_POWER

1.6

0x001a

KEYCODE_POWER

0x01 0x0082

系统休眠

0x008e

KEY_SLEEP

4.0

0x001a

KEYCODE_POWER

0x01 0x0083

系统唤醒

0x008f

KEY_WAKEUP

4.0

0x001a

KEYCODE_POWER

0x01 0x0084

系统上下文菜单

0x01 0x0085

系统主要菜单

0x01 0x0086

系统应用菜单

0x01 0x0087

系统菜单帮助

0x01 0x0088

系统菜单退出

0x01 0x0089

系统菜单选择

0x01 0x008a

系统菜单向右

0x01 0x008b

系统菜单向左

0x01 0x008c

系统菜单向上

0x01 0x008d

系统菜单向下

0x01 0x008e

系统冷重启

0x01 0x008f

系统热重启

0x01 0x00a0

系统停靠

0x01 0x00a1

系统取消停靠

0x01 0x00a2

系统设置

0x01 0x00a3

系统中断

0x01 0x00a4

系统调试程序中断

0x01 0x00a5

应用中断

0x01 0x00a6

应用调试程序中断

0x01 0x00a7

系统扬声器静音

0x01 0x00a8

系统休眠

0x01 0x00b0

系统反转显示

0x01 0x00b1

系统内部显示

0x01 0x00b2

系统外部显示

0x01 0x00b3

系统内外部显示

0x01 0x00b4

系统双向显示

0x01 0x00b5

系统显示切换 Int/Ext

0x01 0x00b6

系统显示交换 Prim./Sec.

0x01 0x00b7

系统显示 LCD 自动调节

HID 消费方页面 (0x0c)

HID 用法

HID 用途名称

LKC

Linux 按键代码名称

版本

AKC

Android 按键代码名称

备注

0x0c 0x0030

电源

0x0c 0x0031

重置

0x0c 0x0032

睡眠

0x0c 0x0033

休眠倒计时

0x0c 0x0034

睡眠模式

0x008e

KEY_SLEEP

4.0

0x001a

KEYCODE_POWER

0x0c 0x0040

菜单

0x008b

KEY_MENU

1.6

0x0052

KEYCODE_MENU

0x0c 0x0041

菜单选取

0x0c 0x0042

菜单向上

0x0c 0x0043

菜单向下

0x0c 0x0044

菜单向左

0x0c 0x0045

菜单向右

0x0181

KEY_RIGHT

0x0c 0x0046

菜单取消

0x0c 0x0047

菜单数值增加

0x0c 0x0048

菜单数值减少

0x0c 0x0067

画中画切换

0x00ab

KEYCODE_WINDOW

在 aosp/1365553 中添加

0x0c 0x0069

红色菜单按钮

0x18e

KEY_RED

0x00b7

KEYCODE_PROG_RED

在 aosp/1388616 中添加

0x0c 0x006a

绿色菜单按钮

0x18f

KEY_GREEN

0x00b8

KEYCODE_PROG_GREEN

在 aosp/1388616 中添加

0x0c 0x006b

蓝色菜单按钮

0x191

KEY_BLUE

0x00ba

KEYCODE_PROG_BLUE

在 aosp/1388616 中添加

0x0c 0x006c

黄色菜单按钮

0x190

KEY_YELLOW

0x00b9

KEYCODE_PROG_YELLOW

在 aosp/1388616 中添加

0x0c 0x0081

指派选择

0x0c 0x0082

模式步骤

0x0c 0x0083

撤回上一个

0x0195

KEY_LAST

0xe5

KEYCODE_LAST_CHANNEL

在 aosp/1365551 中添加

0x0c 0x0084

输入频道

0x0c 0x0085

订购影片

0x0c 0x0088

媒体选择计算机

0x0178

KEY_PC

0x0c 0x0089

媒体选择电视机

0x0179

KEY_TV

3.0

0x00aa

KEYCODE_TV

0x0c 0x008a

媒体选择 WWW

0x0096

KEY_WWW

1.6

0x0040

KEYCODE_EXPLORER

0x0c 0x008b

媒体选择 DVD

0x0185

KEY_DVD

0x0c 0x008c

媒体选择电话

0x00a9

KEY_PHONE

3.0

0x0005

KEYCODE_CALL

0x0c 0x008d

媒体选择节目预告

0x016a

KEY_PROGRAM

3.0

0x00ac

KEYCODE_GUIDE

0x0c 0x008e

媒体选择视频电话

0x01a0

KEY_VIDEOPHONE

0x0c 0x008f

媒体选择游戏

0x01a1

KEY_GAMES

0x0c 0x0090

媒体选择消息

0x018c

KEY_MEMO

0x0c 0x0091

媒体选择 CD

0x017f

KEY_CD

0x0c 0x0092

媒体选择 VCR

0x017b

KEY_VCR

0x0c 0x0093

媒体选择调谐器

0x0182

KEY_TUNER

0x0c 0x0094

退出

0x00ae

KEY_EXIT

0x0c 0x0095

帮助

0x008a

KEY_HELP

0x0c 0x0096

媒体选择磁带

0x0180

KEY_TAPE

0x0c 0x0097

媒体选择电缆

0x017a

KEY_TV2

0x0c 0x0098

媒体选择卫星

0x017d

KEY_SAT

0x0c 0x0099

媒体选择安全

0x0c 0x009a

媒体选择起点

0x016e

KEY_PVR

3.0

0x00ad

KEYCODE_DVR

0x0c 0x0061

字幕

0x0172

KEY_SUBTITLE

0x00af

KEYCODE_CAPTIONS

在 aosp/1365552 中添加

0x0c 0x009c

频道增加

0x0192

KEY_CHANNELUP

3.0

0x00a6

KEYCODE_CHANNEL_UP

0x0c 0x009d

频道减少

0x0193

KEY_CHANNELDOWN

3.0

0x00a7

KEYCODE_CHANNEL_DOWN

0x0c 0x009e

媒体选择 SAP

0x0c 0x00a0

VCR +

0x017c

KEY_VCR2

0x0c 0x00a1

一次

0x0c 0x00a2

每天

0x0c 0x00a3

每周

0x0c 0x00a4

每月

0x0c 0x00b0

播放

0x00cf

KEY_PLAY

3.0

0x007e

KEYCODE_MEDIA_PLAY

0x0c 0x00b1

暂停

0x0077

KEY_PAUSE

3.0

0x0079

KEYCODE_BREAK

0x0c 0x00b2

录制

0x00a7

KEY_RECORD

3.0

0x0082

KEYCODE_MEDIA_RECORD

0x0c 0x00b3

快进

0x00d0

KEY_FASTFORWARD

3.0

0x005a

KEYCODE_MEDIA_FAST_FORWARD

0x0c 0x00b4

快退

0x00a8

KEY_REWIND

3.0

0x0059

KEYCODE_MEDIA_REWIND

0x0c 0x00b5

扫描下一曲目

0x00a3

KEY_NEXTSONG

3.0

0x0057

KEYCODE_MEDIA_NEXT

0x0c 0x00b6

扫描上一曲目

0x00a5

KEY_PREVIOUSSONG

3.0

0x0058

KEYCODE_MEDIA_PREVIOUS

0x0c 0x00b7

停止

0x00a6

KEY_STOPCD

3.0

0x0056

KEYCODE_MEDIA_STOP

0x0c 0x00b8

弹出

0x00a1

KEY_EJECTCD

3.0

0x0081

KEYCODE_MEDIA_EJECT

0x0c 0x00b9

随机播放

0x0c 0x00ba

选择磁盘

0x0c 0x00bb

放入磁盘

0x0c 0x00bc

重复

0x01b7

KEY_MEDIA_REPEAT

0x0c 0x00be

一般跟踪

0x0c 0x00c0

画面向前

0x0c 0x00c1

画面向后

0x0c 0x00c2

标记

0x0c 0x00c3

清除标记

0x0c 0x00c4

从标记处重复

0x0c 0x00c5

返回标记处

0x0c 0x00c6

正向搜索标记

0x0c 0x00c7

反向搜索标记

0x0c 0x00c8

计数器重设

0x0c 0x00c9

显示计数器

0x0c 0x00ca

跟踪增加

0x0c 0x00cb

跟踪减少

0x0c 0x00cc

停止/弹出

0x0c 0x00cd

播放/暂停

0x00a4

KEY_PLAYPAUSE

3.0

0x0055

KEYCODE_MEDIA_PLAY_PAUSE

0x0c 0x00ce

播放/跳过

0x0c 0x00e2

静音

0x0071

KEY_MUTE

3.0

0x00a4

KEYCODE_VOLUME_MUTE

0x0c 0x00e5

低音增强

0x00d1

KEY_BASSBOOST

0x0c 0x00e6

环绕模式

0x0c 0x00e7

音量

0x0c 0x00e8

MPX

0x0c 0x00e9

音量增大

0x0073

KEY_VOLUMEUP

1.6

0x0018

KEYCODE_VOLUME_UP

0x0c 0x00ea

音量减小

0x0072

KEY_VOLUMEDOWN

1.6

0x0019

KEYCODE_VOLUME_DOWN

0x0c 0x0173

备用音轨增加

0x00de

KEYCODE_MEDIA_AUDIO_TRACK

在 aosp/1365554 中添加

0x0c 0x0181

AL 启动按钮配置工具

0x0c 0x0182

AL 可编程按钮配置

0x009c

KEY_BOOKMARKS

3.0

0x00ae

KEYCODE_BOOKMARK

0x0c 0x0183

AL 消费方控制配置

0x00ab

KEY_CONFIG

4.0.3

0x00d1

KEYCODE_MUSIC

0x0c 0x0184

AL 文字处理器

0x01a5

KEY_WORDPROCESSOR

0x0c 0x0185

AL 文本编辑器

0x01a6

KEY_EDITOR

0x0c 0x0186

AL 电子表格

0x01a7

KEY_SPREADSHEET

0x0c 0x0187

AL 图形编辑器

0x01a8

KEY_GRAPHICSEDITOR

0x0c 0x0188

AL 演示应用

0x01a9

KEY_PRESENTATION

0x0c 0x0189

AL 数据库应用

0x01aa

KEY_DATABASE

0x0c 0x018a

AL 电子邮件阅读器

0x009b

KEY_MAIL

1.6

0x0041

KEYCODE_ENVELOPE

0x0c 0x018b

AL 新闻阅读器

0x01ab

KEY_NEWS

0x0c 0x018c

AL 语音信箱

0x01ac

KEY_VOICEMAIL

0x0c 0x018d

AL 联系人/通讯录

0x01ad

KEY_ADDRESSBOOK

4.0.3

0x00cf

KEYCODE_CONTACTS

0x0c 0x018e

AL 日程表/时间表

0x018d

KEY_CALENDAR

4.0.3

0x00d0

KEYCODE_CALENDAR

0x0c 0x018f

AL 任务/项目管理器

0x0c 0x0190

AL 日志/日记/工作时间记录卡

0x0c 0x0191

AL 支票簿/财务

0x00db

KEY_FINANCE

0x0c 0x0192

AL 计算器

0x008c

KEY_CALC

4.0.3

0x00d2

KEYCODE_CALCULATOR

0x0c 0x0193

AL A/V 捕捉/播放

0x0c 0x0194

AL 本地计算机浏览器

0x0090

KEY_FILE

0x0c 0x0195

AL LAN/WAN 浏览器

0x0c 0x0196

AL 互联网浏览器

0x0096

KEY_WWW

1.6

0x0040

KEYCODE_EXPLORER

0x0c 0x0197

AL 远程网络/ISP 连接

0x0c 0x0198

AL 网络会议

0x0c 0x0199

AL 网络聊天

0x00d8

KEY_CHAT

0x0c 0x019a

AL 电话/拨号器

0x0c 0x019b

AL 登录

0x0c 0x019c

AL 注销

0x01b1

KEY_LOGOFF

0x0c 0x019d

AL 登录/注销

0x0c 0x019e

AL 终端锁定/屏保

0x0098

KEY_COFFEE

4.0

0x001a

KEYCODE_POWER

0x0c 0x019f

AL 控制面板

0x0c 0x01a0

AL 命令行处理器/运行

0x0c 0x01a1

AL 进程/任务管理器

0x0c 0x01a2

AL 选择任务/应用

0x0c 0x01a3

AL 下一项任务/应用

0x0c 0x01a4

AL 上一项任务/应用

0x0c 0x01a5

AL 优先暂停任务/应用

0x0c 0x01a6

AL 集成帮助中心

0x008a

KEY_HELP

0x0c 0x01a7

AL 文档

0x00eb

KEY_DOCUMENTS

0x0c 0x01a8

AL 词典

0x0c 0x01a9

AL 字典

0x0c 0x01aa

AL 桌面

0x0c 0x01ab

AL 拼写检查

0x01b0

KEY_SPELLCHECK

0x0c 0x01ac

AL 语法检查

0x0c 0x01ad

AL 无线状态

0x0c 0x01ae

AL 键盘布局

0x0c 0x01af

AL 病毒防护

0x0c 0x01b0

AL 加密

0x0c 0x01b1

AL 屏保

0x0c 0x01b2

AL 闹钟

0x0c 0x01b3

AL 时钟

0x0c 0x01b4

AL 文件浏览器

0x0c 0x01b5

AL 电源状态

0x0c 0x01b6

AL 图片浏览器

0x00e2

KEY_MEDIA

3.0

0x004f

KEYCODE_HEADSETHOOK

0x0c 0x01b7

AL 音频浏览器

0x00d5

KEY_SOUND

4.0.3

0x00d1

KEYCODE_MUSIC

0x0c 0x01b8

AL 影片浏览器

0x0c 0x01b9

AL 数字版权管理器

0x0c 0x01ba

AL 数字钱包

0x0c 0x01bc

AL 即时消息传输

0x01ae

KEY_MESSENGER

0x0c 0x01bd

AL OEM 功能/提示管理器

0x0166

KEY_INFO

0x0c 0x01be

AL OEM 帮助

0x0c 0x01bf

AL 在线社区

0x0c 0x01c0

AL 娱乐内容浏览器

0x0c 0x01c1

AL 在线购物浏览器

0x0c 0x01c2

AL SmartCard 信息/帮助

0x0c 0x01c3

AL 市场/金融浏览器

0x0c 0x01c4

AL 自定义公司新闻浏览器

0x0c 0x01c5

AL 在线活动浏览器

0x0c 0x01c6

AL 研究/搜索浏览器

0x0c 0x01c7

AL 音频播放器

0x0c 0x0201

AC 新建

0x00b5

KEY_NEW

0x0c 0x0202

AC 打开

0x0086

KEY_OPEN

0x0c 0x0203

AC 关闭

0x00ce

KEY_CLOSE

0x0c 0x0204

AC 退出

0x00ae

KEY_EXIT

0x0c 0x0205

AC 最大化

0x0c 0x0206

AC 最小化

0x0c 0x0207

AC 保存

0x00ea

KEY_SAVE

0x0c 0x0208

AC 打印

0x00d2

KEY_PRINT

0x0c 0x0209

AC 属性

0x0082

KEY_PROPS

0x0c 0x021a

AC 撤消

0x0083

KEY_UNDO

0x0c 0x021b

AC 复制

0x0085

KEY_COPY

0x0c 0x021c

AC 剪切

0x0089

KEY_CUT

0x0c 0x021d

AC 粘贴

0x0087

KEY_PASTE

0x0c 0x021e

AC 全选

0x0c 0x021f

AC 查找

0x0088

KEY_FIND

0x0c 0x0220

AC 查找和替换

0x0c 0x0221

AC 搜索

0x00d9

KEY_SEARCH

1.6

0x0054

KEYCODE_SEARCH

0x0c 0x0222

AC 转到

0x0162

KEY_GOTO

0x0c 0x0223

AC 起始

0x00ac

KEY_HOMEPAGE

3.0

0x0003

KEYCODE_HOME

0x0c 0x0224

AC 后退

0x009e

KEY_BACK

1.6

0x0004

KEYCODE_BACK

0x0c 0x0225

AC 前进

0x009f

KEY_FORWARD

3.0

0x007d

KEYCODE_FORWARD

0x0c 0x0226

AC 停止

0x0080

KEY_STOP

3.0

0x0056

KEYCODE_MEDIA_STOP

0x0c 0x0227

AC 刷新

0x00ad

KEY_REFRESH

0x0c 0x0228

AC 上一个链接

0x0c 0x0229

AC 下一个链接

0x0c 0x022a

AC 书签

0x009c

KEY_BOOKMARKS

3.0

0x00ae

KEYCODE_BOOKMARK

0x0c 0x022b

AC 历史记录

0x0c 0x022c

AC 订阅

0x0c 0x022d

AC 放大

0x01a2

KEY_ZOOMIN

0x0c 0x022e

AC 缩小

0x01a3

KEY_ZOOMOUT

0x0c 0x022f

AC 缩放

0x01a4

KEY_ZOOMRESET

2

0x0c 0x0230

AC 全屏视图

0x0c 0x0231

AC 普通视图

0x0c 0x0232

AC 视图切换

0x0c 0x0233

AC 向上滚动

0x00b1

KEY_SCROLLUP

3.0

0x005c

KEYCODE_PAGE_UP

0x0c 0x0234

AC 向下滚动

0x00b2

KEY_SCROLLDOWN

3.0

0x005d

KEYCODE_PAGE_DOWN

0x0c 0x0236

AC 向左平移

0x0c 0x0237

AC 向右平移

0x0c 0x0239

AC 新窗口

0x0c 0x023a

AC 横向平铺

0x0c 0x023b

AC 纵向平铺

0x0c 0x023c

AC 格式

0x0c 0x023d

AC 编辑

0x0c 0x023e

AC 粗体

0x0c 0x023f

AC 斜体

0x0c 0x0240

AC 下划线

0x0c 0x0241

AC 删除线

0x0c 0x0242

AC 下标

0x0c 0x0243

AC 上标

0x0c 0x0244

AC 全部大写

0x0c 0x0245

AC 旋转

0x0c 0x0246

AC 调整大小

0x0c 0x0247

AC 水平翻转

0x0c 0x0248

AC 垂直翻转

0x0c 0x0249

AC 水平镜像

0x0c 0x024a

AC 垂直镜像

0x0c 0x024b

AC 字体选择

0x0c 0x024c

AC 字体颜色

0x0c 0x024d

AC 字体大小

0x0c 0x024e

AC 左对齐

0x0c 0x024f

AC 水平居中对齐

0x0c 0x0250

AC 右对齐

0x0c 0x0251

AC 水平块对齐

0x0c 0x0252

AC 顶部对齐

0x0c 0x0253

AC 垂直居中对齐

0x0c 0x0254

AC 底部对齐

0x0c 0x0255

AC 垂直块对齐

0x0c 0x0256

AC 减少缩进

0x0c 0x0257

AC 增加缩进

0x0c 0x0258

AC 编号列表

0x0c 0x0259

AC 重新开始编号

0x0c 0x025a

AC 项目符号列表

0x0c 0x025b

AC 升级

0x0c 0x025c

AC 降级

0x0c 0x025d

AC 是

0x0c 0x025e

AC 否

0x0c 0x025f

AC 取消

0x00df

KEY_CANCEL

0x0c 0x0260

AC 目录

0x0c 0x0261

AC 购买/结账

0x0c 0x0262

AC 添加到购物车

0x0c 0x0263

AC 展开

0x0c 0x0264

AC 全部展开

0x0c 0x0265

AC 收起

0x0c 0x0266

AC 全部收起

0x0c 0x0267

AC 打印预览

0x0c 0x0268

AC 选择性粘贴

0x0c 0x0269

AC 插入模式

0x0c 0x026a

AC 删除

0x0c 0x026b

AC 锁定

0x0c 0x026c

AC 解锁

0x0c 0x026d

AC 保护

0x0c 0x026e

AC 取消保护

0x0c 0x026f

AC 添加评论

0x0c 0x0270

AC 删除评论

0x0c 0x0271

AC 查看评论

0x0c 0x0272

AC 选择字词

0x0c 0x0273

AC 选择句子

0x0c 0x0274

AC 选择段落

0x0c 0x0275

AC 选择列

0x0c 0x0276

AC 选择行

0x0c 0x0277

AC 选择表格

0x0c 0x0278

AC 选择对象

0x0c 0x0279

AC 重做/重复

0x00b6

KEY_REDO

0x0c 0x027a

AC 排序

0x0c 0x027b

AC 升序排序

0x0c 0x027c

AC 降序排序

0x0c 0x027d

AC 过滤器

0x0c 0x027e

AC 设置时钟

0x0c 0x027f

AC 查看时钟

0x0c 0x0280

AC 选择时区

0x0c 0x0281

AC 编辑时区

0x0c 0x0282

AC 设置闹钟

0x0c 0x0283

AC 清除闹钟

0x0c 0x0284

AC 延后闹钟

0x0c 0x0285

AC 重置闹钟

0x0c 0x0286

AC 同步

0x0c 0x0287

AC 发送/接收

0x0c 0x0288

AC 发送至

0x0c 0x0289

AC 回复

0x00e8

KEY_REPLY

0x0c 0x028a

AC 回复全部

0x0c 0x028b

AC 转发消息

0x00e9

KEY_FORWARDMAIL

0x0c 0x028c

AC 发送

0x00e7

KEY_SEND

0x0c 0x028d

AC 附加文件

0x0c 0x028e

AC 上传

0x0c 0x028f

AC 下载(目标文件另存为)

0x0c 0x0290

AC 设置边框

0x0c 0x0291

AC 插入行

0x0c 0x0292

AC 插入列

0x0c 0x0293

AC 插入文件

0x0c 0x0294

AC 插入图片

0x0c 0x0295

AC 插入对象

0x0c 0x0296

AC 插入符号

0x0c 0x0297

AC 保存并关闭

0x0c 0x0298

AC 重命名

0x0c 0x0299

AC 合并

0x0c 0x029a

AC 分割

0x0c 0x029b

AC 水平分布

0x0c 0x029c

AC 垂直分布

其他非 HID 映射

下列映射描述了未出现在 HID 中但存在 Linux 按键代码的函数。

LKC

Linux 按键代码名称

版本

AKC

Android 按键代码名称

备注

0x01d0

KEY_FN

3.0

0x0077

KEYCODE_FUNCTION

0x01d1

KEY_FN_ESC

3.0

0x006f

KEYCODE_ESCAPE

3

0x01d2

KEY_FN_F1

3.0

0x0083

KEYCODE_F1

3

0x01d3

KEY_FN_F2

3.0

0x0084

KEYCODE_F2

3

0x01d4

KEY_FN_F3

3.0

0x0085

KEYCODE_F3

3

0x01d5

KEY_FN_F4

3.0

0x0086

KEYCODE_F4

3

0x01d6

KEY_FN_F5

3.0

0x0087

KEYCODE_F5

3

0x01d7

KEY_FN_F6

3.0

0x0088

KEYCODE_F6

3

0x01d8

KEY_FN_F7

3.0

0x0089

KEYCODE_F7

3

0x01d9

KEY_FN_F8

3.0

0x008a

KEYCODE_F8

3

0x01da

KEY_FN_F9

3.0

0x008b

KEYCODE_F9

3

0x01db

KEY_FN_F10

3.0

0x008c

KEYCODE_F10

3

0x01dc

KEY_FN_F11

3.0

0x008d

KEYCODE_F11

3

0x01dd

KEY_FN_F12

3.0

0x008e

KEYCODE_F12

3

0x01de

KEY_FN_1

3.0

0x0008

KEYCODE_1

3

0x01df

KEY_FN_2

3.0

0x0009

KEYCODE_2

3

0x01e0

KEY_FN_D

3.0

0x0020

KEYCODE_D

3

0x01e1

KEY_FN_E

3.0

0x0021

KEYCODE_E

3

0x01e2

KEY_FN_F

3.0

0x0022

KEYCODE_F

3

0x01e3

KEY_FN_S

3.0

0x002f

KEYCODE_S

3

0x01e4

KEY_FN_B

3.0

0x001e

KEYCODE_B

3

不受支持的旧版按键

以下这些映射出现在以往的 Android 版本中,但与 HID 不一致或采用了非标准 Linux 按键代码。这些映射已不再受支持。

LKC

Linux 按键代码名称

版本

AKC

Android 按键代码名称

备注

0x00db

KEY_EMAIL

1.6

0x004d

KEYCODE_AT

4

""

""

4.0

4

0x00e3

KEY_STAR

1.6

0x0011

KEYCODE_STAR

4

""

""

4.0

4

0x00e4

KEY_SHARP

1.6

0x0012

KEYCODE_POUND

4

""

""

4.0

4

0x00e5

KEY_SOFT1

1.6

0x0052

KEYCODE_MENU

4

""

""

4.0

4

0x00e6

KEY_SOFT2

1.6

0x0002

KEYCODE_SOFT_RIGHT

4

""

""

4.0

4

0x00e7

KEY_SEND

1.6

0x0005

KEYCODE_CALL

4

""

""

4.0

4

0x00e8

KEY_CENTER

1.6

0x0017

KEYCODE_DPAD_CENTER

4

""

""

4.0

4

0x00e9

KEY_HEADSETHOOK

1.6

0x004f

KEYCODE_HEADSETHOOK

4

""

""

4.0

4

0x00ea

KEY_0_5

1.6

4

0x00eb

KEY_2_5

1.6

4

备注

与常用字母数字和符号按键相关联的 Android 按键代码可能因键盘布局和语言而异。由于历史原因,与键盘上的按键相关联的物理扫描代码和 HID 用途通常是根据位置进行定义的,即使不同语言的键盘按键上所打印的标签可能存在差异。

在美式英语 (QWERTY) 键盘上,左上角的字母按键会标记为 Q,而在法式 (AZERTY) 键盘上,位于相同位置的按键则会标记为 A。尽管标签不同,但位于两个键盘左上角的字母按键均表示使用 HID 用途 0x07 0x0014(已映射到 Linux 按键代码 KEY_Q)。

当 Android 配置的是美式英语键盘布局时,Linux 按键代码 KEY_Q 就会被映射到 Android 按键代码 KEYCODE_Q,并将产生字符“Q”和“q”。然而,当 Android 配置的是法式键盘布局时,Linux 按键代码 KEY_Q 就会被映射到 Android 按键代码 KEYCODE_A,并将产生字符“A”和“a”。

Android 按键代码通常反映按键特定于语言的解释,因此不同的 Android 按键代码可能会用于不同的语言。

0x0c 0x022f AC Zoom 在 HID 中定义为线性控件,但内核会将其映射为按键(这很可能是错误的)。

Linux 功能键 KEY_FN_* 可被映射到更简单的按键代码,但也会被分配已设置为 true 的 META_FUNCTION 元状态位。

在 Android Ice Cream Sandwich 4.0 之前,默认的键盘布局包含一些未在主线 Linux 内核头文件中定义的其他按键代码的映射。这些映射此后已被移除,因为这些以前未定义的按键代码在较新版本的 Linux 内核中已被赋予了不同的含义。

来源

USB HID 用途表 v1.12

Linux 2.6.39 内核:include/linux/input.h、drivers/hid/hid-input.c

Android ICS:qwerty.kl、Generic.kl、KeyEvent.java

相关文章

娱乐:和明星们的荒岛生存
365bet体育在线投

娱乐:和明星们的荒岛生存

📅 10-06 👁️ 3808
周黑鸭保质期几天
365bet体育在线投

周黑鸭保质期几天

📅 08-25 👁️ 3578
返钱宝宝
365bet体育在线投

返钱宝宝

📅 09-15 👁️ 6900