カーネルキーマップの設定

カーネルキーマップの設定

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

関連情報