Les outils pour manipuler la disposition du clavier sur les consoles virtuelles sont loadkeys
, dumpkeys
et showkey
. Lisez leurs pages de manuel et informez-vous sur leurs subtilités.
Notez que ces outils ne fonctionnent que dans une console virtuelle, pas dans un émulateur de terminal dans un environnement graphique comme gnome. Pour en savoir plus sur la différence, lisez cette question et ces réponses :https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why-where-is-the-real-terminal .
Voici un petit guide pour faire ce que vous voulez :
-
Enregistrez votre disposition de clavier actuelle :
$ dumpkeys > backup.kmap
En cas de problème, vous pourrez peut-être restaurer votre keymap à l'aide de la commande :
$ sudo loadkeys backup.kmap
Si le clavier est tellement foiré que vous ne pouvez même pas le faire, votre seule option n'impliquant pas l'ancienne magie du noyau est de redémarrer.
-
Vérifiez quels codes sont attribués à vos clés :
$ showkey
Appuyez maintenant sur la touche ESC et la touche CAPSLOCK. Les codes d'activation doivent apparaître à l'écran. Notez les codes d'activation. Sur mon système, l'ESC a le code clé 1 et CAPSLOCK a le code clé 58.
showkey
se terminera après 10 secondes d'inactivité (du moins sur mon Ubuntu 10.04). -
Notez les noms des touches ESC et CAPSLOCK de dumpkeys :
$ dumpkeys | grep 1 ... keycode 1 = Escape ... $ dumpkeys | grep 58 ... keycode 58 = CtrlL_Lock ...
-
Notez la ligne de mappage de clavier de dumpkeys :
$ dumpkeys | head -1 keymaps 0-127
-
Créez un fichier keymap qui bascule ESC et CAPSLOCK :
keymaps 0-127 keycode 1 = CtrlL_Lock keycode 58 = Escape
-
Chargez le keymap :
$ sudo loadkeys swap_esc_capslock.kmap
-
Test :Tester la touche CAPSLOCK est évident. Appuyez simplement sur la touche CAPSLOCK et vérifiez si d'autres touches sortent en majuscules. Pour tester la touche ESC, vous pouvez utiliser CTRL+V suivi de ESC. Il devrait imprimer
^[
. CTRL+V oblige le shell à imprimer textuellement la clé suivante au lieu de l'interpréter.
Pour que cette modification se charge à chaque redémarrage, mettez la ligne suivante dans votre /etc/rc.local
fichier :
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
Informations recueillies à partir de diverses pages, y compris, mais sans s'y limiter :
- 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
Utilisez 'ctrl:nocaps' au lieu de 'ctrl:swapcaps' si vous voulez juste avoir deux touches de verrouillage des majuscules (le verrouillage des majuscules par un autre nom est toujours super inutile).
X11 :(voir aussi :/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 textuelle :(volée à 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