Réponses:
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-where-is-the-real-terminal .
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
s’arrêtera au bout de 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 faut imprimer ^[
. CTRL + V fait en sorte que le shell imprime la clé suivante mot à mot au lieu de l'interpréter.
Pour que cette modification soit chargée à chaque redémarrage, placez la ligne suivante dans votre /etc/rc.local
fichier:
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
Informations recueillies à partir de différentes pages, y compris, mais sans s'y limiter:
/usr/bin/loadkeys
en /etc/rc.local
car la variable d'environnement de chemin n'est pas garanti d'être fixé à ce stade. Et sudo
n'est pas nécessaire dans rc.local
.
rc.local
s'exécute à chaque démarrage du système. @ de bukzor sudo setupcon
est pas dans rc.local
, il est une commande de configuration unique, qui remplace le keymap par défaut du système, sans ajout de code de démarrage d'exécution. En ajoutant loadkeys
à rc.local
, ajoute du code de démarrage supplémentaire et duplique ce qui était déjà fait par les loadkeys par défaut du système. La rc.local
méthode pourrait en réalité être moins sûre, car elle dépend d’un chemin non standard vers le clavier.
setupcon
méthode. Ajoutez votre propre réponse ou modifiez la mienne si vous le souhaitez.
setupcon
. Il semble que Août a fait l'hypothèse que le sudo setupcon --save
entrais dans rc.local
lequel je ne pense pas est vrai, mais si elle le fait, vous n'avez pas besoin sudo
dans rc.local
. Je pense que nous avons besoin de plus d'informations avant de mettre à jour votre réponse. La question principale est "Comment installer le clavier modifié pour qu'il soit chargé automatiquement pendant le processus de démarrage?" Je ne sais vraiment pas quelle est la meilleure solution, rc.local
installer un clavier, ou même si l’installation d’un clavier fonctionnera. Je fais des recherches à ce sujet récemment et je vais vérifier ici.
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
sudo setupcon --save
pour rendre les modifications permanentes, plutôt que pour éditer rc.local. C'est essentiellement la même chose quedumpkeys < /dev/tty1 | gzip > /etc/console-setup/cached.kmap.gz