设置内核键盘映射

设置内核键盘映射

我已经从内核获得了密钥代码,但acpi_listen在 Arch Linux 中无法识别它:

# /usr/lib/udev/keymap -i /dev/input/by-path/platform-thinkpad_acpi-event
Press ESC to finish, or Control-C if this device is not your primary keyboard
scan code: 0x1A    key code: micmute

现在我尝试通过以下方式映射密钥:

# /usr/lib/udev/keymap /dev/input/by-path/platform-thinkpad_acpi-event 0x01a micmute
setting scanode 0x1A to key code 248

acpi_listen这里仍然没有输出。

我应该如何acpi_listen识别它?

更新2

嗯,evdev 驱动程序似乎没有认识到这一点,我听到有人说 xorg 不会路由超出限制的关键事件号。

它必须作为 acpi 事件解决,但不知道如何

更新

看似复杂,

$ xmodmap -e 'keycode 248 = XF86MicMute NoSymbol XF86MicMute'
xmodmap:  commandline:1:  bad keysym name 'XF86MicMute' in keysym list
xmodmap:  commandline:1:  bad keysym name 'XF86MicMute' in keysym list
xmodmap:  2 errors encountered, aborting.

答案1

问题是关键代码micmute超出范围,如所解释的在这个错误报告中。因此,您需要将扫描代码 0x1A 重新映射到范围内您未使用的其他关键代码。如果这个解决方法使用prog2不起作用,您必须选择其他一些关键代码。你可以看看/usr/include/linux/input.h查看定义了哪些关键代码,然后看看你的键盘映射查看正在使用哪些关键代码。请记住选择< 247 的密钥代码。

相关内容