Gli strumenti per manipolare il layout della tastiera sulle console virtuali sono loadkeys
, dumpkeys
e showkey
. Leggi le loro manpage e informati sulle loro complessità.
Si noti che questi strumenti funzionano solo in una console virtuale, non in un emulatore di terminale in un ambiente grafico come gnome. Per conoscere la differenza, leggi questa domanda e le risposte:https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why-where-is-the-real-terminal .
Ecco una breve guida per fare quello che vuoi:
-
Salva il layout di tastiera attuale:
$ dumpkeys > backup.kmap
Nel caso qualcosa vada storto potresti essere in grado di ripristinare la tua mappa dei tasti usando il comando:
$ sudo loadkeys backup.kmap
Se la tastiera è così incasinata che non puoi nemmeno farlo, l'unica opzione che non coinvolge la magia del kernel antico è riavviare.
-
Controlla quali codici chiave sono assegnati alle tue chiavi:
$ showkey
Premere ora il tasto ESC e il tasto BLOC MAIUSC. I codici chiave dovrebbero apparire sullo schermo. Annotare i codici chiave. Sul mio sistema l'ESC ha il codice chiave 1 e CAPSLOCK ha il codice chiave 58.
showkey
terminerà dopo 10 secondi di inattività (almeno lo fa sul mio Ubuntu 10.04). -
Nota i nomi dei tasti ESC e CAPSLOCK da dumpkeys:
$ dumpkeys | grep 1 ... keycode 1 = Escape ... $ dumpkeys | grep 58 ... keycode 58 = CtrlL_Lock ...
-
Nota la riga della mappa dei tasti da dumpkeys:
$ dumpkeys | head -1 keymaps 0-127
-
Crea un file keymap che cambi ESC e CAPSLOCK:
keymaps 0-127 keycode 1 = CtrlL_Lock keycode 58 = Escape
-
Carica la mappa dei tasti:
$ sudo loadkeys swap_esc_capslock.kmap
-
Test:il test del tasto CAPSLOCK è ovvio. Basta premere il tasto CAPSLOCK e controllare se gli altri tasti escono in maiuscolo. Per testare il tasto ESC puoi usare CTRL+V seguito da ESC. Dovrebbe stampare
^[
. CTRL+V fa in modo che la shell stampi il tasto successivo alla lettera invece di interpretarlo.
Per fare in modo che questa modifica venga caricata ad ogni riavvio, inserisci la seguente riga nel tuo /etc/rc.local
file:
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
Informazioni raccolte da varie pagine, incluse, ma non limitate a:
- http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-15.html
- http://www.mail-archive.com/[email protected]/msg01407.html
- http://ubuntuforums.org/showthread.php?p=4591324#post4591324
Usa 'ctrl:nocaps' invece di 'ctrl:swapcaps' se vuoi solo avere due tasti di blocco maiuscole (il blocco maiuscole con un altro nome è ancora super inutile).
X11:(vedi anche:/usr/share/X11/xkb/rules/base.lst
)
sudo vim /etc/default/keyboard
XKBOPTIONS="ctrl:swapcaps"
udevadm trigger --subsystem-match=input --action=change
sudo restart lightdm
Console testuale:(rubata da setupcon)
#!/bin/sh
. /etc/default/console-setup
. /etc/default/keyboard
ckbcomp $acm_option $rules_option -model "$XKBMODEL" \
"$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" \
| gzip -9 2>/dev/null >/etc/console-setup/cached.kmap.gz
loadkeys /etc/console-setup/cached.kmap.gz