souris parfois double-cliquez lorsque je clique une fois

33

J'ai un problème qui devient un cauchemar, au point que je pense qu'il pourrait être plus facile de supprimer complètement Ubuntu et d'essayer autre chose. J'ai un PC HP sous Ubuntu 12.04. Lorsque je clique avec la souris, il suffit parfois de cliquer deux fois (peut-être 50% du temps).

Jusqu'à présent, cela a conduit à: envoyer aléatoirement des e-mails inachevés, mettre en évidence et supprimer au hasard des éléments que je ne voulais pas supprimer tout en écrivant des e-mails ( très frustrant), supprimant au hasard deux onglets de navigateur (plusieurs fois), et (dans un certain sens, le plus agaçant) une expérience très effrénée de la part de l’utilisateur final lorsqu’il tente de déplacer des fenêtres sur le bureau ou de copier-coller depuis une fenêtre de terminal. Dieu merci pour Alt - F7 - mais je ne veux pas avoir à apprendre les raccourcis clavier pour chaque programme que j'utilise ainsi que pour le système d'exploitation (et ne pas pouvoir copier-coller est une grande perte pour moi).

Je ne suis pas le seul à avoir ce problème, mais googler indique qu’il peut y avoir plusieurs raisons à cela; Aucune des corrections que j'ai lues en ligne n'a fonctionné pour moi. Permettez-moi de passer en revue tout, y compris les correctifs qui ont fonctionné pour d'autres personnes, mais pas pour moi. Oh, j'ai une souris optique hp.

  • Ce n’est pas une souris cassée. J'ai essayé deux souris sur mon système - les deux présentent le problème. Ces deux souris fonctionnent très bien sur mon ordinateur portable personnel fonctionnant également sous Ubuntu 12.04.

  • Mon /etc/X11/xorg.conf ne comporte que quelques lignes et n’a pas de section "InputDevice".

  • Je n'ai pas le paquet hald ou hal installé.

  • Cela a commencé il y a environ une semaine et ne semble ni s'améliorer ni se dégrader.

  • En désespoir de cause, je viens de mettre à jour vers la version 12.10 mais cela n’a pas résolu le problème et maintenant je lance une distribution qui n’est pas une LTS (et n’est donc pas idéale pour moi: - \)

Mais cela rend mon système très difficile à utiliser.

Peut-être une mise à jour importante : j'ai essayé de faire des investigations avec xev. Il me semble que cela ressemble à une mauvaise connexion chez ces souris - est-ce courant? Je peux maintenir le bouton de la souris enfoncé et ensuite (clic de souris) (pause) (relâchement de la souris) (très courte pause) (clic de souris) (pause) (relâchement de la souris) Je me demande si par exemple d'autres systèmes d'exploitation disent "vous ne pouvez pas libérer et puis cliquez à nouveau dans les 0,05 secondes, donc cela doit avoir été un problème et je suppose que le bouton n'a jamais été libéré". Puis-je dire à Ubuntu d'ignorer les événements release-and-then-reclick-presque-instantanément ??

Cela ressemble à un problème de souris. Peut-être que je devrais creuser une nouvelle souris? Je n'ai essayé que de très vieux: - \

    
posée Kevin Buzzard 19.07.2013 - 11:01
la source

8 réponses

39

OK Après des tests approfondis avec xev sur la machine concernée, et le basculement entre différentes souris sur différents systèmes, je pense avoir résolu ce problème. Bien sûr YMMV.

Ma solution: c'est une souris cassée.

Plus précisément, le connecteur activé lorsque vous cliquez est un peu vieux ou sale, et parfois, lorsque vous maintenez le bouton enfoncé, la connexion est établie, puis momentanément interrompue, puis refaite, provoquant le double clic. / p>

Objection: Mais la souris fonctionne bien lorsque je le branche sur ma machine Windows!

Compteur: ne serait-ce pas simple de mettre dans un pilote, ou un OS, la ligne de pseudocode suivante: "si l’utilisateur débloque la souris puis clique à nouveau dans un délai de 0.05 secondes, alors , alors ignorons simplement cela ". Ainsi, n'est-il pas possible que si vous passez votre souris sur un autre ordinateur exécutant un autre système d'exploitation et / ou utilisant un autre pilote sur un matériel différent (même avec le même système d'exploitation, vous utiliseriez du matériel différent, non?) ?

Objection: Mais j'ai essayé une autre vieille souris et elle a montré le même problème!

Compteur: incroyable de voir comment deux vieilles souris de la même entreprise peuvent toutes les deux casser de la même manière, hein? Et vous n’avez jamais remarqué parce que cette deuxième vieille souris que vous avez essayée ne présentait aucun problème lorsqu’elle était branchée sur un autre matériel (voir le compteur précédent).

Si vous ne croyez vraiment pas que votre souris est cassée, alors testez-la:

$ xev

puis trouvez le carré avec le fond noir, cliquez dessus et regardez la sortie. Avez-vous toujours, toujours, un "clic" propre et rien d'autre? Je reçois souvent un clic propre mais occasionnellement un "rebond" (cliquez sur un clic pour cliquer). Encore mieux peut-être:

$ xev | grep ButtonRelease

Maintenant, placez la souris dans le carré avec le contour noir (ou n'importe où dans cette fenêtre) et cliquez et décochez 20 fois. Vous devriez obtenir une ligne "ButtonRelease" chaque fois que vous relâchez le bouton, et jamais autrement. J'en aurais parfois un quand j'ai cliqué.

Cauchemar terminé.

    
réponse donnée Kevin Buzzard 22.07.2013 - 11:40
la source
7

Maintenance du Zen et de la souris. Semble que beaucoup ont un problème avec le double clic de la souris quand un clic est appliqué. Le bouton de la souris est un micro-interrupteur. Le fait est que les contacts des interrupteurs rebondissent. Ils ne rebondissent pas mais frottent. Nous l'appellerons rebondir quand même. Pour une raison quelconque, les programmeurs ont laissé tomber la balle sur celui-ci. Une boucle d'attente de durée suffisante doit être appliquée pour que les contacts se règlent avant la lecture. À propos de rien et sur un échantillon, ma solution a été de placer un condensateur entre les contacts du commutateur. J'ai utilisé un capuchon 0.1uF pour aucune raison particulière, sauf que j'en avais un de petite taille qui s'intégrait parfaitement à la souris. Je n’ai pas fait d’analyses sophistiquées du temps d’arrêt, des constantes de temps ou des niveaux de décision pour trouver une valeur optimale. Différents modèles auront des paramètres différents de toute façon.

J'utilise cette modification depuis un certain temps et le problème n'a pas encore refait surface.

Pour appliquer le mod. Trouvez un condensateur de petites dimensions physiques qui rentre dans le boîtier de la souris. J'ai utilisé un 0.1uF parce que j'en avais un et c'est un bon nombre mais d'autres valeurs fonctionneront probablement mais ne vont pas trop grand ou trop petit. Ce qui est trop grand ou trop petit est une question d'expérimentation. Trop grand peut affecter les doubles clics prévus, trop petit n'atteindra pas l'effet souhaité. J'ai soudé une patte du capuchon à un endroit commode, où il ne tombait pas dans la structure interne de la souris, du côté cuivre de la planche, au plan 0 volt (plan de masse si vous le souhaitez). autre branche du capuchon à l’interrupteur actif avec un peu de fil fin. J'ai utilisé un composant recyclé avec des jambes courtes. Une nouvelle aura probablement des jambes assez longues pour atteindre l'endroit où elle est nécessaire. Vous aurez besoin d'un fer à souder à pointe fine approprié pour le travail.

Si vous ne connaissez pas les condensateurs. Un condensateur de 0,1 uF peut être désigné par 0,1uF ou 104 ou 100 nF ou avoir des bandes de couleur jaune brun noir. Un type de montage en surface serait également un bon choix. Accrochez-le avec quelques brins de fil fin. Pourrait le coller sur le côté de la connexion du tableau.

J'ai un plan B que je peux essayer la prochaine fois ou si le plan actuel échoue finalement. L'abaissement du micro-interrupteur pour un interrupteur à membrane tactile à montage sur circuit imprimé spst devrait résoudre le problème. C'est le type de commutateur utilisé dans les claviers et les claviers et ne présente pas ce problème. Le pied ne l’imprime pas comme le micro-interrupteur. Un interrupteur de 7mm de haut est disponible, qui viendra à la même hauteur que le micro-interrupteur existant. Un interrupteur plus petit devrait être espacé jusqu'à la bonne hauteur. Pliez les pattes à angle droit par rapport au corps du commutateur et collez-le sur le panneau de manière à ce que l’actionneur soit aligné avec la position occupée par l’actionneur du micro-interrupteur. Le bouton de la souris doit atteindre le bon endroit. Câbler les contacts de l'interrupteur avec un fil fin et tout devrait être bon en théorie.

    
réponse donnée user277786 12.02.2015 - 11:28
la source
5

J'ai construit un xserver-xorg-input-evdev corrigé pour Ubuntu 14.10. J'ai utilisé les instructions de lien (le patch peut être trouvé ici et ici ) et un manuel d’emballage Debian.

Voici mes notes concernant la création d’un package.

#!/bin/bash
# http://blog.guntram.de/?p=16
#

apt-get build-dep xserver-xorg-input-evdev

dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg"

wget --output-document=evdev-debounce.patch http://blog.guntram.de/?ddownload=20
apt-get source xserver-xorg-input-evdev

cd xserver-xorg-input-evdev-*

$dquilt new debounce.patch
$dquilt add include/evdev-properties.h src/Makefile.am src/debounce.c src/evdev.c src/evdev.h src/debounce.c
patch -p1 <../evdev-debounce.patch

$dquilt refresh
$dquilt header -e

debuild -us -uc -b
cd ..

sudo dpkg -i xserver-xorg-input-evdev_*.deb
  • Bonne nouvelle: ça a marché.
  • Mauvaise nouvelle: ça n'aide pas toujours. Mon contact avec le bouton de la souris était tellement mauvais qu'il a fallu un délai de 200 ms, ce qui m'empêche de double-cliquer. Une autre souris a fonctionné.

Merci @MatijaNalis, les étapes d'obtention du correctif pourraient être:

wget https://aur.archlinux.org/packages/xf/xf86-input-evdev-debounce/xf86-input-evdev-debounce.tar.gz
tar xzf xf86-input-evdev-debounce.tar.gz
# ...
patch -p1 < ..xf86-input-evdev-debounce/debounce.patch
    
réponse donnée Victor Sergienko 01.05.2015 - 18:22
la source
3

Le problème expliqué ici: lien
 - filtrage par rebond de contact. Le logiciel doit être présent dans n'importe quelle application, des simples ordinateurs à carte unique aux systèmes d'exploitation, sous une forme ou une autre.

lien

À mesure que les contacts / boutons vieillissent, l’effet s’aggravera. WD40 n'est peut-être pas le meilleur spray à utiliser sur les appareils électroniques, il y en a d'autres plus adaptés. Google 'Contact spray'.

    
réponse donnée Hannu 27.06.2014 - 21:32
la source
2

Il y a un bogue logiciel et depuis juin 2014, il n'y a pas de solution. Cela ne se produit pas sur tous les modèles de souris. Mes souris logitech vont bien mais la plupart des autres échouent, peu importe ce que vous faites. Ceci est pour RHEL, CentOS et Ubuntu. Toutes les souris fonctionnent sur des boîtiers Windows purs, mais le même problème existe dans les KVM.

Pas encore de solution, les développeurs le savent.

Bravo. Don.

    
réponse donnée Don 27.06.2014 - 20:23
la source
1

Spray WD40 est magique pour de nombreux problèmes, y compris la roue de volume dans les écouteurs avec des bruits rac rac, également pour réparer ce problème de clics de souris ...

Test, est un très rapide, pas besoin d'ouvrir la souris ou d'ouvrir le casque, pulvériser et aller bien une autre fois ...

    
réponse donnée user259941 19.03.2014 - 16:48
la source
1

Dans mon cas, c’était du matériel ou, plus précisément, un problème mécanique avec le micro-bouton du bouton de la souris.

J'ai eu ce problème avec 2 souris: l'ancienne Logitech m-uv69 et une autre souris que j'ai achetée il y a environ un an et j'ai réussi à les réparer toutes les deux sans trop d'effort. C'est ce que j'ai fait:

  • a enlevé le capot supérieur de la souris
  • directement poussé petit bouton micro-interrupteur rapidement plusieurs fois

Après cela, presque tous les doubleclicks involontaires ont disparu. Je ne sais pas ce qui les a provoqués à l'intérieur du micro-interrupteur. Il est probable qu’il est devenu sale ou quelque chose et le pousser rapidement fait disparaître la saleté.

    
réponse donnée ks1322 14.10.2017 - 20:33
la source
0

J'ai eu un problème avec un bouton supplémentaire en cliquant deux fois. Comme je l'avais déjà mappé avec xbindkeys (voir Comment puis-je attribuer des actions à tous mes boutons de la souris? pour plus d'informations à ce sujet) ma solution modifiait l'entrée dans ~/.xbindkeysrc comme suit:

"if [ ! -e /dev/shm/button ]; then touch /dev/shm/button; /usr/bin/xte 'keydown Control_L' 'key Page_Down' 'keyup Control_L'; sleep 0.2; rm  /dev/shm/button; fi"
b:7

Cela crée un "fichier de verrouillage" pour chaque pression sur un bouton dans /dev/shm/ (ce qui, je l’espère, repose sur la RAM) et le supprime après 0,2 seconde. Et la commande xte doit être effectuée en un clic de souris et ne doit pas être effectuée deux fois en 0,2 seconde.

(Je pensais juste que je partagerais ma solution au cas où quelqu'un voudrait le copier ou le corriger.)

    
réponse donnée pirad 21.03.2018 - 16:25
la source

Lire d'autres questions sur les étiquettes