J'aimerais remapper le caps lock en touche Echap (plus pratique lorsqu'on utilise Vim), j'ai donc suivi les indications de xmodmap.
J'ai crée un fichier .xmodmap.conf dans mon home, et je fais un xmodmap /home/USERNAME/.xmodmap.conf à chaque ouverture de session.
Le seul problème, c'ets que pour l'instant le caps lock se comporte comme la touche Echap ET comme le caps lock. La touche Echap elle se comporte bien comme le caps lock.
En fait j'ai toujours un problème. La commande xmodmap .xmodmap.conf marche très bien, tout est remappé, par contre je n'arrive à la rendre effective au démarrage.
Je l'ai mise dans le mon autostart.sh (je suis sous openbox), puis j'ai essayé de la mettre dans le .xinitrc, mais au lancement de la session, la touche échap est bien remappée en caps_lock, mais la touche caps_lock fait office de touche échap ET de caps_lock. Si je relance la commande manuellement par contre, tout va bien. Est ce que vous auriez une idée pour expliquer ça?
Effectivement, c'est étrange. La commande xmodmap $HOME/.xmodma.conf est-elle passée directement ou est-elle dans un script que tu appelles ?
Pour son lancement automatique, as-tu bien purgé les différents endroits d'où tu la lançais avant d'en définir un nouveau (des fois qu'il y ait un conflit entre les différentes procédures) ?
Si j'analyse ce que tu expliques, seule une manière de lancer cette commande par ton user semble fonctionner, ce que ne permettrait pas autostart.sh et xinitrc.
La commande est passée directement, pas grâce à un script, et j'ai pris soin de l'enlever d'un endroit avant de la mettre à un autre.
Par rapport à ton analyse, c'est ça mais pas tout à fait. En fait, la commande ne marche que partiellement. Il semblerait que le caps_lock ne soit pas affecté par la commande, ou que quelque chose redéfinisse la touche en même temps ou après la commande. Mais c'est bizarre, parce que je veux bien que ça le fasse avec le .xinitrc à la rigueur, mais le autostart.sh est lancé par openbox, donc c'est déjà dans l'espace utilisateur.
Par contre lancer la commande depuis une console marche très bien.
Bien pris pour le autostart.sh, je ne connais pas Openbox, d'où son inclusion dans mon hypothèse.
On va donc faire un essai : ton autostarts.sh va non pas appeler la commande directe mais un script qui contient cette commande, précédée d'un wait de autant de secondes que ta session openbox met de temps pour être complètement opérationnelle.
# This shell script is run before Openbox launches.
# Environment variables set here are passed to the Openbox session.
# Set a background color
nitrogen --restore &
tint2 &
#sleep 25
#redshiftgui & # -l 43.7:7.26 #-t 6400:4500 &
(sleep 5; conky -c /home/djipey/conky/conkyrc ) &
#(sleep 7; conky -c /home/djipey/conky/conkyrc_mme ) &
#(sleep 10; conky -c /home/djipey/conky/conkyrc_wea ) &
#sleep 10 &
#xmodmap ~/.xmodmap.conf &
thunderbird &
(sleep 10; bash ~/xmodmap.sh ) &
J'ai mis un sleep de 10 secondes avant de lancer le script, et je fais ça sur la dernière ligne du fichier autostart.sh. Ça n'a rien changé, c'est toujours pareil.