X11(コンソールではわかりません)では、Escapeキーの動作を再定義することで実行できます。「shift(break_caps)」の定義を調べて、それがどのように機能するかを確認し、それを適合させました。
見てくださいXKBにこの回答どこローカルで変更されたファイルを入れて、それらをロードする方法/の詳細については。
そして、あなたが望むことをするために、あなたはローカルシンボルファイル(例えば:)に~/.xkb/symbols/mysymbols
このようなセクションを必要とします:
partial modifier_keys
xkb_symbols "esc_breaks_caps" {
key <ESC> {
type = "ALPHABETIC",
actions [Group1] = [
SetMods(modifiers=none),
SetMods(modifiers=Lock,clearLocks)
]
};
};
ローカルのキーマップファイル(例:~/.xkb/keymap/mykbd
;で作成できますsetxkbmap -print > ~/.xkb/keymap/mykbd
)で、xkb_symbols
追加する行を変更し+mysymbols(esc_breaks_caps)
ます。
これでロードできます:xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
を押すEscとCapsLock状態が削除されます(実際には、Esc のリリース時に効果が発生します。修飾キーのみが即時に効果があると思います。その他の効果はリリース後です。)
ああ、EscapeキーとCapsLockキーも入れ替えたい場合は、次に、代わりにこれを使用します(そして、mykbdファイルに "+ mysymbols(esc_swap_and_breaks_caps)"を入れます):
partial modifier_keys
xkb_symbols "esc_swap_and_breaks_caps" {
replace key <CAPS> {
type = "ALPHABETIC",
symbols = [ Escape, Escape ],
actions [Group1] = [
SetMods(modifiers=none),
SetMods(modifiers=Lock,clearLocks)
]
};
replace key <ESC> { [ CapsLock, CapsLock ] };
};
物理キーは<CAPS>
およびであることに注意してください<ESC>
。<CAPS>
(CapsLockキーボードに刻印されているキー)Escapeを送信し、<ESC>
(キーが刻印されているEsc)CapsLockを送信しますが、<CAPS>
(Escapeを送信して)capslock状態の設定を解除します
vim
ますか、それとも完全なデスクトップですか?