Configurer une souris multi-boutons
Publié : lun. 08 oct. 2018, 21:24
Pour ceux qui ont une souris verticale, et ceux qui ont une "souris de combat" (mort aux chats !;), il est donc possible de lier des boutons de la souris à des événements claviers !
Pour cela, tout est très bien expliqué en anglais sur https://cubethethird.wordpress.com/2016 ... -on-linux/, mais pour être gentil, je vous en fais un petit résumé rapide.
Le but du jeu est d'abord de repérer les numéros des boutons de la souris auxquels vous voulez attribuer vos événements. Cela se fait avec la commande
dans une console, qui va ouvrir une petite fenêtre dans laquelle il faudra venir se positionner avec la souris, et cliquer sur les boutons à configurer.
Exemple chez moi avec deux boutons de la souris auxquels je veux attribuer des événements PAGE HAUT et PAGE BAS :
Je vois donc que les boutons à configurer pour ma souris portent les numéros 8 et 9.
Il s'agit ensuite d'installer deux paquets :
Le premier va "capter" les clics boutons, et va ensuite utiliser la commande "xte" du second paquet pour émuler un appui clavier sur une touche.
La prochaine étape est de créer son fichier de configuration xbindkeys perso :
qui pour le moment, ne contient qu'un seul raccourci par forcément utile.
Résumé à cette étape : nous avons les boutons souris à émuler, il nous faut encore décrire les événements clavier à lier.
On lance un
qui va lui aussi ouvrir une petite fenêtre dans laquelle on va se positionner avec la souris, puis on appuie sur les touches clavier qui nous intéressent. Chez moi, ça donne quelque chose du genre :
pour la touche PAGE HAUT et
pour la touche PAGE BAS
Ce qui nous intéresse ici, c'est uniquement le nom des événements vus par le serveur graphique, soit Prior et Next.
Je peux maintenant compléter mon fichier $HOME/.xbindkeys avec
Tout est prêt, il ne reste plus qu'à lancer xbindkeys en console, et tester l'appui des boutons sous Firefox par exemple : quand je clique sur le bouton 9, je monte bien d'une page, quand je clique sur le bouton 8, je descends bien d'une page.
Si tout est ok, il faut rajouter xbindkeys dans la liste des applications qui doivent être lancées au démarrage de la session utilisateur (sous Mate : on passe par le menu Système > Préférences > Personnel > Applications aux démarrage).
xbindkeys permet non seulement d'émuler des combinaisons de touches clavier, mais également de lancer des commandes complètes via xterm ou autre. C'est donc un outil relativement complet et puissant à garder sous la main, quand on veut personnaliser son environnement de travail.
Dernière remarque : on aurait aussi pu utiliser la commande
repérer le nom du périphérique, et le tester avec
puis cliquer sur les boutons à configurer pour avoir les numéros 8 et 9 ici.
Pour cela, tout est très bien expliqué en anglais sur https://cubethethird.wordpress.com/2016 ... -on-linux/, mais pour être gentil, je vous en fais un petit résumé rapide.
Le but du jeu est d'abord de repérer les numéros des boutons de la souris auxquels vous voulez attribuer vos événements. Cela se fait avec la commande
Code : Tout sélectionner
xev | grep -A 2 Button
Exemple chez moi avec deux boutons de la souris auxquels je veux attribuer des événements PAGE HAUT et PAGE BAS :
Code : Tout sélectionner
ButtonRelease event, serial 38, synthetic NO, window 0x4e00001,
root 0x4ca, subw 0x0, time 46382527, (107,37), root:(1129,1001),
state 0x0, button 8, same_screen YES
--
ButtonPress event, serial 38, synthetic NO, window 0x4e00001,
root 0x4ca, subw 0x0, time 46383094, (107,37), root:(1129,1001),
state 0x0, button 9, same_screen YES
Il s'agit ensuite d'installer deux paquets :
Code : Tout sélectionner
apt-get install xbindkeys xautomation
La prochaine étape est de créer son fichier de configuration xbindkeys perso :
Code : Tout sélectionner
xbindkeys –defaults > $HOME/.xbindkeysrc
Résumé à cette étape : nous avons les boutons souris à émuler, il nous faut encore décrire les événements clavier à lier.
On lance un
Code : Tout sélectionner
xbindkeys -k
Code : Tout sélectionner
"(Scheme function)"
m:0x0 + c:112
Prior
Code : Tout sélectionner
"(Scheme function)"
m:0x0 + c:117
Next
Ce qui nous intéresse ici, c'est uniquement le nom des événements vus par le serveur graphique, soit Prior et Next.
Je peux maintenant compléter mon fichier $HOME/.xbindkeys avec
Code : Tout sélectionner
#PageUp press
"xte 'keydown Prior'"
b:9
#PageUp release
"xte 'keyup Prior'"
b:9 + Release
#PageDown press
"xte 'keydown Next'"
b:8
#PageDown release
"xte 'keyup Next'"
b:8 + Release
Si tout est ok, il faut rajouter xbindkeys dans la liste des applications qui doivent être lancées au démarrage de la session utilisateur (sous Mate : on passe par le menu Système > Préférences > Personnel > Applications aux démarrage).
xbindkeys permet non seulement d'émuler des combinaisons de touches clavier, mais également de lancer des commandes complètes via xterm ou autre. C'est donc un outil relativement complet et puissant à garder sous la main, quand on veut personnaliser son environnement de travail.
Dernière remarque : on aurait aussi pu utiliser la commande
Code : Tout sélectionner
xinput
Code : Tout sélectionner
xinput test "NOM PERIPHERIQUE"