J'aimerais modifier le comportement de verrouillage des majuscules dans les terminaux virtuels (tty, par exemple). CtrlAltF3) donc il agit comme un modificateur de contrôle. Idéalement, j'aimerais également qu'il agisse comme une évasion lorsque vous êtes pressé seul, mais il est difficile d'obtenir le comportement de contrôle.
Je suis sous Ubuntu 17.04. J'ai lu et essayé de nombreuses approches pour effectuer ce changement, mais aucune ne semble s'appliquer à mon système tel qu'il est décrit. J'ai l'impression que systemd joue un rôle dans tout cela, 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 lance loadkeys caps_control.kmap
à partir d'une console virtuelle, cela fonctionne. Maintenant, j'aimerais le charger automatiquement au démarrage/à la connexion/peu importe ...
J'ai trouvé des références à l'utilisation de /etc/rc.local
pour le faire, mais mon système ne possède aucun fichier de ce type, bien qu'il ait plusieurs répertoires tels que /etc/rc0.d/
, /etc/rc1.d/
, ...
Il semble que depuis Ubuntu 17 utilise sytemd, je devrais utiliser localectl
pour gérer ce genre de choses, mais je ne sais pas comment 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 relative à localectl
mentionne /etc/locale.conf
et /etc/vconsole.conf
, qui n'existent ni l'un ni l'autre sur mon système.
Je suis totalement désemparé. Est-ce que quelqu'un peut-il me montrer la bonne direction?
Pour transformer le verrouillage des majuscules en modificateur Ctrl supplémentaire, qui est également efficace dans les consoles tty, ouvrez /etc/default/keyboard
pour le modifier et définissez:
XKBOPTIONS=ctrl:nocaps
Si vous avez déjà défini XKBOPTIONS
, ajoutez ctrl:nocaps
à sa valeur existante en utilisant une virgule comme séparateur, par exemple:
XKBOPTIONS="terminate:ctrl_alt_bksp,ctrl:nocaps"
Devrait entrer en vigueur après le prochain redémarrage ou l'émission de la commande setupcon
.
L'option doit être présente lors de l'exécution de localectl status
:
$ localectl status | grep caps
X11 Options: ctrl:nocaps
Et dans la session X, un autre moyen de vérifier qu’il est défini est:
$ gsettings get org.gnome.desktop.input-sources xkb-options
['ctrl:nocaps']