Re: LinuxCNC Modification des raccourcis clavier
Bonjour à tous,
A force de lire et relire des infos sur le net, j'ai enfin trouvé une solution à mon problème de raccoucis clavier.
Pour ceux que ça intéresse, les étapes que j'ai suivi sont :
1) reconnaissance des caractères saisis sur mon clavier : Taper dans un fenêtre terminal
xev
Ce programme ouvre une petite fenêtre "Event Test" qui permet de tester les touches. On voit des Keypress event lorsqu'on appuie sur une touche et des Keyrelease event lorsqu'on la relache. Chaque touche est affectée d'un keycode et d'un keysim. Le keysim change si on appuie simultanement sur les touches de contrôle (shift, ctrl, alt, ...) . C'est le keysim des touches qui nous intéresse ---> J'ai donc relevé ceux des touches spéciales de mon clavier (celles qui ont 2 ou 3 caractères) qui sont susceptibles d'être utilisées.
2) J'ai cherché et trouvé le fichier axis.
Taper dans une fenêtre terminal :
cd /usr/bin puis
xedit axis. Le fichier axis s'ouvre en lecture mais, comme je n'ai pas l'intention de le modifier, c'est suffisant.
C'est un gros fichier Python. J'y comprend rien, mais grâce à NotePad++ je relève que
root_window.bind et
bind reviennent très souvent. J'y trouve également une zône avec la liste complête des
help. Je note les caractères déja affectés et au passage j'essaie de comprendre un peu la syntaxe des commandes
root_window.bind pour essayer d'en écrire quelques unes à ma façon.
3) Au travers des lectures, j'ai compris que la création d'un fichier .axisrc est la méthode la mieux adaptée à mon problème de configuration du clavier. Bien sur, celui-ci n'existe pas encore...
Taper dans une fenêtre terminal :
xedit .axisrc pour le créer dans le répertoire racine de l'utilisateur (
~$ ).
Dans mon cas, je voulais avoir pour ma configuration XYZB : l'activation avec la lettre b de l'axe B (pour l'utilisation comme avec les axes XYZ des touches + et -), et 2 touches pour jogger directement l'axe B. J'ai choisi pour le moment à cet effet les touches (ù = keysim ugrave) et (* = keysim asterisk).
Mon fichier .axisrc actuel :
# activation avec la lettre b de l'axe 4
root_window.bind("b", lambda event: activate_axis(4))
# utilisation des caractères ù et * pour jogger sur l'axe 4
root_window.bind("<ugrave>", lambda e: jog_on(4, -get_jog_speed(4)))
root_window.bind("<asterisk>", lambda e: jog_on(4, get_jog_speed(4)))
root_window.bind("<KeyRelease-ugrave>", lambda e: jog_off(4))
root_window.bind("<KeyRelease-asterisk>", lambda e: jog_off(4))
et ça marche ....
NB :
1) J'ai essayé de déplacer le fichier .axisrc dans le répertoire de la machine XYZB et ça ne marche pas --> pas de fichier .axisrc spécifique à une configuration machine. Dommage car j'espèrais faire un fichier par config de machine.
2) les help ne sont pas modifiés pour le moment
3) dans la config XYZA je n'ai toujours pas de raccourcus clavier pour jogger l'axe A (les caractères ([) et (]) ne fonctionnent pas avec mon clavier).
Carlos