Caps LockキーとESCキーを交換する方法

Caps LockキーとESCキーを交換する方法

使っています

  • アーチカーネル5.7.3-arch1-1と
  • 箱を開けて、
  • 新しいvim 0.4.3と
  • Lenovo ThinkPad T430ノートブック/キーボード。

すべてのシステムパッケージが最新です。

neoVimで使用するためにCaps LockとEscキーを変更しようとしていますが、次の行を使用しました。

setxkbmap -option caps:swapescape

予想どおり、Esc キーは Caps トグルに設定されますが、Caps Lock キーでは何も行いません。 Caps LockキーがEscキーとして機能すると予想しましたが、そうではありません。

誰もがこれを行う方法と上記のコマンドを使用してCaps Lockが機能しない理由を教えてください。

私の理解は、これがnvimのファイルでは実行できないことです.vimrc

xev以下は押して放したときの出力ですescapekeycode 9

KeyPress event, serial 48, synthetic NO, window 0x3200001,
    root 0x139, subw 0x0, time 75547017, (621,536), root:(792,564),
    state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) "
mbLookupString gives 1 bytes: (1b) "
FilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x3200001,
    root 0x139, subw 0x0, time 75547079, (621,536), root:(792,564),
    state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) "
FilterEvent returns: False

xev以下は押して放したときの出力ですcaps lockkeycode 66

FocusOut event, serial 48, synthetic NO, window 0x4800001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 48, synthetic NO, window 0x4800001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 48, synthetic NO, window 0x0,
    keys:  57  0   0   0   0   0   0   0   4   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 48, synthetic NO, window 0x4800001,
    root 0x139, subw 0x0, time 75680956, (272,352), root:(443,380),
    state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

ベストアンサー1

これはxmodmapを使って行うことができます。鍵を交換してください。

xmodmap -e "keycode 9 = Caps_Lock"; xmodmap -e "keycode 66 = Escape"

この効果は後でキャンセルできます。

xmodmap -e "keycode 66 = Caps_Lock"; xmodmap -e "keycode 9 = Escape"

xセッションのすべてのプロセスに影響を与えるため、これがあなたのニーズに合っているかどうかはわかりません。

おすすめ記事