En X11 (en la consola no lo sé) puede hacerlo redefiniendo el comportamiento de la tecla Escape. Miré la definición "shift (break_caps)" para ver cómo funciona y la adapté.
Mire esta respuesta en xkb para obtener más detalles sobre cómo / dónde colocar los archivos modificados localmente y cargarlos.
Y para hacer lo que quiere, necesita en el archivo de símbolos locales (por ejemplo:) ~/.xkb/symbols/mysymbols
una sección como esta:
partial modifier_keys
xkb_symbols "esc_breaks_caps" {
key <ESC> {
type = "ALPHABETIC",
actions [Group1] = [
SetMods(modifiers=none),
SetMods(modifiers=Lock,clearLocks)
]
};
};
y en el archivo de mapa de teclas local (por ejemplo:; ~/.xkb/keymap/mykbd
puede crearlo con setxkbmap -print > ~/.xkb/keymap/mykbd
) cambie la xkb_symbols
línea para agregar +mysymbols(esc_breaks_caps)
.
Ahora puede cargarlo con: xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
y al presionar Escse eliminará el estado de Bloqueo de mayúsculas (en realidad, el efecto ocurre en el lanzamiento de Esc; creo que solo las teclas modificadoras tienen efecto inmediato; otras, el efecto es después de su lanzamiento).
Ah, si desea intercambiar también las teclas Escape y CapsLock; luego use esto en su lugar (y ponga "+ mysymbols (esc_swap_and_breaks_caps)" en su archivo mykbd):
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 ] };
};
tenga en cuenta que las claves físicas son <CAPS>
y <ESC>
; <CAPS>
(tecla grabada CapsLocken su teclado) envía Escape y <ESC>
(tecla grabada Esc) envía CapsLock, con <CAPS>
(envío de Escape) también el estado de bloqueo de mayúsculas
vim
el escritorio completo?