Xmodmapを実行すると、次のようになります。
shift shift_l (0x32), shift_r (0x3e)
lock
control control_l (0x25), control_l (0x42), control_r (0x69)
mod1 alt_l (0x40), alt_r (0x6c), meta_l (0xcd)
mod2 num_lock (0x4d)
mod3
mod4 super_l (0x85), super_r (0x86), super_l (0xce), hyper_l (0xcf)
mod5 iso_level3_shift (0x5c), mode_switch (0xcb)
シフトグループとコントロールグループを取得します。しかし、他のmod1、mod2、mod3、mod4は何のためにありますか?
とにかく、次のように2つの修飾子しか使用できないようです。
keysym <keysymname> = <key> <shift+key> <mode_switch+key> <mode_switch+shift+key>
何かを<mod4+key>
に設定できないのはなぜですか?
X11は、任意のキー押下に8つの修飾子を提供します。 shift
、control
、およびlock
に明らかなマッピングがある、かなり従来型のセットがあるようです。
mod1
通常は Meta または Alt、およびmod2
からmod5
は、キーボードにある他の修飾キーで使用でき、多くの場合、ラベルが付けられています Super または Hyper。通常、これらは文字の入力には使用されませんが、アプリケーションによって解釈されます-たとえば、Emacsでは Super+TAB に相当 Meta+TAB:
(define-key function-key-map (read-kbd-macro "s-<tab>") (read-kbd-macro "ESC TAB"))
キーボードでこれらの修飾子を使用して文字を生成する場合は、xmodmap
の機能が十分ではないため、代わりにsetxkbmap
を調べてください。しかし、それはこの答えには大きすぎるトピックです。