49 votes

la souris fait parfois des doubles clics lorsque je clique une seule fois

J'ai un problème qui devient un cauchemar, à tel point que je me dis qu'il serait peut-être plus simple d'abandonner complètement Ubuntu et d'essayer quelque chose d'autre. J'ai un PC HP sous Ubuntu 12.04. Lorsque je fais un clic gauche avec ma souris, il arrive qu'elle fasse un double clic (environ 50 % du temps).

Jusqu'à présent, cela s'est traduit par : l'envoi aléatoire d'e-mails inachevés, la mise en évidence et la suppression aléatoires de choses que je ne voulais pas supprimer lors de la rédaction d'e-mails ( très frustrant), la suppression aléatoire de deux onglets de navigateur au lieu d'un (plusieurs fois), et (dans un certain sens le plus ennuyeux) une expérience très très frustrante pour l'utilisateur final lorsqu'il tente de déplacer Windows sur le bureau ou de faire un copier-coller à partir d'une fenêtre de terminal. Dieu merci, le Alt - F7 - mais je ne veux pas avoir à apprendre des 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 la seule personne à avoir ce problème, mais une recherche sur Google indique qu'il peut y avoir plusieurs raisons à cela ; aucune des solutions que j'ai lues en ligne n'a fonctionné pour moi. Je vais passer en revue toutes les solutions, y compris celles qui ont fonctionné pour d'autres personnes, mais pas pour moi. 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 même problème. Ces deux souris fonctionnent parfaitement sur mon ordinateur portable personnel, qui tourne é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 installé hald, ni le paquet hal.

  • Cela a commencé il y a environ une semaine, et ne semble ni s'améliorer ni empirer.

  • En désespoir de cause, je suis passé à la version 12.10, mais cela n'a pas résolu le problème et j'utilise maintenant une distro qui n'est pas une LTS (et qui n'est donc pas idéale pour moi :-\ ).

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

Mise à jour éventuellement importante : J'ai essayé de faire quelques recherches avec xev. Il me semble qu'il s'agit d'une mauvaise connexion dans ces souris - est-ce courant ? Je peux maintenir le bouton de la souris enfoncé, puis obtenir (clic de souris) (pause) (relâchement de la souris) (très très courte pause) (clic de souris) (pause) (relâchement de la souris) (très très courte pause) (clic de souris), etc. Je me demande si, par exemple, d'autres systèmes d'exploitation disent "on ne peut pas relâcher la souris et cliquer à nouveau dans les 0,05 secondes, il doit donc s'agir d'un problème et je suppose que le bouton n'a jamais été relâché". Puis-je dire à Ubuntu d'ignorer les événements de relâchement et de re-clic presque instantané ?

Cela ressemble à un problème de souris défectueuse. Peut-être devrais-je trouver une souris plus récente ? Je n'ai essayé que de très vieilles souris :-\N

56voto

Dr. Julie Points 351

OK, après de nombreux tests utilisant xev sur la machine concernée, et en passant d'une souris à l'autre 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é lors du clic est un peu vieux ou sale, et parfois, en maintenant le bouton enfoncé, la connexion est établie, puis momentanément interrompue, puis établie à nouveau, ce qui provoque le double clic.


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

Comptoir : Ne serait-il pas trivial de mettre dans un pilote, ou un système d'exploitation, la ligne de pseudocode suivante : "si l'utilisateur décoche la souris puis la recolle dans les 0,05 secondes, il s'agit probablement d'un connecteur sale, alors ignorons-le". Par conséquent, n'est-il pas possible que si vous transférez votre souris sur un autre ordinateur fonctionnant sous 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 pouvez très bien utiliser un matériel différent, n'est-ce pas ?

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

Compteur : étonnant que deux vieilles souris de la même entreprise puissent se casser de la même façon, hein ? Et vous ne l'avez jamais remarqué parce que la 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 pensez vraiment pas que votre souris est cassée, testez-la :

$ xev

puis trouvez le carré avec le fond noir, cliquez dessus et observez le résultat. Obtenez-vous toujours un "clic" net et rien d'autre ? J'obtenais souvent un clic net, mais parfois un "rebond" (clic-déclic-clic). C'est peut-être encore mieux :

$ xev | grep ButtonRelease

Placez maintenant la souris dans le carré au contour noir (ou n'importe où dans cette fenêtre) et cliquez et décliquez 20 fois. Vous devriez obtenir une ligne "ButtonRelease" chaque fois que vous relâchez le bouton, et jamais autrement. Il m'arrivait d'en obtenir une lorsque je cliquais.

Fin du cauchemar.

9voto

Pieter Points 375

J'ai construit une version corrigée de xserver-xorg-input-evdev pour Ubuntu 14.10. J'ai utilisé les instructions de http://blog.guntram.de/?p=16 (le correctif peut être trouvé aquí y aquí ) et un manuel d'empaquetage Debian.

Voici mes notes sur la construction d'un paquet.

#!/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 : cela a fonctionné.
  • Mauvaise nouvelle : cela ne sert pas toujours à grand-chose. Mon contact avec le bouton de la souris était si mauvais qu'il nécessitait un délai de 200 ms, ce qui m'empêche de double-cliquer. Une autre souris rebondissante a commencé à fonctionner correctement.

éditer : Merci @MatijaNalis, les étapes d'obtention du patch 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

5voto

William Whyte Points 1036

Le problème, expliqué par Jack Ganssle, ici : http://www.eng.utah.edu/~cs5780/debouncing.pdf
- le filtrage des rebonds de contact. Le logiciel doit être présent sous une forme ou une autre dans toutes les applications, qu'il s'agisse d'un simple ordinateur monocarte ou d'un système d'exploitation.

https://www.google.se/?gfe_rd=cr&safe=off#q=%2Bcontact+%2Bbounce+%2Bsoftware&safe=off

Au fur et à mesure que les contacts / boutons vieillissent, l'effet s'aggrave. Le WD40 n'est peut-être pas le meilleur spray à utiliser sur l'électronique, il en existe d'autres qui conviennent mieux. Google 'Contact spray'.

4voto

Alex Marshall Points 2931

J'ai eu un problème avec un bouton supplémentaire qui cliquait deux fois. Comme je l'avais déjà mappé avec xbindkeys (voir Comment attribuer des actions à tous les boutons de ma souris ? pour plus d'informations à ce sujet), ma solution a consisté à modifier l'entrée dans le fichier ~/.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 d'un bouton dans le /dev/shm/ (qui, je l'espère, se trouve dans la mémoire vive) et l'enlève après 0,2 seconde. Et les xte doit être effectuée par un clic de souris et ne doit pas être exécutée deux fois en l'espace de 0,2 seconde.

(Je pensais juste partager ma solution, au cas où quelqu'un voudrait la copier ou la corriger).

2voto

user259941 Points 21

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

Le test est très rapide, pas besoin d'ouvrir la souris ou les écouteurs, on pulvérise et on repart bien une autre fois

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X