Trong X11 (trên bảng điều khiển tôi không biết) bạn có thể làm điều đó bằng cách xác định lại hành vi của phím Escape. Tôi đã xem định nghĩa "shift (break_caps)" để xem cách nó hoạt động và điều chỉnh nó.
Nhìn vào câu trả lời này trên xkb để biết thêm chi tiết về cách / nơi để đặt các tập tin được sửa đổi tại địa phương và tải chúng.
Và để làm những gì bạn muốn, bạn cần trong tệp biểu tượng cục bộ (ví dụ ~/.xkb/symbols/mysymbols
:) một phần như thế này:
partial modifier_keys
xkb_symbols "esc_breaks_caps" {
key <ESC> {
type = "ALPHABETIC",
actions [Group1] = [
SetMods(modifiers=none),
SetMods(modifiers=Lock,clearLocks)
]
};
};
và trong tệp sơ đồ bàn phím cục bộ (ví dụ : ~/.xkb/keymap/mykbd
; bạn có thể tạo nó với setxkbmap -print > ~/.xkb/keymap/mykbd
) thay đổi xkb_symbols
dòng cần thêm +mysymbols(esc_breaks_caps)
.
Bây giờ bạn có thể tải nó bằng: xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
và nhấn Escsẽ loại bỏ trạng thái CapsLock (thực ra, hiệu ứng xảy ra khi phát hành Esc; tôi nghĩ rằng chỉ các phím bổ trợ mới có hiệu lực ngay lập tức; các hiệu ứng khác là sau khi phát hành.)
Ồ, nếu bạn cũng muốn trao đổi các phím Escape và CapsLock; sau đó sử dụng cái này thay thế (và bạn đặt "+ mysymbols (esc_swap_and_breaks_caps)" trong tệp mykbd của bạn):
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 ] };
};
lưu ý các phím vật lý là <CAPS>
và <ESC>
; <CAPS>
(khóa được khắc CapsLocktrong bàn phím của bạn) gửi Escape và <ESC>
(khóa được khắc Esc) gửi CapsLock, với <CAPS>
(gửi Escape) cũng bỏ cài đặt trạng thái capslock
vim
, hoặc máy tính để bàn hoàn chỉnh?