USB 键盘消息

USB 键盘消息

我买了一个 (DIGITECH XC-4943) 多媒体键盘。它没有手册,而且有些键没有标签。有没有一个实用程序(或一些 delphi 代码)可以用来显示每个键发送的消息?

答案1

根据您使用的操作系统,您有不同的选择。

首先,您必须了解几个术语:Ascancode是按键的最低标识号。如果按键没有扫描码,那么我们就无能为力,因为这意味着内核看不到它。Akeycode是按键的第二级标识,一个键码对应一个功能。Asymbol是按键的第三级标识,这是 Xorg 引用按键的方式。

作为 Linux 用户,您可以showkey在 TTY 终端中使用该命令来检查键码。请勿在 Xorg 上的终端仿真器下使用该命令。如果您希望使用终端仿真器,请使用软件包xev中的命令xorg-xev

如果您在屏幕上没有看到按键对应的键码,那么您必须冒险找到其扫描码并为其分配一个键码。

按下 TTY 终端上的键,然后执行:

$ dmesg|tail -5

如果你看到类似这样的内容:

atkbd.c: Unknown key pressed (translated set 2, code 0xf1 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e071 <keycode>' to make it known.

您知道内核识别了按键,但没有为其分配键码。使用setkeycodes上述方法为扫描码分配键码。

编辑:如果您需要有关在 Xorg 中执行所有这些操作的更多信息,请告诉我。或者需要有关创建和分配特殊键的更多信息。

相关内容