カーネルからキーコードを受け取りましたが、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未満で選択してください。