Je veux remapper le verrouillage des majuscules pour qu'il s'échappe dans X11 (c'est-à-dire que le fait d'appuyer sur le bouton de verrouillage des majuscules physiques sera interprété comme esc par les applications et le comportement de esc ne changera pas). La solution doit survivre à un redémarrage de X . xmodmap et setxkbmap sont des solutions acceptables (tout comme des programmes similaires). Je ne veux pas traiter avec une interface graphique, car je veux que la solution soit portable et fasse partie de mes fichiers dot. Si je manque une solution meilleure / plus facile / plus évidente, dites-le-moi, mais notez que je n'utilise pas de DE (j'essaye i3wm).
Jusqu'à présent, j'ai essayé d'utiliser xmodmap et setxkbmap avec peu de succès.
Voici ma tentative d'utilisation de xmodmap:
# ~/.xinitrc
xmodmap ~/.xmodmap
et
# ~/.xmodmap
remove Lock = Caps_Lock
keysym Caps_Lock = Escape
Exécuter à $ xmodmap ~/.xmodmap
partir de la ligne de commande fonctionne et fait ce que je veux. Le problème est que cela est réinitialisé à chaque redémarrage de x. C'est là que je m'attends à ce que le xinitrc entre - ne devrait-il pas se charger à chaque démarrage de x et exécuter la commande xmodmap? Si la commande fonctionne, pourquoi ne fait-elle rien lorsqu'elle est lue à partir d'un fichier?
J'ai essayé deux ou trois choses avec setxkbmap, mais aucune n'a fonctionné. Les deux tentatives ci-dessous figuraient dans le dossier à des moments différents.
# ~/.xinitrc
setxkbmap -option caps:esc # attempt 1
setxkbmap -option esc:nocaps # attempt 2
Aucune des commandes n'a fait quoi que ce soit de perceptible à partir de la ligne de commande, donc je suppose que j'ai mal la commande. J'aime l'idée de cette solution car elle est monoligne et ne nécessite rien dans un autre fichier. Si seulement ça marchait.
Est-ce que .xinitrc est le mauvais fichier à utiliser? Je sais que startx se charge depuis ~ / .xinitrc.
Je demande que les solutions possibles contiennent le (s) fichier (s) entier (s), pas seulement une ligne (si plus d'un est requis dans le fichier) donc je ne gâche pas une étape intermédiaire. Par exemple, si j'ai besoin de quelque chose en .xinitrc et de quelque chose en .xcapsrebind, veuillez montrer les deux fichiers et tout le contenu requis (je peux aussi gérer qu'on me dise d'ajouter quelque chose à la fin, mais si un & ou similaire peut être requis, s'il vous plaît dites-moi).
xmodmap
en .xinitrc
devrait fonctionner. C'est ce que je fais. Peut-être mappez-vous quelque chose d'inhabituel, pour vous assurer qu'il fonctionne réellement lorsque vous démarrez x? De plus, quel gestionnaire de fenêtres / environnement de bureau utilisez-vous? KDE «corrige» périodiquement le mappage de mon clavier sans que je le lui dise. Vérifiez peut-être les paramètres de votre bureau pour vous assurer que rien ne tourne xmodmap
derrière votre dos.
~/.xinitrc
ne se fait pas fuir. J'utilise i3wm et aucun DE en ce moment, bien que la même chose se produise au Panthéon lorsque j'ai essayé. Pour autant que je sache, i3 ne joue pas avec le xinitrc ou ne charge pas le sien (mais je suis un noob, alors qu'est-ce que je sais?).
Option "XkbOptions" "caps:escape"
dans un X
fichier de configuration du clavier, par exemple/etc/X11/xorg.conf.d/10-keyboard.conf
.xinitrc
:setxkbmap -option caps:escape