Je voudrais changer le comportement du verrouillage des majuscules dans les terminaux virtuels (tty par exemple CtrlAltF3) afin qu'il agisse comme un modificateur de contrôle. Idéalement, j'aimerais également qu'il agisse comme Escape lorsqu'il est pressé seul, mais obtenir le comportement de contrôle s'avère difficile.
J'utilise Ubuntu 17.04. J'ai lu et essayé de nombreuses approches pour effectuer ce changement, mais aucune ne semble s'appliquer à mon système comme décrit. J'ai l'impression que systemd y joue un rôle, mais les détails ne sont pas clairs.
J'ai écrit un fichier caps_control.kmap
, qui mappe les majuscules au contrôle,
keymaps 0-255
keycode 58 = Control
Si je cours à loadkeys caps_control.kmap
partir d'une console virtuelle, cela fonctionne. Maintenant, je voudrais le charger automatiquement au démarrage / connexion / quoi que ce soit ...
J'ai trouvé des références à l' utilisation /etc/rc.local
de le faire, mais mon système n'a pas un tel fichier, mais il ne dispose de plusieurs répertoires comme /etc/rc0.d/
, /etc/rc1.d/
...
Il semble que depuis Ubuntu 17 utilise sytemd, je devrais utiliser localectl
pour gérer ce genre de chose, mais je ne sais pas comment le faire. Par exemple,
$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: us
X11 Model: pc105
$ localectl list-keymaps
Couldn't find any console keymaps.
La page de manuel pour les localectl
mentions /etc/locale.conf
et /etc/vconsole.conf
, qui n'existent pas sur mon système.
Je suis totalement perdu. Est-ce que quelqu'un peut-il me montrer la bonne direction?
loadkeys caps_control.kmap
celle qui s'exécuterait lorsque vous vous connectez.loadkeys
depuis ~ / .profile semble être problématique. Lorsque je me connecte, j'obtiens une erreur indiquant "Impossible d'obtenir un descripteur de fichier faisant référence à la console".Réponses:
Pour transformer le verrouillage des majuscules en un modificateur Ctrl supplémentaire, qui est également efficace dans les consoles tty, ouvert
/etc/default/keyboard
pour modification et définition:Si vous avez déjà
XKBOPTIONS
défini, ajoutezctrl:nocaps
à sa valeur existante en utilisant une virgule pour séparateur, par exemple:Devrait être effectif après le prochain redémarrage ou l'émission de la
setupcon
commande.L'option doit être présente lors de l'exécution
localectl status
:Et dans la session X, une autre façon de vérifier qu'il est défini est:
la source
"ctrl:nocaps"
. en X, la différence est subtile: avec l'ctrl
option,xev
et d'autres outils verront unControl_L
symbole lorsque la touche CapsLock est enfoncée, tandis que l'caps
option affichera toujours le symbole de cléCaps_Lock
. je ne sais pas si cette différence se traduira par le clavier de la console virtuelle.ctrl:nocaps
. Je l'ai ajouté à ma réponse.caps:ctrl_modifier
) n'est pas efficace dans tty. Cependant, pour moi (le 17.10)ctrl:nocaps
est. Veuillez voir ma réponse modifiée.ckbcomp
, je pense?). Je ne me souvenais pas de l'caps:ctrl_modifier
option que vous avez mentionnée en premier, alors j'ai cherché pour comparer avec celle quectrl:nocaps
j'utilise habituellement, et j'ai pensé que la différence méritait d'être mentionnée ici. content que ce soit utile.