xmodmap クリア修飾子が機能しません。

xmodmap クリア修飾子が機能しません。

XKBについて学び、キーマップ、特に修飾子をカスタマイズする方法を学びます。

修飾子を無効にする小規模実験では、予期しない結果が発生しました。

(1) 旧修飾子マッピング

$ xmodmap -pm
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  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)

(2) ロック修飾子の消去

$ xmodmap -e 'clear Lock'

(3) 削除済み

$  xmodmap -pm
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  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)

もともとCapsLockを無効にしてロック状態を設定しようとしましたが、そうではありませんでした。通常どおりに機能し、xevキーイベントビューを使用すると、ロックフラグが変更され続けることがわかります(state 0x0CapsLockがオフになっているとき、state 0x2オンになっているとき)。

このコマンドは実際に何をしていますかclear

キー(キーコード)を分離して修飾子としての機能を無効にするにはどうすればよいですか?

ベストアンサー1

実際、CapsLock機能は押されたキーのキーシム値にバインドされます。キーコードとキーシンボルのマッピングを表示するには、を実行しますxmodmap -pke。 (キーコード66)のマッピングはCapsLock()でなければなりません| grep 'keycode 66'

keycode  66 = Caps_Lock NoSymbol Caps_Lock

あなたはそれで遊ぶことができますxev。もっと読むArchWiki: Xmodmapについて#

キー(キーコード)を分離して修飾子としての機能を無効にするにはどうすればよいですか?

変更するマッピングですCapsLock

  • 無効にするには、CapsLockマッピングを解除する必要があります。

    xmodmap -e 'keycode  66 = NoSymbol NoSymbol NoSymbol'
    
  • を有効にするには、CapsLockそれをデフォルト値に再マップする必要があります。

    xmodmap -e 'keycode  66 = Caps_Lock NoSymbol Caps_Lock'
    

明示的なコマンドは実際に何をしますか?

キーコードマップではなく修飾子マップを消去します。詳細については、次を参照してください。ArchWiki:Xmodmap#Modifier_keys

おすすめ記事