Questo è un bug Debian di vecchia data. Sembra riferirsi a un bug del kernel sottostante che è stato risolto da tempo. Il problema sembra essere stato quel Caps_Lock
non funzionava per i caratteri non ASCII, quindi la soluzione era mappare Shift_Lock
o CtrlL_Lock
invece al tasto BLOC MAIUSC.
Sul lato Debian il problema è creato da ckbcomp
che è usato da console-setup
per creare la mappa dei tasti della console dalla descrizione della tastiera XKB. Si noti che il codice originale a cui si fa riferimento nella segnalazione di bug utilizza Shift_Lock
sembra essere stato sostituito da un codice diverso che cambia per CtrlL_Lock
invece. Se sei interessato puoi cercare gli usi del broken_caps
variabile nel ckbcomp
Script Perl.
Non ho idea se il codice sia ancora necessario per qualsiasi motivo, forse vale la pena segnalare il bug. Tuttavia, la soluzione alternativa consiste nell'inserire la seguente riga in /etc/kbd/remap
e dovrebbe essere risolto dopo un riavvio:
s/CtrlL_Lock/Caps_Lock/
O per una correzione temporanea fino al prossimo riavvio, esegui quanto segue in un tty
sessione:
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | sudo loadkeys
Aggiorna
Sembra che /etc/kbd/remap
è effettivamente utilizzato solo se setupcon
Non è disponibile. Una soluzione migliore consiste nell'inserire la riga seguente in /etc/rc.local
:
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | loadkeys
Ho trovato soluzioni per Debian 6 e Debian 7.
Debian 6
Metti quanto segue alla fine di /etc/console-setup/remap.inc
file:
keycode 58 = Caps_Lock
Quindi esegui setupcon
Debian 7
Metti quanto segue alla fine di /etc/default/keyboard
script:
dumpkeys | sed -e "s/keycode 58 = CtrlL_Lock/keycode 58 = Caps_Lock/" | \
loadkeys 2>&1 >/dev/null
Quindi esegui setupcon
Nota che ci sono due spazi tra keycode e 58. Il reindirizzamento in /dev/null
sopprime solo il fastidioso output della console.