HID扫描代码如何映射到evdev代码?

时间:2018-08-21 06:32:47

标签: hid evdev

要发送字母'a',HID设备将发送以下扫描代码:00 00 04 00 00 00 00 00

与字符“ a”相对应的值为<AC01>(在/usr/share/X11/xkb/symbols/us中找到)。根据{{​​1}},/usr/share/X11/xkb/keycodes/evdev是通过按钮代码<AC01>映射到的(这是我们必须从设备获取的信息)。

38显示代码evtest /dev/input/event#。为什么?

1 个答案:

答案 0 :(得分:0)

/usr/share/X11/xkb/keycodes/evdev中的键码是evtest + 8中的键码(请参阅evdev.c中的MIN_KEYCODE)。

这是查找与给定键码相对应的扫描码的方法:

https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07

注意:出于以下原因,除键控代码外,还会使用扫描码:

Linux内部事件子系统已定义了一组标准的键控代码,这些标准的键控代码与硬件无关,能够表示来自任何类型的键盘(无论是AT,XT还是USB)的任何扫描代码。根据通用的美国ASCII按键帽标签为按键代码分配了名称。密钥代码在/usr/include/linux/input-event-codes.h中定义。例如#define KEY_A 30