Comment configurer des boutons supplémentaires dans Logitech Mouse


64

Quelqu'un peut-il me dire comment configurer tous les boutons d'une souris Logitech MX 620 sous Ubuntu 12.04?

Plus précisément, j'aime faire de l'un d'eux la Ctrlclé (pour contrôler en cliquant sur les pages Web) et d'un autre Ctrl+ Wpour fermer les onglets. Je fais aussi normalement la page de la molette de défilement vers le bas pour chaque clic (sinon cela me fait mal au bras de faire tellement défiler). Je fais pousser le volant à gauche = pageback et à droite = page en avant.

J'ai cherché d'autres réponses à cette question et trouvé quelque chose de similaire ici

Mais lorsque j'ai posté un message de suivi pour résoudre le problème, personne n'a répondu - j'ai peut-être commis l'erreur de poster une question "résolue". Je ne sais pas comment je suis censé rouvrir une question qui est pertinente pour ma question mais ne résout pas vraiment la mienne.


1
Je pense que c'est le moyen le plus simple de faire fonctionner la souris avec toutes les fonctionnalités: ralf-oechsner.de/opensource/page/logitech_performance_mx
Edward Kennedy Le

Réponses:


70

Vous aurez besoin de plusieurs applications pour cela, pour les installer

sudo apt-get install xbindkeys xautomation xev

ou

sudo apt-get install xbindkeys xautomation x11-utils

edit: xev a été fusionné dans x11utils, à partir d’Ubuntu 14.04 ou plus.

Étape 1

Vous devez trouver les numéros de bouton pour les boutons de votre souris. Courez xev. Vous verrez apparaître quelques petites fenêtres blanches, placez votre souris dessus et appuyez sur les boutons de la souris (il est préférable de le faire bouton par bouton). Vous devriez obtenir une sortie comme celle-ci pour chaque bouton:

ButtonRelease event, serial 41, synthetic NO, window 0x4c00001,
root 0x2e9, subw 0x4c00002, time 25804905, (31,28), root:(821,80),
state 0x110, button 1, same_screen YES

(note: xevaussi capturer le mouvement de la souris afin que vous pourriez avoir besoin de passer en revue les événements de mouvement de la souris pour trouver vos événements de bouton, par exemple: xev -event mouse | grep Button --before-context=1 --after-context=2)

Ce qui est important de cette sortie: button 1. Cela nous dit que ce bouton est le premier. Je voudrais stocker cela dans un .txtfichier pour le moment.

Étape 2

Créez le xbindkeysfichier de configuration en utilisant:

xbindkeys --defaults > $HOME/.xbindkeysrc  

Ensuite, nous devons ajouter les liaisons clé / bouton au fichier de configuration. Vous pouvez ouvrir ce fichier avec gedit $HOME/.xbindkeysrc. C'est là que commence le plaisir. Nous allons utiliser xtepour définir des liaisons à nos boutons.

Pour faire un bouton agir comme Ctrlnous ajouterions:

"xte 'key Control_L'"
b:1  

Cela lierait Ctrlau premier bouton de la souris.

Si vous voulez me dire les numéros de boutons de vos boutons et ce que vous voulez que chacun fasse, j'écrirai le script pour vous.


@seth: J'aimerais configurer les boutons 8 et 9 pour qu'ils soient respectivement "arrière" et "avant". Mieux encore, si je pouvais trouver où trouver les commandes que je peux configurer avec xbindkeys, ce serait génial. Merci, Dan
dbbd

11
La meilleure façon de réduire la folie de la sortie de xev est en exécutant la sortie par grep: xev | grep -A2 ButtonPress; cela laissera tous les événements de mouvement de souris, les événements de focus, etc. et affichera simplement les ButtonPressévénements.
Lambart

@dbbd Apparemment, votre message m'a manqué. Je vais y regarder et je reviendrai vers vous.
Seth

2
Ma souris est aussi un G300 et je ne peux pas le faire fonctionner. Les boutons sont mal mappés et deux boutons sont mappés sur le même bouton Control_L et je ne sais pas comment les mapper car, une fois enfoncés, ils ne s'identifient pas.
Inoki

6
"xbindkeys -p" pour appliquer les modifications
Alex Fedulov

12

J'ai suivi les instructions de @ Seth , mais la liaison que je voulais était que le M705 CTRL + Left-click(pour ouvrir les liens dans un nouvel onglet dans le navigateur Chrome) fût destiné . La liaison que je devais ajouter était la suivante:

"xte 'keydown Control_L' 'mouseclick 1' 'keyup Control_L'"
    b:10 + Release

Il attend que le bouton pouce soit relâché, puis appuie sur la touche de commande, clique sur la souris, puis relâche la touche de commande.


Cette solution, et non la précédente, fonctionnait à merveille sous Ubuntu Mate 16.04 avec la souris Logitech M705. Je l'ai utilisé pour attribuer un copier / coller aux boutons latéraux de sorte que mes paramètres ressemblent à ceci: "xte 'keydown Control_L" "key c" "keyup Control_L" "b: 9" xte "keydown Control_L" "clé v" "keyup Control_L '"b: 8
Draco

2
"xbindkeys -p" pour appliquer les modifications.
user3616725

8

Pour ceux qui souhaitent lier les actions de copie et de collage aux boutons de la souris

  1. Suivez la réponse de Seth (celle avec les étapes 1, 2 et sudo apt-get install xbindkeys xautomation xev)
  2. Mettez les lignes suivantes dans votre .xbindkeysrcfichier:

Ceci est pour la copie:

"xte 'keydown Control_L' 'key c' 'keyup Control_L'"
b:9

C'est pour coller:

"xte 'keydown Control_L' 'key v' 'keyup Control_L'"
b:8

* b:9signifie bouton 9 de la souris (cocher les numéros de bouton avec xev)

  1. Cela ne fonctionnera pas tout de suite, vous devez d' .xbindkeysrcabord recharger ou redémarrer votre ordinateur.

oh wow cela a fonctionné pour moi parfaitement. essayer de mettre en place ces clés pour les 4 dernières années et seulement maintenant capable de le faire. Merci! Au fait, il est très important de savoir de quels boutons il s'agit. Pour moi, ils avaient 16 et 17 ans avec ma souris.
Tio TROM

NOTE: les b: 9, etc DOIVENT être sur une nouvelle ligne dans le fichier de configuration. Je les ai mis sur la même ligne et je ne pouvais pas comprendre pourquoi cela ne fonctionnait pas.
user3616725

Cela a fonctionné pour moi pour l'interface graphique, mais cela ne fonctionne pas pour le terminal Bash. Est-il possible de faire en sorte que copier / coller fonctionne à la fois pour l'interface graphique et le shell avec les mêmes boutons?
JoeMjr2

@ JoeMjr2 Dans le terminal Bash, vous colleriez probablement avec Ctrl + Maj + V et copiez-le en appuyant sur Ctrl + Maj + C. Vous auriez donc besoin d'un moyen d'utiliser le mappage spécifique à l'application. Je ne sais pas comment. Peut-être que vous pourriez utiliser un émulateur de terminal et configurer des raccourcis clavier pour copier / coller de manière standard - alors les boutons copier / coller de la souris devraient fonctionner.
Zwolin

5

Vous devez installer Solaar, un outil Linux permettant de gérer les souris et les claviers Logitech Unifying Receiver, livré avec une interface graphique et une interface de ligne de commande. Pour ce faire, ajoutez le référentiel suivant et installez-le en exécutant les commandes suivantes:

sudo add-apt-repository ppa:daniel.pavel/solaar

sudo apt-get update

sudo apt-get install solaar

Cela vous permettra d'augmenter et de maximiser le DPI de votre souris, de surveiller la batterie, d'activer le défilement régulier et le défilement latéral. Pour que la fenêtre multiple et le bouton de zoom fonctionnent, vous pouvez visiter ce site qui vous guide pas à pas pour obtenir la fonctionnalité que vous recherchez:

http://www.ralf-oechsner.de/opensource/page/logitech_performance_mx


Je l'ai fait sur mon C720 / Crouton. Quand j'ai lancé solaar, il est revenu à l'écran de démarrage. Je devais redémarrer (et comprendre que la commande était sudo startxfce4) et enlevé solaar.
marty cohen

Solaar était très buggy pour moi le 14.04 et ne voulait plus du tout courir. Je me suis rendu compte que la question initiale portait sur le 12.04, mais je pensais que cela valait la peine d'être mentionné. Peut-être gagner du temps à quelqu'un.
Mousse

12
-1. Cette réponse ne répond pas à la question. solaar ne mappe pas les boutons de la souris.
Twifty

n'a pas fonctionné pour moi non plus.
Woeitg

3

Vous devriez déjà en avoir comme ils devraient venir avec Ubuntu, mais lancez ceci juste au cas où.

sudo apt-get install libdaemon-dev libglade2-dev libgtk2.0-dev 

Maintenant, téléchargez et installez

  1. btnx-config
  2. btnx Dans cet ordre.

À installer:

Décompressez et cddans chacun de ces dossiers.

Dans chacun d'eux, courez:

./configure
make
sudo make install

Une fois les deux installés, lancez

sudo btnx-config

Dans l'onglet Configurations, cliquez sur Détecter la souris et les boutons.

entrez la description de l'image ici

Dans l'onglet Boutons, attribuez une touche ou une fonctionnalité au bouton de la souris. Assurez-vous que la case à cocher est activée .

entrez la description de l'image ici

Enfin, dans l'onglet Configurations, cliquez sur le bouton Redémarrer BTX pour que vos modifications prennent effet.

entrez la description de l'image ici


A bien fonctionné sur la discothèque Ubuntu. Une correction: ça devrait être juste ./configure, pas ./configure make. De plus, vous n'avez pas besoin de sudo avec make.
panta82

@ panta82 J'ai pris ceux directement du fichier README.md
No Sssweat

Je connais. Il y a une erreur dans le fichier README :)
panta82

2

Moi aussi j'ai la souris de jeu g700s. La bonne nouvelle, c’est que c’était cher (pour une souris) et que le fabricant l’a construit à un niveau élevé. Les fonctions de la souris sont stockées dans la souris. La mauvaise nouvelle est que pour le configurer correctement, vous devez utiliser le logiciel logitech qui ne tourne que sous Windows.

Donc… en gros, vous devez brancher la souris dans une fenêtre Windows et la configurer exactement comme vous le souhaitez . Je vous recommande d'utiliser la fonction de profil de commutation afin que vous puissiez la configurer pour une utilisation normale, c'est-à-dire: exécuter votre ordinateur de bureau Linux, les fonctions Compiz (changer d'applications, changer d'espace de travail, basculer maximiser, etc.), puis créer un autre profil pour les jeux ( éventuellement avec un taux de rafraîchissement différent) et les boutons de jeu. En ce qui concerne Compiz, envisagez de régler les 4 boutons latéraux sur alt, ctl, shift, superkey, car cela facilitera l’utilisation de la commutation avec la molette de défilement. alt + molette de défilement vers le haut devient le bouton du pouce 1 + molette de défilement vers le haut.

Mon schéma:

touche du pouce 1 (bas en avant) = alt

touche du pouce 2 (avant en haut) = shift

bouton de pouce 3 (arrière inférieur) = ctrl

touche du pouce 4 (en haut à l'arrière) = super clé (touche Windows)

index du milieu bouton = ctrl + alt + pavé numérique 5

index plus proche de vous = onglet

index plus éloigné de vous = alt-f4 (compiz / linux / winX close app)

Compiz par défaut:

changer d'espace de travail = alt + ctl + glisser de la souris = abaisser 2 boutons du pouce ensemble + cliquer et faire glisser la souris; Cela semble compliqué à la saisie, mais son utilisation est très efficace.

changer d'application = alt + tab = touche inférieure du doigt vers l'avant + touche de rapprochement de l'index (rappelez-vous que pour que cela fonctionne bien, vous devez maintenir la touche du pouce enfoncée afin de pouvoir passer à côté d'une application)

fondu d'une fenêtre (transparence) = alt + molette de défilement = bouton avant inférieur du pouce + molette de défilement

Allez ensuite le transporter sur votre machine Linux et cela fonctionnera parfaitement.

Les raccourcis clavier décrits ci-dessus fonctionnent très bien, mais considérez battlefield 4 aussi à reconnaître que la souris est une souris à 10 boutons. Je devais donc mapper mes 4 boutons de pouce sur =, \ et;. Mais, évidemment, sur Linux, c'est idiot, et relier la clé = à "application suivante" est une leçon de futilité, en particulier lors du codage de hahahaha.

Nombreux liens nécessaires si vous utilisez VIRTUALBOX pour exécuter Windows 7:

https://stackoverflow.com/questions/20021300/usb-devices-are-not-recognized-in-virtualbox-linux-host

https://www.youtube.com/watch?v=-0OyrvbZNwo



1

J'ai un Logitech MX 500 et je voulais mapper les touches latérales avec les actions Copier et Coller (très utile).

J'ai utilisé ce guide pour comprendre comment configurer le fichier xbindkeysrc et pouvoir mapper les clés.


2
Vous savez que vous déplacez le pointeur de la souris au début / à la fin du texte que vous souhaitez copier, puis appuyez sur le bouton gauche et maintenez-le enfoncé jusqu'à ce que vous obteniez la fin / le début de ce que vous souhaitez copier et le copier. Lorsque vous souhaitez coller, vous appuyez sur le bouton du milieu (si vous ne disposez que d'une souris à deux boutons, appuyez simultanément sur les boutons gauche et droit) et collez le texte. Pas besoin de configurer quoi que ce soit, c'est prêt à l'emploi sur toutes les machines Unix et Linux avec un système XWindows. N'oubliez pas que nous n'utilisons pas de produit microsoft sans fonctionnalités, mais GNU / Linux

@ user350566 Ce type de copier / coller a quelques limitations. Parfois, vous voulez l'autre presse-papiers aka Ctrl + C / + V. Je dis juste.
Donquixote

1

J'ai fait une solution qui fonctionne avec Wayland.

Son ici https://github.com/mathportillo/wayland-mouse-mapper

Il utilise evemu pour envoyer un avis d'événement de périphérique au noyau, il n'est donc pas restreint par Wayland.

Vous trouverez ci-dessous un résumé du script bash illustrant son fonctionnement (la plupart des commandes nécessitent des privilèges root).

trouvez votre appareil:

libinput list-devices

pour trouver directement le nom de votre périphérique de pointeur, utilisez:

libinput list-devices | grep pointer -B3 | grep -o '/dev/input/event[1-9]*'

Pour répertorier les événements de votre périphérique, utilisez (change event5 avec le nom de votre périphérique de pointeur):

libinput debug-events --device /dev/input/event5

pour lier des commandes aux événements de votre appareil, utilisez:

while read line; do
    echo ${line} # line represents a command
    # your code goes here
done < <(stdbuf -oL libinput debug-events --device /dev/input/event5 & )

Pour déclencher un événement de souris, utilisez:

evemu-event /dev/input/event5 --sync --type EV_KEY --code KEY_PAGEUP --value 1

le type peut être autre que la frappe, et le code peut être autre que PageUp, la valeur est 1 pour appuyé et 0 pour relâchée, votre souris peut déclencher des frappes au clavier, le système l'interprétera de la même façon que les claviers, ce sont tous des événements provenant uniquement de périphériques d'événements.

Un script qui fusionne tous les concepts ci-dessus sur un mappeur actif, qui fonctionne sur Wayland et peut être configuré en tant que service pour démarrer au démarrage du système, se trouve dans le référentiel git ci-dessus.


0

Dans Debian, vous avez un xbindkeys-configpaquet qui vous aidera à configurer vos liaisons clé / bouton. Alors faites:

sudo apt-get install xbindkeys-config

2
Ce programme plante à chaque fois que j'essaie de faire quoi que ce soit avec mon G300.
Inoki


0

J'utilise donc ma performance MX sur ma machine Ubuntu depuis environ 6 mois. J'ai laissé la plupart des boutons par défaut, mais je suis allé de l'avant et j'ai fait du bouton du pouce la touche Super plus pratique que d'aller dans le coin supérieur gauche de l'écran dans gnome. Et j'ai fait du bouton de zoom un bouton de contrôle. Mais il est configuré pour activer CTRL et désactiver CTRL avec des clics séparés. Cela aide vraiment puisque j'ai un écran 4K et un 1080, je peux donc cliquer sur le bouton de zoom une fois, faire défiler la molette pour faire un zoom avant et arrière sur les pages Web, et lorsque la page Web est mise à l'échelle comme je le veux, je clique sur le zoom encore. Voici mes paramètres xbindkeysrc:

"/usr/bin/xte 'keydown Control_L' &"
b:13
"/usr/bin/xte 'keyup Control_L' &"
Control + b:13
"/usr/bin/xte 'key Super_L'"
b:10 + release

Cela ne semble pas répondre à la question posée.
TheWanderer

0

btnxpourrait être une solution simple pour le remappage des boutons avec les souris Logitech, car cela devrait fonctionner avec toutes les marques. Il a une interface graphique facile et peut en apprendre davantage sur les boutons disponibles. btnx faisait partie des référentiels standard il y a plusieurs années, mais a été supprimé. Il est actuellement disponible ici: https://launchpad.net/~oliverstar/+archive/ubuntu/ppa


0

Faites défiler de haut en bas avec les boutons avant et arrière de la souris

Commencez par installer les packages requis:

$ sudo apt install x11-utils xbindkeys xautomation

Ensuite, utilisez xevfourni par x11-utilspour détecter les numéros exacts des boutons Précédent et Suivant de la souris.

$ xev |grep -A2 ButtonPress

Pour ma souris Anker verticale câblée , l’arrière et l’avant sont respectivement les boutons 8 et 9.

ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1708382, (68,54), root:(939,498),
    state 0x10, button 8, same_screen YES
--
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1711030, (69,48), root:(940,492),
    state 0x10, button 9, same_screen YES

Souris Anker verticale câblée

Continuez en créant un fichier caché nommé .xbindkeysrcdans votre répertoire personnel avec le contenu suivant:

"xte 'keydown Down'"
b:8

"xte 'keyup Down'"
b:8 + Release

"xte 'keydown Up'"
b:9

"xte 'keyup Up'"
b:9 + Release

La xtecommande est fournie par le xautomationpackage.

Enfin, déconnectez-vous et reconnectez-vous à partir du bureau pour que ces modifications prennent effet. Vous pouvez maintenant faire défiler de haut en bas les navigateurs et autres programmes en maintenant enfoncés les boutons précédent et suivant de la souris.

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.