J'aimerais échanger Esc et CapsLock dans la console (pas dans X, et utilisez xev
), comment puis-je le faire?
Mon système d'exploitation est Ubuntu.
Les outils permettant de manipuler la disposition du clavier sur les consoles virtuelles sont loadkeys
, dumpkeys
et showkey
. Lisez leurs pages de manuel et renseignez-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 tel que gnome. Pour en savoir plus sur la différence, lisez cette question et ses réponses: https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why- où-est-le-terminal-réel .
Voici un petit guide pour faire ce que vous voulez:
Enregistrez votre configuration de clavier actuelle:
$ dumpkeys > backup.kmap
En cas de problème, vous pourrez restaurer votre clavier en utilisant la commande suivante:
$ Sudo loadkeys backup.kmap
Si le clavier est tellement encrassé que vous ne pouvez même pas le faire, alors votre seule option ne faisant pas appel à la magie du noyau ancien est de redémarrer.
Vérifiez quels codes clés sont attribués à vos clés:
$ showkey
Maintenant, appuyez sur la touche ESC et la touche CAPSLOCK. Les codes d'activation doivent apparaître à l'écran. Notez les codes clés. Sur mon système, l’ESC a le code clé 1 et CAPSLOCK, le code clé 58. showkey
se terminera après 10 secondes d’inactivité (du moins sur mon Ubuntu 10.04).
Notez les noms des clés ESC et CAPSLOCK des dumpkeys:
$ dumpkeys | grep 1
...
keycode 1 = Escape
...
$ dumpkeys | grep 58
...
keycode 58 = CtrlL_Lock
...
Notez la ligne de clavier de dumpkeys:
$ dumpkeys | head -1
keymaps 0-127
Créez un fichier de clavier qui permute ESC et CAPSLOCK:
keymaps 0-127
keycode 1 = CtrlL_Lock
keycode 58 = Escape
Chargez le keymap:
$ Sudo loadkeys swap_esc_capslock.kmap
Test: Le test de la touche CAPSLOCK est évident. Appuyez simplement sur leur touche CAPSLOCK et vérifiez si les autres clés sont capitalisées. Pour tester la touche ÉCHAP, vous pouvez utiliser CTRL + V suivi de ÉCHAP. Il devrait imprimer ^[
. CTRL + V permet au shell d’imprimer la clé suivante mot à mot au lieu de l’interpréter.
Pour que cette modification soit chargée à chaque redémarrage, insérez la ligne suivante dans votre fichier /etc/rc.local
:
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
Informations recueillies à partir de différentes pages, y compris, mais sans s'y limiter:
Utilisez 'ctrl: nocaps' au lieu de 'ctrl: swapcaps' si vous voulez juste avoir deux touches majuscules (la majuscule sous 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 texte: (volé à la 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