Comment attribuer des actions «arrière» et «avant» à la molette de défilement horizontale de Logitech Anywhere Mouse MX?


11

J'utilise une souris Logitech Anywhere Mouse MX sur mon Ubuntu. La souris fonctionne bien, mais je ne peux pas attribuer les actions aux boutons supplémentaires disponibles. Ce qui me manque le plus, ce sont les actions "arrière" et "avant" attribuées à l'inclinaison de la molette de défilement vers la gauche et la droite.

Comment puis-je activer ces fonctionnalités?

Réponses:


9

J'utilise xbindkeysen combinaison avec xdotool.

Créez un .xbindkeysrcfichier dans votre répertoire personnel. Il doit contenir:

# Mapping BACK to mousewheel left on old Logitech
"xdotool key Alt_L+Left"
m:0x0 + b:6

# Mapping FORWARD to mousewheel right on old Logitech
"xdotool key Alt_L+Right"
m:0x0 + b:7

Cependant, avec VMware, vous n'avez rien d'autre à faire que d'ajouter

mouse.vusb.enable = "TRUE"

dans le fichier .vmx de votre système hôte. C'est ce que VMware ouvre à chaque démarrage de votre système invité.


Merci. Je testerai la ligne vmx la prochaine fois que je redémarrerai le système (cela n'arrive pas trop souvent).
ysap

Je viens d'essayer le piratage du fichier vmx - et cela ne semble pas fonctionner. Ce que je vois, c'est que lorsque je fais un redémarrage, VMware efface la ligne que je viens d'ajouter, comme s'il avait un modèle de fichier par défaut qui est réinitialisé à chaque démarrage de la machine.
ysap

ok, il semble que je devais aller jusqu'au bout et arrêter la machine, plutôt que de simplement redémarrer. Maintenant, les paramètres sont conservés. Malheureusement, en travaillant à distance en ce moment, la molette de la souris semble inefficace (idem sur la machine hôte). Je vérifierai à nouveau lorsque je serai sur le site distant et je communiquerai les résultats.
ysap

Oh ouais - juste vérifié, et ça marche!
ysap

De toute évidence, vous devez exécuter xbindkeysaprès la configuration.
HongboZhu

18

J'ai cette même souris et je voulais lier les deux boutons sur le côté de la souris pour avancer et reculer. Voici comment j'ai résolu cela:

1) Utilisez l'utilitaire "xev" pour déterminer à quels numéros correspondent les boutons que vous souhaitez remapper. Vous devrez peut-être installer ce package à l'aide de

sudo apt-get install xev  

Une fois xev installé, tapez "xev" dans un terminal et une fenêtre X blanche avec une boîte noire apparaîtra. Déplacer votre souris dans cette fenêtre commencera à enregistrer des événements sur le terminal. La lecture attentive de la sortie vous indiquera le nombre de boutons de votre souris. Sur ma souris, la carte d'inclinaison gauche et droite aux boutons 6 et 7 respectivement.

2) Nous allons maintenant utiliser l'utilitaire "xbindkeys" pour remapper les boutons de la souris en appuyant sur les touches. Si vous ne l'avez pas déjà installé, vous devrez peut-être l'installer avec

sudo apt-get install xbindkeys

3) Créez un fichier dans votre répertoire personnel appelé ".xbindkeysrc". C'est ce que xbindkeys lira pour voir ce que vous remappez. Le contenu de mon fichier .xbindkeysrc est:

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
   m:0x0 + b:8

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
  m:0x0 + b:9

Donc, cela indique à mon ordinateur d'envoyer le bouton du clavier appuie sur "Alt + Gauche" ou "Alt + Droite" au système en utilisant le clavier virtuel (xvkbd) chaque fois que le bouton 8 de la souris 0 est enfoncé ou le bouton 9 de la souris 0 est enfoncé respectivement. Ces touches correspondent aux touches avant et arrière de la plupart des applications. Cela fonctionnera, par exemple, dans Nautilus, chrome /

Remarque : vous devrez peut-être installer xvkbdsi ce n'est déjà fait sur votre système.sudo apt-get install xvkbd


Merci. En exécutant l'utilitaire xev, je vois beaucoup d'informations, cependant, bien que les fonctions de défilement vers le haut et vers le bas soient mappées sur les touches 4 et 5, je n'obtiens aucun événement lorsque j'incline la molette de défilement, ni lorsque je clique sur les deux boutons latéraux. Des idées pourquoi?
ysap

Il est possible que, pour une raison quelconque, votre système ne reconnaisse pas les signaux envoyés par la souris. Si tel est le cas, vous devriez voir les codes d'erreur dans / var / log / messages ou dans dmesg. En savoir plus sur ce problème et comment le résoudre sur cette URL jveweb.net/en/archives/2011/01/… Si ce n'est pas le problème, nous devrons nous pencher davantage sur ce problème .
jarvisschultz

ok, j'ai regardé le journal dmesg. c'est une assez longue liste de messages. Que dois-je rechercher exactement?
ysap

BTW, je ne l'ai pas mentionné dans la question mais cela peut aider - j'utilise Ubuntu comme OS invité sur VMware Player sur Windows 7. D'après mon expérience avec quelques appareils, l'émulation est assez bonne, Ubuntu devrait-il vraiment tout voir messages envoyés par la souris.
ysap

1
Serait-il possible qu'un sudo apt-get install xvkbdmanque ici?
c_korn

5

Voici ce que j'ai fait. Aucune sudocommande ou nouveau package nécessaire:

  • J'ai testé mes boutons avec xev-> tous les boutons correspondent à une certaine valeur, ce qui signifie qu'ils sont reconnus par le système
  • inspecter les appareils avec xinput list-> la souris est répertoriée avec l' ID 9 dans mon cas
  • xinput list-props 9 affiche le mappage actuel et en particulier raconte les étiquettes des boutons -> semble comme avant / arrière correspond aux boutons 8 et 9 que je n'ai pas (l'inclinaison de la roue est 6 et 7 et mappée au défilement horizontal)
  • le remappage des liaisons via xmodmaptel qu'interprété par X est la solution la plus pratique pour moi. Les cinq premiers boutons ne doivent pas être modifiés (clic central gauche droit et défilement vers le haut et vers le bas), mais ceux qui signalent en tant que boutons 6 et 7 doivent naviguer vers l'avant / vers l'arrière
  • exécution xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16"dans un terminal permute les boutons 6 et 7 avec 8 et 9 (virtuellement)
  • si ce mappage ne fonctionne pas pour vous restaurez les valeurs par défaut avec xmodmap -e "pointer = default"et essayez un mappage différent
  • Maintenant, j'ai la commande d'échange de bouton dans mes applications de démarrage à exécuter après la connexion
  • il semble également possible selon de man xmodmapstocker cette commande dans un fichier appelé ~/.xmodmaprcou d'ajouter l'instruction à~/.bashrc

A travaillé pour moi. J'espère que cela t'aides.


1
+1: Cette xmodmapapproche a fonctionné immédiatement pour moi, mais ... est-il possible de modifier le mappage pour une souris spécifique?
MestreLion

4

C'est ce qui a fonctionné pour moi:

1) Installez xbindkeys

sudo apt-get install xbindkeys

2) Installez xautomation

sudo apt-get install xautomation

3) Créez un fichier .xbindkeysrc dans votre répertoire personnel avec ceci à l'intérieur:

# History Back & Forward
"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L' "
  b:6
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L' "
  b:7

4) Allez dans Applications de démarrage et ajoutez un programme avec la commande xbindkeys.

5) Déconnectez-vous et connectez-vous

Source: Forums Ubuntu


Merci, B-Scan. Je suppose que vous vouliez que le fichier soit placé dans mon répertoire personnel. Je l'ai placé là et j'ai ajouté une xbindkeysentrée aux applications de démarrage, déconnecté et connecté et ... cela ne fonctionne pas :-(
ysap

Oui, répertoire personnel. Maintenant, j'ai vu que vous utilisez VMware. Peut-être pourrait-il être lié à cela ?
B-Scan du

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.