一見すると、/ usr/share/X11/xkb/keycodes /には、デバイスから報告された生のキーコードのマッピングと 'showkey- -scancodes`コマンドは、scancodeを返すことができます。それらは同じものだと考えるのは簡単です。
しかし、それらは明らかに異なります。showkeys -scancodes
は、16進数に変換された Linuxキーコードテーブル のように、Linuxキーコードを確実に返します。一方、xkbで参照される「生のキーコード」は、常に表とは異なります。
キーを取る 1 例えば:
showkey --scancodes
は0x02
をキーコードとして返します 1xorgでは、シンボリック名は<AE01>
であり、未加工のキーコードとして10
があり、0x02
ではありません。
$ grep AE01/usr/share/X11/xkb/keycodes/evdev &ltAE01> = 10;
それで、x [kb]を構成する目的で、showkey --scancodes
が適切でない場合に、任意のキーの生のキーコードを見つける方法は?
xev
プログラムは、予期されるキーコードを出力します。あなたの例のために 1:
KeyPress event, serial 37, synthetic NO, window 0x600001,
root 0xd4, subw 0x0, time 6931965, (284,-10), root:(285,560),
state 0x0, keycode 10 (keysym 0x31, 1), same_screen YES,
XLookupString gives 1 bytes: (31) "1"
XmbLookupString gives 1 bytes: (31) "1"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x600001,
root 0xd4, subw 0x0, time 6932164, (284,-10), root:(285,560),
state 0x0, keycode 10 (keysym 0x31, 1), same_screen YES,
XLookupString gives 1 bytes: (31) "1"
XFilterEvent returns: False