Question Comment puis-je désactiver le bouton du milieu de la souris en cliquant sur Coller?


Est-il possible de désactiver le comportement du bouton du bouton central de la souris par défaut sur gnome?

J'ai une molette de souris sensible et chaque fois que je fais défiler des textes, il colle parfois des choses au hasard dans le texte. Je perds beaucoup de crédibilité lorsque j'envoie un fichier à quelqu'un qui contient des extraits de texte aléatoires.

J'ai vu un Solution Cela passe en mappant le bouton central de la souris sur un bouton de la souris inexistant, mais cela implique de se débarrasser complètement du bouton central de la souris (pas de fermeture des onglets, ouverture automatique des liens dans un nouvel onglet, etc.). J'aimerais garder le bouton central de la souris actif, désactivez simplement le comportement de collage.

Cela se produit également lorsque je fais défiler le texte avec mon pavé tactile (frappe accidentellement deux doigts sans bouger, bam.)

Donc, le problème ne sera pas résolu en changeant simplement pour une nouvelle souris (en fait, je pense que cela se produit plus souvent avec mon pavé tactile qu'avec ma souris).


98
2017-09-21 15:26


origine


s / sensible / sensible / - Dennis Williamson
Comportement par défaut vraiment ennuyeux. Comment l'avez-vous désactivé? - umpirsky
@umpirsky: Je n'ai pas encore trouvé le moyen de le désactiver. - levesque
Si votre souris enregistre les clics du milieu alors que vous voulez juste faire défiler, je vous suggère d'essayer un autre modèle de souris (probablement un modèle avec une pression plus élevée pour cliquer sur la molette). Après plusieurs années d'utilisation de Linux, je n'ai jamais été dérangé par votre problème. En fait, le clic du milieu s'est révélé très utile :) - Maxime R.
@umpirsky Je l'appellerais à peine idiot; cependant, je suis d'accord pour dire que cela peut être plutôt ennuyeux (surtout lorsque vous faites défiler simplement un programme graphique) - Vreality


Réponses:


Pour une solution au problème, veuillez consulter ce guide J'ai écrit: http://www.assembla.com/spaces/slipstream/wiki/Disabling_GTK's_middle_mouse_button_functionality

Ou, plus directement, voici le correctif pour désactiver la fonctionnalité "Coller avec le bouton central de la souris" dans GTK: http://subversion.assembla.com/svn/slipstream/patches/gtk_disable_middle_mouse_button_paste.patch


15
2017-09-17 21:27



Je n'ai pas eu le temps de l'essayer (en partie parce que je n'ai plus d'ordinateur portable), mais cela semble être la solution à mon problème :) - levesque
J'utilise Ubuntu 12.04 64 bit avec gtk 2.0-0_2.24.10, et il a échoué sur la ligne dpkg-buildpackage. Il ne construirait pas avec des modifications locales non validées, donc je devais exécuter dpkg-source --commit. - Sam King
@Sam: Merci pour la tête haute. Apparemment, le --source-option=--auto-commit l'option peut être transmise à dpkg-buildpackage (ce qui est un peu plus pratique car il n'est pas nécessaire de modifier le journal des modifications). J'ai mis à jour le guide pour refléter cela. - Jelle Geerts
J'ai essayé cette solution, mais chaque fois que je suis arrivé au sudo apt-get build-dep libgtk2.0-0 partie je reçois une erreur avec Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0' E: Unable to find a source package for gtk+2.0  Aidez-moi? - FCTW
@FCTW: Je soupçonne que la cause du problème est que GTK3 a remplacé GTK2 dans les distributions modernes. Par conséquent, vous devrez trouver le nom du paquet de la bibliothèque GTK3 installée, en exécutant une commande comme dpkg -l | grep libgtk. C'est probablement quelque chose comme libgtk-3-0. J'ai vérifié que mon correctif fonctionnait sur les premières versions de GTK3; Espérons que cela fonctionne toujours. - Jelle Geerts


Jared Robinson a donné une solution simple ça marche sur ma machine:

Exécutez la commande suivante:

xmodmap -e "pointer = 1 25 3 4 5 6 7 8 9"

Pour conserver ce comportement, modifiez ~ / .Xmodmap et ajoutez

pointer = 1 25 3 4 5 6 7 8 9

33
2017-08-06 00:32



Est-ce que cela ne désactive pas le bouton central? Qu'en est-il de la fermeture des onglets, de l'ouverture des liens vers les nouveaux onglets, etc.? - levesque
Bien que cela puisse théoriquement répondre à la question, ce serait préférable inclure les parties essentielles de la réponse ici, et fournir le lien pour référence. - Kris Harper
Merci, cela a résolu le problème. Maintenant, je reçois un menu contextuel en cliquant sur la molette, ce qui est bien mieux que coller. - umpirsky
@HDave Comment diable cela devrait-il être marqué comme la réponse à une question qui indique spécifiquement qu'il a vu des solutions qui relient la souris du milieu à une clé différente, mais celles-ci sont pas satisfaisant? C'est exactement ce que cette réponse fait. - Thor84no
@Neil Traft Je n'ai pas trop examiné cette configuration exacte, mais d'après ma compréhension des systèmes d'événements d'entrée lorsque vous avez un périphérique d'entrée comme une souris, il renvoie des événements d'entrée standard lorsque des boutons sont enfoncés. ", ce bouton a l'id X", et "il est pressé / relâché" normalement gtk modifie les événements d'entrée qu'il reçoit pour mapper les identifiants des boutons [0,1,2,3,4,5,6,7,8 ] à [1,2,3,4,5,6,7,8,9] gardez à l'esprit que seuls les 3 premiers identifiants de bouton sont utilisés sur la plupart des souris pour indiquer l'identifiant du bouton gauche, moyen et droit. alors milieu est maintenant id 25 - S E


Je me rends compte que ce n'est pas exactement la réponse que vous voulez, mais vous pouvez la désactiver dans Firefox (par exemple, si la fonctionnalité ne vous dérange pas, mais que vous souhaitez toujours cliquer sur Firefox pour ouvrir des liens dans de nouveaux onglets)

A propos de: config, set

middlemouse.contentLoadURL false
middlemouse.paste false

Pas ce que vous avez demandé, mais comme cette question est liée à quelques endroits, j'espère que quelqu'un trouve cette réponse utile.


23
2018-01-21 09:11



+1 Cela est utile. Je vais aussi ajouter que dans LibreOffice, vous pouvez le faire dans Tools/Options/LibreOffice/View/Mouse changez le bouton central de la souris en fonction de vos préférences. - Tom Brossman


Ce n'est actuellement pas possible - bien que, comme vous l'avez mentionné, il existe des moyens de désactiver le bouton MOUSE 3 - ou de le remapper - aucun de ceux-là n'atteint la source du problème. La sélection primaire X11.

Bien que ce ne soit pas une solution, j'espère que cette explication permettra de comprendre pourquoi. Dans Ubuntu, il y a deux presse-papiers au travail. Un, que tout le monde connaît, le presse-papiers freedesktop.org (capture Ctrl+C command) Le second est un gestionnaire de presse-papiers qui est en jeu depuis avant même qu'Ubuntu existe - X11. Le serveur X (X11) gère trois autres presse-papiers: Sélection primaire, Sélection secondaire, et Presse-papiers. Lorsque vous sélectionnez du texte avec votre pointeur, il est copié dans un tampon dans le XServer, la sélection principale, et attend le collage à l'aide du bouton Souris 3. Les deux autres ont été conçus pour être utilisés par d'autres applications dans le but de partager un presse-papiers commun entre les applications. Dans ce cas, le gestionnaire de presse-papiers freedesktop.org dans Ubuntu le fait déjà pour nous.

Dans la mesure de mes recherches, je ne peux pas trouver un moyen de désactiver le gestionnaire de sélection X11. Il n'y a pas d'indicateurs de compilation, d'applications ou de valeurs de configuration pouvant désactiver cette option. Il y a plusieurs façons de résoudre ce problème par application (la majorité de ces applications étant en ligne de commande) - mais rien à l'échelle mondiale.

Je me rends compte que ce n’est pas une solution idéale - mais semble être la vérité sur le problème. La seule solution pertinente que je pourrais rassembler est en fait un hack, créez un script qui exécute une boucle while infinie qui remplace simplement la sélection primaire par une valeur nulle.

Première installation xsel (Outil de manipulation de la sélection X) sudo apt-get install xsel

Le code est comme suit:

while(true)
do
    echo -n | xsel -n -i
    sleep 0.5
done

Si vous placez ceci dans un script et l'ajoutez à vos scripts de démarrage, cela ne devrait pas poser de problème.


18
2017-09-23 18:56



Une chance pour un script qui efface simplement le tampon au lieu d'annuler toutes les sélections? - levesque
tandis que (vrai)? On dirait que ça va tuer le CPU :) - umpirsky
J'ai essayé de mapper des butons en ajoutant l'option "ButtonMapping" "1 1 3 4 5" à xorg.conf, mais le problème résiste. - umpirsky
@umpirsky le while(true) n'est pas un problème car la boucle contient sleep 0.5 qui renonce à une demi-seconde de temps CPU dans chacune des itérations de la boucle. À cause de cela (et la légèreté du xsel invocation de commande qui comprend l’autre partie de la boucle), les ressources du processeur utilisées par la boucle seront extrêmement faibles, même sur les machines Ubuntu les plus lentes. - Eliah Kagan
Cela ne semble pas fonctionner correctement sur Unity car le script efface toute sélection existante dans un terminal, ce qui signifie que vous ne pouvez pas copier le test depuis un terminal (au moment où vous essayez de copier, le texte est désélectionné). - Fantius


J'utilise gnome-tweak-tool pour désactiver le collage du bouton du milieu dans Ubuntu 16.04.

sudo apt install gnome-tweak-tool

Rechercher "tweak tool" dans les applications installées. Exécuter.

Ou tapez simplement gnome-tweak-tool dans un terminal.

Allez dans "Clavier et souris" -> "Coller le clic du milieu" Éteindre.

C'est tout. Testé sur Ubuntu 16.04


16
2018-01-15 12:03



Travaillé comme un charme! Je perdais espoir si vite. Je vous remercie! - theY4Kman
Travaillé! Merci: D - Ahmad Muzakki
ça ne marche pas après le redémarrage: '( - Ahmad Muzakki
L'utilisation de l'outil Tweaks serait de loin la meilleure façon de procéder, si cela fonctionnait. J'ai désactivé le collage en un clic du bouton central et le clic de milieu est toujours le même que précédemment. Même après un redémarrage. Quelqu'un a-t-il résolu un problème similaire? - Kvothe
Également intéressant, une explication du comportement bizarre en un clic de la réécriture du tampon du presse-papiers avec la sélection actuelle: askubuntu.com/a/225879/653860  (Malheureusement, la désactivation du bouton central de la souris, comme proposé dans cette réponse, désactive également complètement la molette de la souris. Il semble qu'il n'y ait pas de moyen simple de se débarrasser de ce comportement stupide sans détruire d'autres fonctionnalités essentielles. .: /) - trollkotze


D'une certaine manière, je me suis retrouvé sans aucun fichier xmodmap sur mon installation Ubuntu, alors j'ai dû trouver une approche différente de ce problème.

Jetez un oeil à la xinput commander.

xinput list | grep -i mouse

qui liste des informations sur votre souris. Il montre que ma souris est "Dell Premium USB Optical Mouse" et que je possède également une "émulation de bouton de souris Macintosh". Armé de cette information, je peux

xinput get-button-map "Dell Premium USB Optical Mouse"

ce qui me donne une liste qui ressemble à

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Voici les connaissances utiles et nécessaires. Ma souris a théoriquement 18 boutons. L'action par défaut de chaque bouton porte le même nom que son numéro de bouton. En d'autres termes, le bouton 1 effectue l'action 1, le bouton 4 effectue l'action 4, etc. L'action 0 signifie "désactivée".

le position dans la liste affiche la fonction attribuée à ce bouton. Donc, si ma carte lisait

1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

cela signifierait que le bouton 1 (position 1) effectue l'action 1 (bouton gauche normal), le bouton 2 (position 2) action 3 (bouton central) et le bouton 3 (position 3) action 2 (bouton droit).

Pour faire une souris gaucher, tout ce dont vous avez besoin serait une carte de bouton qui commence

3 2 1 4 5 .....

Ou, dans votre cas, il semble que vous vouliez que le bouton du milieu fasse la même chose que le bouton 1 (bouton de gauche) pour que votre carte commence

1 1 3 ....

Je réinitialiserais les mappages des boutons de la souris:

xinput set-button-map "Dell Premium USB Optical Mouse" 1 1 3 5 6 6 7 8 9 10 11 12 13 14 15 16 17 18

Dans votre cas, vous pouvez avoir un nombre différent de boutons mappés et une carte de boutons spéciale déjà définie. De même, votre souris a également un nom différent. Tout d'abord, obtenez le "nom" de votre souris. Ensuite, utilisez le get-button-map opération pour trouver votre carte de bouton de base. enfin, utilisez le set-button-map option, modifier le bouton 2 pour faire l’action 1.

Ce n'est pas un changement permanent. J'ai ajouté le code nécessaire à mon .bashrc il s'exécute donc chaque fois que je me connecte ou que j'ouvre un terminal.

J'espère que cela t'aides.


14
2018-01-12 12:58



Merci pour l'info. Il explique un peu plus les boutons de la souris et les actions qui leur sont appliquées. Cependant, ce n'est pas la solution que je recherche. Si vous cliquez sur un onglet dans Chrome (pour utiliser mon exemple), il le sélectionne (s'il n'est pas déjà sélectionné). En cliquant dessus avec le bouton du milieu, vous le fermez (c'est-à-dire sans cliquer sur le X). Il me manque également un clic sur un lien pour le faire ouvrir dans un nouvel onglet pour une lecture ultérieure. Je me rends compte que je peux les surmonter avec des alternatives mais je suis habitué à cette façon de travailler .... - neildeadman
Juste une pensée; l'un des autres boutons de votre souris, le mien dit que j'ai 18 boutons, même si je n'ai pas encore trouvé physiquement plus d'environ 8 d'entre eux) peut être la fonction que vous voulez. Essayez de mapper d'autres boutons sur votre troisième bouton et voyez si vous trouvez quelque chose d'utile. - Wes Miller
Si vous remappez comme une souris à deux boutons, cela ne devrait pas changer la fonction de serrure puisque les rouleaux de roue appuient sur les boutons 5 et 6 (ou 7 et 8 ou quelque chose comme ça). - Wes Miller
Je peux confirmer que cela fonctionne à la fois sur le trackpoint ThinkPad intégré et sur le clavier Lenovo qui a la même disposition. le get-button-map sur le clavier Lenovo revient avec 22 boutons pour moi, mais le même set-button-map <<name-or-id>> 1 0 3 l'approche fonctionne pour moi - Milimetric
ce est la réponse (bien que je pense que votre description est désactivée) - get-button-map lie la position dans la liste au bouton physique, qui est l'opposé de xmodmap, qui lie la position dans la liste à la fonction. En utilisant le bouton-set-map, nous pouvons mapper deux boutons physiques sur une position logique. Fonctionne sur un asus zenbook pro pour moi. - zzzeek


Je suggère d'utiliser l'un de ces outils, qui fonctionne le mieux pour moi:

en utilisant xbindkeys: chaque fois que le bouton du milieu est pressé, effacez le presse-papier primaire. Au moins sur mon système, il est effacé avant le collage. Détails: créer xbindkeys-config:

xbindkeys --defaults > $HOME/.xbindkeysrc

Collez le nouveau raccourci clavier suivant:

"xclip -i /dev/null"    
    b:2``

Rechargez les clés xbind (par exemple, killall xbindkeys; xbindkeys). Terminé.

en utilisant xdotool: Effacer le presse-papiers sur le changement de focus de la fenêtre (devrait fonctionner avec la plupart des gestionnaires de fenêtres). Détails: Exécutez la commande suivante:

xdotool search --onlyvisible . behave %@ focus exec xclip -i /dev/null

Notez qu'avec cette commande, vous pouvez toujours utiliser le presse-papiers principal dans la même fenêtre, ou appuyer sur middlange sur une autre fenêtre AVANT de la focaliser (si "focus ne suit pas la souris", ou quelque chose, activé).


4
2018-02-22 11:10





Le meilleur moyen que j'ai trouvé jusqu'à présent est d'utiliser EasyStroke, qui peut intercepter globalement les clics du bouton du milieu et permettre de se comporter comme bouton central uniquement dans certaines applications.

Vous pouvez ajouter un "groupe" dans EasyStroke pour appliquer cette interception dans plusieurs applications à la fois. Je me suis fixé pour désactiver le clic du milieu dans certains de mes éditeurs de texte, IDE et MATLAB uniquement et fonctionne comme prévu.

Référence: http://ubuntuforums.org/showpost.php?p=11811126&postcount=25

Guide complet de EasyStroke: http://sourceforge.net/apps/trac/easystroke/wiki/Documentation


3
2018-02-03 12:13



Merci du futur pour cette astuce. Au début, j'allais simplement utiliser xinput pour le désactiver totalement et ne pas avoir à exécuter de programme supplémentaire, mais EasyStroke a permis de définir des groupes dans lesquels je pouvais désactiver le bouton central de certaines applications (mon éditeur, principalement), et ajouter des gestes à certaines autres applications et en utilisant le bouton du milieu. Jusqu'à présent, fonctionne bien (14.04 Gnome fallback). - Marty Fried
Ajouté à mon commentaire: après avoir utilisé EasyStroke pendant un moment, j'ai constaté que le clic du milieu échouait souvent. Comme je n’ai pas utilisé les gestes, j’abandonne ce programme pour xinput. - Marty Fried


Ce comportement de collage du bouton central de la souris est une fonctionnalité du serveur X (et de gpm sur la console texte) et, à ma connaissance, X.org ne peut pas être configuré pour le désactiver. des boutons physiques de la souris, comme d'autres l'ont déjà suggéré.

Les chances sont bonnes que vous puissiez configurer votre pavé tactile pour éviter les clics intermédiaires indésirables, voir les paramètres de gpointing-device (non installé par défaut) ou la page de manuel synaptics si vous préférez utiliser votre éditeur pour la configuration.


2
2017-09-23 18:52





le lien ci-dessous corrige le problème pour moi.

https://wiki.ubuntu.com/X/Config/Input#Example:_Disabling_middle-mouse_button_paste_on_a_scrollwheel_mouse

La page référencée par le lien ci-dessus contient une section sur la façon de désactiver le collage de la souris du milieu sur la molette, en exécutant quelques commandes que l'utilisateur peut extraire du mappage des boutons de la souris et peut également modifier le mappage. comme expliqué dans la page j'ai désactivé le bouton du milieu en exécutant la commande:

$ xinput set-button-map 4 1 0 3

2
2018-01-05 14:38



L'OP a spécifiquement mentionné qu'il ne voulait pas désactiver complètement le bouton central du clic. - cpburnz