当 xev 没有看到此键时,在 Linux 下映射 Microsoft 键盘特定键

当 xev 没有看到此键时,在 Linux 下映射 Microsoft 键盘特定键

我有一台 Microsoft 无线键盘 1000。在SpaceAlt GrMenuCtrl键之间,有一个键,上面画有 3 个应用程序窗口,它显示所有打开的窗口的 3D 覆盖层并循环浏览它们(在窗口下)。

事实是,我已经使用 Linux 几个月了。现在我在这个有用的地方有这个未使用的密钥。

我想将它映射到其他东西,但当我启动时xev,该键(确切地说只有这个键)保持沉默。没有 X Window 事件,因此无法获取键码并重新映射它。

您是否知道我可以做些什么以便 X Window 跟踪此 MS 特定键的事件?

我看过在 Virtualbox VM 中的 Ubuntu 10.04 中,xev 和 showkey -k 均未检测到密钥dmesg|tail -5提示使用密钥后尝试。但我没有收到相关消息。

答案1

扫描码被映射到键码,然后根据所用的键盘布局映射到键符。大多数按键应该已经有键码,或者至少有扫描码。没有扫描码的按键不会被内核识别;这些按键可能包括“游戏”键盘的附加按键等。

首先安装 evtest

sudo apt install evtest

运行 evtest 并选择你的键盘

sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  Power Button
/dev/input/event1:  AT Translated Set 2 keyboard
/dev/input/event2:  VirtualPS/2 VMware VMMouse
/dev/input/event3:  VirtualPS/2 VMware VMMouse
/dev/input/event4:  VMware VMware Virtual USB Mouse
Select the device event number [0-4]: 

并尝试按下键盘键;您应该看到扫描码被打印到输出中。如果没有,那么您需要弄清楚如何与键盘对话,它必须具有专有功能。这可能涉及编写自定义驱动程序和/或正确的 USB 通信。在 Windows 上嗅探 USB 以开始您的旅程。或者您可以换一个键盘。查看https://github.com/qmk/qmk_firmware,您可以在键盘上创建键盘映射,并从每个键中获取自定义功能。我现在正在使用 qmk 打字。

參考文獻:https://wiki.archlinux.org/index.php/extra_keyboard_keys

相关内容