xcape を使用して Caps Lock を Ctrl および Esc にマップし、Esc を Caps Lock に再マップします。

xcape を使用して Caps Lock を Ctrl および Esc にマップし、Esc を Caps Lock に再マップします。

現在、このコマンドを長押しする時期とクリックする時期(vimの場合)Caps Lockにマッピングされています。CtrlEsc.xinitrc

setxkbmap -option 'caps:ctrl_modifier'
xcape -e 'Caps_Lock=Escape'

これはうまくいきますが、Caps Lock再マッピングしたいので設定しようとしましたが、キーのマッピングもオーバーライドします。これらのマッピングを達成する方法はありますか?EscCaps Lockxmodmap -e 'keycode 9 = Caps_Lock'Caps Lock

Caps Lock -> Ctrl and Esc
Esc -> Caps Lock

ベストアンサー1

setxkbmapまたは、xmodmapCaps LockとEscapeを交換して使用することもできます。あなたと一緒なら、xmodmap次のことができます:

! Remove Caps_Lock modifier from real Caps Lock key
clear Lock
! Set real Caps Lock key to present as (left) control
keycode 66 = Control_L
! Set real Escape key to present as Caps Lock
keycode 9 = Caps_Lock
! Make a fake key to hold the Escape keysym, so xcape can use it
keycode 255 = Escape
! Make Caps_Lock and Control_L work as one would expect
add Lock = Caps_Lock
add Control = Control_L

(. で始まる行は!コメントです。)

実際のCaps LockキーにEsc機能を追加するには、それをドラッグして~/.xmodmaprc実行します。xmodmap ~/.xmodmaprcxcape -e '#66=Escape'

おすすめ記事