Vous pouvez utiliser l'outil de ligne de commande xev
pour connaître l'état des boutons de votre souris dans l'environnement X.
Exemple
$ xev
...
ButtonPress event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319064320, (164,14), root:(166,101),
state 0x0, button 1, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319064439, (164,14), root:(166,101),
state 0x100, button 1, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319065208, (164,14), root:(166,101),
state 0x0, button 1, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319065337, (164,14), root:(166,101),
state 0x100, button 1, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319066059, (164,14), root:(166,101),
state 0x0, button 1, same_screen YES
Mais ces informations ne vous permettent que partiellement de trouver une solution. Les informations clés que vous souhaitez extraire ci-dessus sont le numéro associé à un bouton particulier de votre souris. Dans mon exemple, j'appuie sur le bouton gauche, "buton 1".
xbindkeys
Vous pouvez utiliser cet outil pour configurer une action associée à un bouton enfoncé. Vous pouvez même configurer une règle qui nécessite une pression sur une touche ou même une touche + touche enfoncée ensemble.
Exemple
Vous devrez d'abord vous assurer que les packages xbindkeys sont installés.
Ensuite, vous devrez exécuter la commande suivante, une seule fois, pour créer un fichier de configuration de modèle xbindkeys.
$ xbindkeys --defaults > /home/saml/.xbindkeysrc
Une fois le fichier créé, vous pouvez l'ouvrir dans un éditeur de texte et ajouter une règle comme celle-ci:
"xterm"
b:3
Cette règle stipule que nous voulons exécuter le programme xterm
lorsque le bouton 3 est enfoncé. Le "bouton 3" est le bouton droit de ma souris.
Avec le changement ci-dessus, nous devons tuer xbindkeys s'il est déjà en cours d'exécution, puis le redémarrer.
$ killall xbindkeys
$ xbindkeys
Maintenant que cela fonctionne à chaque fois que je clique sur le bouton droit de la souris, un xterm
sera exécuté.
Les références
MouseButton1Down
et lesMouseButton1Up
événements sur lesquels agir.