Este es un error de Debian de larga data. Parece estar relacionado con un error subyacente del kernel que se solucionó hace mucho tiempo. El problema parece haber sido que Caps_Lock
no funcionó para caracteres no ASCII, por lo que la solución fue asignar Shift_Lock
o CtrlL_Lock
a la tecla de bloqueo de mayúsculas en su lugar.
En el lado de Debian, el problema lo crea ckbcomp
que es utilizado por console-setup
para crear el mapa de teclas de la consola a partir de la descripción del teclado XKB. Tenga en cuenta que el código original al que se hace referencia en el informe de error usando Shift_Lock
parece haber sido reemplazado por un código diferente que cambia por CtrlL_Lock
en cambio. Si está interesado, puede buscar usos del broken_caps
variable en el ckbcomp
Guión Perl.
No tengo idea de si el código sigue siendo necesario por algún motivo, tal vez valga la pena eliminar el informe de error. Sin embargo, la solución es colocar la siguiente línea en /etc/kbd/remap
y debería arreglarse después de reiniciar:
s/CtrlL_Lock/Caps_Lock/
O para una solución temporal hasta el próximo reinicio, ejecute lo siguiente en un tty
sesión:
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | sudo loadkeys
Actualizar
Parece que /etc/kbd/remap
solo se usa realmente si setupcon
no está disponible. Una mejor solución es poner la siguiente línea en /etc/rc.local
:
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | loadkeys
Encontré soluciones para Debian 6 y Debian 7.
Debian 6
Pon lo siguiente al final del /etc/console-setup/remap.inc
archivo:
keycode 58 = Caps_Lock
Luego ejecuta setupcon
Debian 7
Pon lo siguiente al final del /etc/default/keyboard
guión:
dumpkeys | sed -e "s/keycode 58 = CtrlL_Lock/keycode 58 = Caps_Lock/" | \
loadkeys 2>&1 >/dev/null
Luego ejecuta setupcon
Tenga en cuenta que hay dos espacios entre el código clave y 58. La redirección a /dev/null
simplemente suprime la molesta salida de la consola.