xkbの元のキーコードを見つける方法は? [コピー]

xkbの元のキーコードを見つける方法は? [コピー]

一見すると、/usr/share/X11/xkb/keycodes/に次のマッピングが含まれているようです。デバイスで報告された元のキーコード、 "showkey --scancodes"コマンドは、次のように返すことができます。スキャンコード。同じことだと思いやすいです。

しかし、彼らは明らかに異なります。showkeys -scancodes次のLinuxキーコードを確実に返します。Linuxキーコードテーブル16進数に変換されます。 xkbで参照される「元のキーコード」は、常にテーブルにあるものとは異なります。

キーを1例に挙げてみましょう。

  • showkey --scancodes0x02キーコードに戻る1
  • xorgのシンボル名はですが、<AE01>元の10キーコードは確かにではありません0x02

    $grep AE01 /usr/share/X11/xkb/keycodes/evdev
    <AE01> = 10;

それでは、xkbを設定するときにshowkey --scancodes適切でないキーの元のキーコードをどのように見つけることができますか?

ベストアンサー1

プログラムは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

おすすめ記事