web-dev-qa-db-fra.com

Comment désactiver le clic sur le bouton central de la souris?

Existe-t-il un moyen de désactiver le comportement de collage du bouton central de souris qui est ici par défaut sur gnome?

J'ai une molette de la souris sensible et chaque fois que je fais défiler des textes, cela colle parfois au hasard dans le texte. Je perds beaucoup de crédibilité lorsque j'envoie un fichier à quelqu'un d'autre sur lequel des extraits de texte aléatoires sont collés.

J'ai vu un solution qui consiste à mapper le bouton central de la souris sur un bouton de souris inexistant, mais cela implique de se débarrasser complètement du bouton central de la souris (c'est-à-dire, aucune fermeture d'onglet, ouverture des liens dans un nouvel onglet automatiquement, etc.). J'aimerais garder le bouton central de la souris actif, il suffit de désactiver le comportement de collage.

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

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

129
levesque

Pour une solution au problème, veuillez consulter ce guide, j’ai écrit

Ou, plus directement, voici le patch pour désactiver la fonctionnalité "coller le bouton central de la souris" dans GTK.

15
Jelle Geerts

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

  1. Installez-le

    Sudo apt install gnome-Tweak-tool
    
  2. Exécutez-le en recherchant "l'outil Tweak" dans les applications installées ou tapez simplement gnome-Tweak-tool dans un terminal.

  3. Allez dans "Clavier et souris" -> "Coller avec le bouton du milieu"
  4. Éteindre.

    screenshot

C'est tout.

ou en utilisant simplement CLI

gsettings set org.gnome.desktop.interface gtk-enable-primary-paste false

Testé le 16.04.

41
Sunny127

Jared Robinson a donné une solution simple qui fonctionne sur ma machine:

Exécutez la commande suivante:

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

Pour conserver ce comportement, éditez ~/.Xmodmap et ajoutez

pointer = 1 25 3 4 5 6 7 8 9
32
Jay Goldfarb

Je me rends compte que ce n’est pas exactement la réponse que vous souhaitez, mais vous pouvez le désactiver dans Firefox (par exemple, si cela ne vous dérange pas de la fonctionnalité ailleurs, mais voulez quand même un clic intermédiaire dans Firefox pour ouvrir des liens dans de nouveaux onglets).

Dans à propos de: config, set

middlemouse.contentLoadURL false
middlemouse.paste false

Ce n'est pas ce que vous avez demandé, mais comme cette question est liée à plusieurs endroits, j'espère que quelqu'un trouvera cette réponse utile.

28
Ben

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

Bien que ce ne soit pas une solution, j'espère que cette explication expliquera POURQUOI. Dans Ubuntu, il y a deux presse-papiers au travail. L’un, que tout le monde connaît, le presse-papiers freedesktop.org (capture Ctrl+C commande) Le second est un gestionnaire de presse-papiers qui était en jeu depuis avant même que Ubuntu n’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, celui-ci est copié dans une mémoire tampon du XServer, sélection principale, et attend son collage au moyen du bouton Souris 3. Les deux autres ont été conçus pour être utilisés par d'autres applications afin de partager un presse-papiers commun entre les applications. Dans ce cas, le gestionnaire de presse-papiers freedesktop.org sous Ubuntu le fait déjà pour nous.

Dans l’étendue de mes recherches, je ne trouve pas le moyen de désactiver le gestionnaire de sélection X11. Aucun indicateur de compilation, application ou valeur de configuration ne peut le désactiver. Il existe différentes manières de contourner ce problème, application par application (la plupart de ces applications étant des applications 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é à la question. La seule solution pertinente que je puisse trouver 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 null.

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.

21
Marco Ceppi

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

Examinez la commande xinput.

xinput list | grep -i mouse

qui répertorie des informations sur votre souris. Cela montre que ma souris est "Dell Premium Optical Mouse" et que je possède "l'émulation du bouton de la 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, en théorie, 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 exécute l'action 1, le bouton 4 exécute l'action 4, etc. L'action 0 signifie "off".

Le position dans la liste indique la fonction attribuée à ce bouton. Donc, si ma carte de bouton lu

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

cela signifie que le bouton 1 (position 1) exécute l'action 1 (bouton gauche normal), le bouton 2 (position 2) exécute l'action 3 (bouton du milieu) et le bouton 3 (position 3) exécute l'action 2 (bouton de droite).

Pour faire une souris gaucher, il vous suffit d’une carte de boutons qui commence

3 2 1 4 5 .....

Ou, dans votre cas, il semble que vous souhaitiez que le bouton du milieu fasse la même chose que le bouton 1 (bouton de gauche), de sorte que votre carte doit commencer

1 1 3 ....

Je réinitialiserais les correspondances de mon bouton de souris ainsi:

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 plus, votre souris porte un nom différent. D'abord, obtenez le "nom" de votre souris. Ensuite, utilisez l'opération get-button-map pour trouver votre carte de boutons de base. Enfin, utilisez l'option set-button-map, en modifiant le bouton 2 pour effectuer l'action 1.

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

J'espère que cela t'aides.

19
Wes Miller

Je suggère d’utiliser l’un d’eux, qui me convient le mieux:

using xbindkeys: chaque fois que vous appuyez sur le bouton du milieu, effacez le presse-papiers principal. Au moins sur mon système, il est effacé avant que le collage ne se produise. Détails: créer xbindkeys-config:

xbindkeys --defaults > $HOME/.xbindkeysrc

Collez le nouveau raccourci clavier suivant:

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

Rechargez xbindkeys (par exemple, killall xbindkeys; xbindkeys). Terminé.

using xdotool: Efface le presse-papiers lors du 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 middlemouse sur une autre fenêtre AVANT de le focaliser (si vous n'avez pas activé "focus suit mouse" ou autre chose).

5
spawn

Jusqu'à présent, la meilleure solution consiste à utiliser EasyStroke, qui peut intercepter globalement le clic du bouton central et permettre de se comporter comme le bouton central uniquement dans certaines applications.

Vous pouvez ajouter un "groupe" dans EasyStroke pour appliquer cette interception à plusieurs applications à la fois. J'ai défini la désactivation du clic intermédiaire 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

Complete EasyStroke How-To: http://sourceforge.net/apps/trac/easystroke/wiki/Documentation

3
dbdq

Voici la solution la plus simple que j'ai trouvée pour garder fonctionnel le clic du milieu sans le coller des choses.

Première installation sxhkd et xsel .

Puis configurez ./. Config/.sxhkd/sxhkdrc comme suit

~button2
    echo -n | xsel -n -i
~control + c
    echo -n | xsel -n -i
~control + x
    echo -n | xsel -n -i

Et c'est fondamentalement ça.

Maintenant, démarrez sxhkd (ou configurez-le pour qu'il se lance au démarrage). Maintenant, la souris du milieu ne collera plus rien mais fonctionnera normalement. (Tant que vous utilisez uniquement les touches ctrl + c et ctrl + x pour copier des éléments, c’est-à-dire, si vous copiez des éléments avec la souris, vous pouvez les coller une fois avant qu’ils ne redeviennent normaux.)

2
Cestarian

Ce comportement de coller du bouton central de la souris est une fonctionnalité du serveur X (et de gpm sur la console texte) et, autant que je sache, au moins X.org ne peut pas être configuré pour le désactiver - vous pouvez simplement modifier le mappage. des boutons de la souris physique comme d'autres déjà suggéré.

Il est fort probable que vous puissiez configurer votre pavé tactile pour éviter les clics intermédiaires indésirables, voir gpointing-device-settings (non installé par défaut) ou la page de manuel synaptics si vous préférez utiliser votre éditeur pour la configuration.

2
Florian Diesch

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 expliquant comment désactiver le collage de la souris du milieu sur la molette de défilement. En exécutant quelques commandes, l'utilisateur peut récupérer le mappage des boutons de la souris et é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
Ahmad Bawaneh

Je peux avoir une réponse partielle pour vous, si vous utilisez un lenovo X ... avec touchpoint/touchpad. Il y a un bug "connu" avec les boutons de la souris Synaptics. Si vous essayez une souris USB sans problème, mais avec la souris à pavé tactile/tactile (intégré au clavier), vous avez des réponses aléatoires qui peuvent supprimer des bandes de texte en cours de frappe, il s’agit peut-être du bogue dont je parle. .

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1506817

Si cela correspond à votre situation, ajoutez votre nom à la liste des personnes qui ont identifié ce bogue, à ce rapport de bogue. Peut-être que si nous en signalions beaucoup plus, cela serait réglé.

1
Jont Allen

J'ai essayé l'astuce xinput-redirection, en changeant le "bouton" central de la souris (en fait une molette) pour qu'elle agisse comme le bouton gauche de la souris. Il fonctionne toujours comme une roue et a (apparemment) cessé de coller des objets à des endroits aléatoires au milieu de mon code source lorsque je les ai fait défiler.

Dans mon cas, la commande était

xinput set-button-map "PixArt USB Optical Mouse" 1 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16

mais YMMV par modèle de souris.

1
Stephen Bloch

J'ai eu le même problème il y a quelques mois et je l'ai résolu en changeant la souris! Mais, comme vous, j'étais frustré par le fait qu'un simple problème de mappage de boutons ne peut pas être résolu de manière élégante par un correctif logiciel. Heureusement, j'ai eu le problème sur mon ordinateur de travail et mon employeur possède une variété de contrôleurs de souris de rechange. C'était une solution sans frais!

Je pense qu'une implémentation matérielle de souris appropriée ne devrait pas envoyer de clics aléatoires au milieu lors du défilement. Récemment, j'ai trouvé ce comportement gênant lors de l'utilisation de Windows!

Maintenant que j'ai corrigé le bogue matériel avec la solution matérielle appropriée (changez de souris), j'ai même commencé une dépendance au comportement de "coller au clic du milieu" !!

Bonne linuxing!

Sincèrement

1
Jonathan

SW: Ubuntu 14.04, avec Gnome replier. HW: J'ai un ordinateur portable et le bouton du milieu est en fait la souris sur/dans l'ordinateur portable. Solution: accédez au centre logiciel Ubuntu et téléchargez Unity Tweak Tool. Démarrer l'outil Tweak. Dans les paramètres de la souris, il est possible d'activer/désactiver l'insertion du clic du milieu Passez une bonne journee.

1
user2712329

C'est plus qu'une fonctionnalité de gnome, je pense que cela fonctionne presque partout, cela fonctionne aussi dans la console, et je pense que cela a fonctionné même dans mon "Linux from Scratch".

C'est donc une fonctionnalité de base, peut-être même quelque part dans le noyau.

BTW: C'est vraiment utile, et ce n'est pas la pâte normale comme Ctrl + V, tout ce qui est marqué avec le curseur est stocké dans une seconde mémoire et avec un clic intermédiaire, vous pouvez coller ce que vous avez marqué en dernier.

0
phiphi

Pour les applications Gnome, vous pouvez utiliser gnome-tweaks (nouveau nom du paquet gnome-Tweak-tool) sous l'onglet "Clavier et souris", puis l'option "Coller au milieu" ou éditer directement le gnome org.gnome.desktop.interface/gtk-enable-primary-paste option.

Pour les applications KDE, il semble qu'il existe un solution équivalente .

Pour tout le X (y compris les applications non Gnome), vous pouvez installer XMousePasteBlock qui doit alors être en cours d'exécution (par l'utilisateur suffit, aucune racine requise) pour fonctionner. Ceci désactive complètement le collage du clic du milieu sans désactiver les autres fonctions du clic du milieu.

0
Ilario Gelmetti

Vous voudrez peut-être essayer d’émuler une souris à deux boutons. Avec une souris à deux boutons, vous la collez en cliquant simultanément sur les deux boutons (plutôt que sur la molette de défilement).

Installez gpointing-device-settings:

Sudo aptitude install gpointing-device-settings

http://live.gnome.org/GPointingDeviceSettings

Sinon, si vous ne souhaitez pas installer gpointing-device-settings et que les options de ligne de commande ne vous gênent pas, voir https://wiki.ubuntu.com/X/Config/Input À ce sujet page wiki il y a plusieurs options de ligne de commande/configuration, choisissez celle que vous préférez.

0
Panther

La seule réponse qui a fonctionné pour moi a été donnée sur https://unix.stackexchange.com/a/277488/288916 Radivarig (tous les crédits vont à lui). Notez que je devais faire un changement pour que cela fonctionne:

Installez xbindkeys:

Sudo apt-get install xbindkeys xsel xdotool

Créez un fichier de configuration pour xbindkeys ~/.xbindkeysrc avec le texte:

"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
b:2

Chargez le fichier de configuration en utilisant

xbindkeys -p

Ajoutez cette ligne à ~./Bashrc afin que xbindkeys soit toujours chargé au démarrage.

C’est ce qui fonctionne pour moi, mais ce que Radivarig suggère, c’est d’utiliser plutôt la ligne

"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
    b:2 + Release

Ce dernier ne fonctionne pas pour moi mais si la version ne fonctionne pas, je suggère d'essayer l'autre.

Après une longue période de recherche, c’est la seule solution que j’ai trouvée qui fonctionne pour moi et qui désactive le bouton coller de la souris du milieu de manière universelle sans avoir à désactiver complètement le bouton de la souris du milieu.


Notez que pour les réponses existantes upvoted, soit elles ne répondent pas à la question, mais vous expliquent comment désactiver complètement le bouton central de la souris, soit elles donnent une solution qui ne fonctionne que dans quelques programmes (solution Tweak uniquement dans les terminaux gedit et gnome. et quelques autres) ou ils disent simplement que c'est impossible.


la réponse de spawn est d'un esprit similaire et pourrait également fonctionner, je ne l'avais pas vue avant d'avoir trouvé cette solution.

0
Kvothe

En utilisant ce que j'ai appris dans les articles ci-dessus, cette bash one-liner fonctionne parfaitement pour moi ...

mouse_id=$(xinput list | grep 'Mouse' | awk '{print $9}' | sed 's/[^0-9]//g') && xinput set-button-map "$mouse_id" 1 0 3
0
Scott