Di X11 (pada konsol saya tidak tahu) Anda bisa melakukannya dengan mendefinisikan kembali perilaku tombol Escape. Saya melihat definisi "shift (break_caps)" untuk melihat cara kerjanya, dan mengadaptasinya.
Lihatlah jawaban ini di xkb untuk perincian lebih lanjut tentang bagaimana / di mana menempatkan file yang dimodifikasi secara lokal dan memuatnya.
Dan untuk melakukan apa yang Anda inginkan, Anda perlu di file simbol lokal (misalnya:) ~/.xkb/symbols/mysymbols
bagian seperti ini:
partial modifier_keys
xkb_symbols "esc_breaks_caps" {
key <ESC> {
type = "ALPHABETIC",
actions [Group1] = [
SetMods(modifiers=none),
SetMods(modifiers=Lock,clearLocks)
]
};
};
dan dalam file keymap lokal (misalnya:; ~/.xkb/keymap/mykbd
Anda dapat membuatnya dengan setxkbmap -print > ~/.xkb/keymap/mykbd
) ubah xkb_symbols
baris untuk ditambahkan +mysymbols(esc_breaks_caps)
.
Anda sekarang dapat memuatnya dengan: xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
dan menekan Escakan menghapus keadaan CapsLock (sebenarnya, efeknya terjadi pada rilis Esc; Saya pikir hanya kunci pengubah yang memiliki efek langsung; yang lain efeknya adalah setelah rilis mereka.)
Oh, jika Anda ingin juga menukar tombol Escape dan CapsLock; kemudian gunakan ini sebagai gantinya (dan Anda meletakkan "+ mysymbols (esc_swap_and_breaks_caps)" di file mykbd Anda:
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 ] };
};
perhatikan kunci fisiknya adalah <CAPS>
dan <ESC>
; <CAPS>
(Kunci terukir CapsLockdi keyboard Anda) mengirim Escape dan <ESC>
(kunci terukir Esc) mengirim CapsLock, dengan <CAPS>
(mengirim Escape) juga tidak mengatur keadaan capslock
vim
, atau desktop lengkap?