要发送字母'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#
。为什么?
答案 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
。