xmodmapのキーコードを取得する方法は?

xmodmapのキーコードを取得する方法は?

Dell L100キーボードでxmodmap再マッピングAlt/キーを使用しようとしていますが、Superキーコードのインポートに問題があります。

たとえば、を使用すると、xevキーコードは提供されません。Alt

FocusOut event, serial 36, synthetic NO, window 0x4a00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 36, synthetic NO, window 0x4a00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  122 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

Right Superキーに異なるキーコードを提供します。 - とxevそれぞれ。showkey134126

このキーコードはどうなりますか?

からキーコードを取得し、以下のファイルを試しshowkey -kましたが、これによりキーが再マップされる奇妙なマッピングが発生しました。xmodmapb

clear Mod1
clear Control
keycode 125 = Meta_L
keycode 126 = Meta_R
keycode 58 = Control_L
keycode 56 = Control_L
keycode 100 = Control_R
add Control = Control_L Control_R
add Mod1 = Meta_L Meta_R

ベストアンサー1

キーボードと最終的にキーボードイベントを処理するプロセスの間には多くのアクターがあります。これの最も重要な部分は、Xシステムに独自のキーボード処理層があり、XがネイティブLinuxシステムとは異なり、キー入力とは異なる「キーコード」を接続することです。このshowkeyコマンドは、Linuxの基本システム用語のキーコードを表示します。xmodmapXキーコードが必要なので、これがxev表示されます。 Xで作業してキーリバインディングを使用する予定の場合は、xmodmap無視しshowkeysて内容を聞いてくださいxev

次のように出力でブロックを見つけたいと思いますxev

KeyPress event, serial 27, synthetic NO, window 0x1200001,
    root 0x101, subw 0x0, time 6417361, (340,373), root:(342,393),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 27, synthetic NO, window 0x1200001,
    root 0x101, subw 0x0, time 6417474, (340,373), root:(342,393),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

xev特にマウスを動かすと多くの出力が生成される傾向がある。目的の出力を見つけるには、しばらく後ろにスクロールする必要があります。前の出力でkeysym Alt_LXキーコードが関連付けられていることを確認しました64

おすすめ記事