コマンドのキーコードxinput test-xi2 --root 3
をキーシムにマッピングするテーブルはありますか?
ArchWiki で見つけたものを試してみましたxmodmap -pke
が、対応していません。X はキーボードとどのようにやり取りするのでしょうか? X がキー入力を処理する方法を説明するリソースを教えていただけますか?
答え1
非常に簡単な概要:
ハードウェアに応じて、キーイベントはさまざまなカーネル層を通過し、「入力」層に到達します。USBキーボードの場合、層は次のようになります。
"USB events" --> "HID events" --> "Input events".
カーネル レイヤーの入力イベントは/dev/input/eventX
、(特定のデバイス用の通常のシンボリック リンクを使用して) で利用できます。 を使用しevtest
て確認できます。
Xevdev
ドライバーはそれらのイベントを取得します。
Xには2つの異なるマッピングメカニズムがあり、xkbd
1つは(かなり複雑ですが、XKB 構成に関する信頼性の低いガイド) と で制御できるものがありますxmodmap
。
を使用する場合xev
、 で制御できるマッピングが表示されますxmodmap
。
XInput (バージョン 1 と 2 の両方) も後から追加されたもので、どのレベルで動作するのかわかりませんxinput test-xi2
。私のシステムでは、 に表示されるキーコードと一致しているようですxev
が、一致しない具体的な例があると助かります。