czasami klikam dwukrotnie, kiedy klikam raz

39

Mam problem, który staje się koszmarem, do tego stopnia, że ​​myślę, że łatwiej byłoby po prostu całkowicie zeskrobać Ubuntu i spróbować czegoś innego. Mam komputer HP z systemem Ubuntu 12.04. Kiedy klikam lewym przyciskiem myszy, czasami dwukrotnie klikają (może 50% czasu).

Do tej pory doprowadziło to do: losowego wysyłania niedokończonych wiadomości e-mail, losowego wyróżniania i usuwania rzeczy, których nie chciałem usuwać podczas pisania wiadomości e-mail ( bardzo frustrujące), losowego usuwania dwóch kart przeglądarki zamiast jednej (kilka razy) i (w pewnym sensie najbardziej denerwujące) bardzo frustrujące doświadczenie użytkownika końcowego podczas próby przenoszenia okien na pulpicie lub wycinania i wklejania z okna terminalu. Dzięki Bogu za Alt- F7- ale nie chcę uczyć się skrótów klawiaturowych dla każdego programu, którego używam, a także dla systemu operacyjnego (a niemożność kopiowania i wklejania to dla mnie wielka strata).

Nie jestem jedyną osobą z tym problemem, ale googling wskazuje, że może być wiele przyczyn tego problemu; żadna z poprawek, które przeczytałem online, nie działała dla mnie. Pozwól mi przejść przez wszystko, w tym poprawki, które działały dla innych ludzi, ale nie dla mnie. Och - mam mysz optyczną hp.

  • To nie jest zepsuta mysz. Próbowałem dwóch myszy w moim systemie - oba wykazują problem. Obie te myszy działają dobrze na moim domowym laptopie, również z systemem Ubuntu 12.04.

  • Mój /etc/X11/xorg.confma tylko kilka linii i nie ma sekcji „InputDevice”.

  • Nie mam zainstalowanego pakietu Hald lub Hal.

  • Zaczęło się około tygodnia temu i wydaje się, że nie poprawia się ani nie pogarsza.

  • W desperacji właśnie uaktualniłem do 12.10, ale to nie rozwiązało problemu, a teraz prowadzę dystrybucję, która nie jest LTS (a zatem nie jest dla mnie idealna: - \)

Ale sprawia, że ​​mój system jest bardzo trudny w użyciu.

Prawdopodobnie ważna aktualizacja : próbowałem przeprowadzić dochodzenie w sprawie xev. Wydaje mi się, że u myszy wygląda to na złe połączenie - czy to jest powszechne? Mogę przytrzymać przycisk myszy, a następnie uzyskać (kliknięcie myszą) (pauza) (zwolnienie myszy) (bardzo bardzo krótka pauza) (kliknięcie myszą) (pauza) (zwolnienie myszy) (bardzo bardzo krótka pauza) (kliknięcie myszą) itp. Zastanawiam się, czy np. Inne systemy operacyjne mówią „nie można zwolnić, a następnie kliknąć ponownie w ciągu 0,05 sekundy, więc to musiała być usterka i założę, że przycisk nigdy nie został zwolniony”. Czy mogę powiedzieć Ubuntu, aby zignorował zdarzenia związane z wydaniem, a następnie ponownym kliknięciem prawie natychmiast?

To wygląda na zły problem z myszą. Może powinienem wykopać nowszą mysz? Próbowałem tylko bardzo starych: - \

Kevin Buzzard
źródło
czy zgłosiłeś to jako błąd na starterze?
Alvar,
Czy pamiętasz, co wydarzyło się tydzień temu, kiedy to wszystko się zaczęło?
hytromo
To, co wydarzyło się tydzień temu, dzieje się dokładnie co tydzień - po prostu klikam „zainstaluj aktualizacje”, a czasami „restartuję komputer, aby zakończyć instalację”. Ten system jest od razu po wyjęciu z pudełka - myślę, że jedynymi zainstalowanymi przeze mnie pakietami innymi niż te, które są tam domyślnie, było kilka potrzebnych do uruchomienia Sparkleshare.
Kevin Buzzard
@Alvar: wydaje się, że na starterze istnieje błąd co do tego błędu. Moje ogólne wrażenie jest takie, że niektórzy ludzie dostają ten problem, a problem polega na tym, że ich mysz jest zepsuta, niektórzy dostają ten problem, a problemem jest jakiś sterownik logitech, a niektórzy dostają ten problem, a problem jest gdzie indziej. Spróbuję to zgłosić i zmniejszyć hałas ...
Kevin Buzzard,
Uderzyłem w związany z tym problem, który moim zdaniem był zepsutą myszą w połączeniu z gestami firefox, ale okazało się, że to boczne przyciski myszy robią „firefox back”
Matija Nalis

Odpowiedzi:

47

OK po obszernych testach przy użyciu xev na zainfekowanej maszynie i przełączaniu się między różnymi myszami w różnych systemach, wydaje mi się, że rozwiązałem ten problem. Oczywiście YMMV.

Moje rozwiązanie: to zepsuta mysz.

Mówiąc dokładniej, złącze aktywowane po kliknięciu jest nieco stare lub brudne lub coś, a czasami, gdy przytrzymujesz przycisk, połączenie jest ustanawiane, a następnie chwilowo przerywane, a następnie ponownie wykonywane, powodując podwójne kliknięcie.


Sprzeciw: Ale mysz działa dobrze po podłączeniu jej do komputera z systemem Windows!

Licznik: czy nie byłoby trywialne umieszczenie w sterowniku lub systemie operacyjnym następującej linii pseudokodu: „jeśli użytkownik usunie mysz, a następnie kliknie ją ponownie w ciągu 0,05 sekundy, to prawdopodobnie jest to brudne złącze, więc po prostu zignoruj ​​to ". Czy zatem nie jest możliwe, że jeśli zmienisz mysz na inny komputer z innym systemem operacyjnym i / lub używasz innego sterownika na innym sprzęcie (nawet z tym samym systemem operacyjnym możesz równie dobrze używać innego sprzętu, prawda?), Możesz uzyskać różne wyniki ?

Sprzeciw: Ale spróbowałem innej starej myszy, która wykazała ten sam problem!

Licznik: niesamowite, jak dwie stare myszy z tej samej firmy mogą się złamać w ten sam sposób, co? I nigdy tego nie zauważyłeś, ponieważ ta druga stara mysz, której próbowałeś, nie wykazywała problemów po podłączeniu do innego sprzętu (patrz poprzedni licznik).


Jeśli naprawdę nie uważasz, że Twoja mysz jest zepsuta, przetestuj ją:

$ xev

a następnie znajdź kwadrat z czarnym tłem, kliknij w niego i obserwuj wynik. Czy na pewno zawsze dostajesz jedno „kliknięcie” i nic więcej? Często otrzymywałem czyste kliknięcie, ale czasami „odbicie” (kliknięcie, kliknięcie, kliknięcie). Może nawet lepiej:

$ xev | grep ButtonRelease

Teraz wsuń mysz do kwadratu z czarnym konturem (lub gdziekolwiek w tym oknie) i kliknij i odznacz 20 razy. Powinieneś dostać linię „ButtonRelease” za każdym razem, gdy zwalniasz przycisk, i nigdy inaczej. Od czasu do czasu dostawałem jeden, gdy kliknąłem.

Koszmar się skończył.

Kevin Buzzard
źródło
Mam dwie identyczne myszy, z którymi ostatnio zauważyłem nieoczekiwane kliknięcie, i nie jestem pewien, czy obie po prostu „zużyły się” w tym samym tygodniu. Twój xevtest nie dał mi nic niezwykłego, ale muszę się zastanawiać, czy jest w tym coś więcej?
Tom Brossman
Zgadza się - bardzo podejrzewałem, że mam dwie myszy i żadna z nich nie pracuje na jednej maszynie, a obie na innej. Jestem pewien, że są ludzie, którzy wierzą, że naprawdę istnieje problem inny niż „wszystkie myszy zepsute i system operacyjny nie kompensuje go tak dobrze, jak inne systemy operacyjne”. Z drugiej strony zdecydowanie wskoczyłem dziś rano na statek - mój system znów działa i byłem przekonany w zeszłym tygodniu, że mysz nie może stanowić problemu, ale dla mnie tak naprawdę było.
Kevin Buzzard
2
Spędziłem ze mną dobre 5-10 minut, grając z xev i oglądając wyjście. Ciągłe klikanie i odznaczanie itp. Itd. - A potem od czasu do czasu otrzymuję nieoczekiwane odznaczenia, gdy nie odznaczałem. Powiem też, że spojrzenie na wynik xev w oknie terminala 80x24 może być bardzo mylące, ponieważ „kliknięcie odznaczenia” może spowodować, że cała strona zostanie wyświetlona przez xev, a kliknięcie odznaczenia nastąpi wystarczająco szybko (co miało miejsce w moim przypadku), możesz nawet nie zauważyć wyjścia xev, ponieważ jest ono prawie identyczne jak na poprzedniej stronie.
Kevin Buzzard
7
Jeszcze lepiej xev | awk '/ButtonRelease/ {print $1,i++}'.
arekolek
Dla mnie objawia się to jako „przycisk 3” (prawy przycisk myszy) wysyłający od czasu do czasu sygnał, gdy przewijam kółko myszy w górę. Dziwaczny.
carbocation
9

Konserwacja Zen i myszy. Wydaje się, że wiele osób ma problem z dwukrotnym kliknięciem myszy po zastosowaniu jednego kliknięcia. Przycisk myszy to mikroprzełącznik. Faktem jest, że kontakty przełączają się odbijają. W rzeczywistości nie odbijają się, ale pocierają. W każdym razie nazwiemy to odbiciem. Z jakiegoś powodu programiści upuścili piłkę. Należy zastosować pętlę oczekiwania o wystarczającym czasie trwania, aby kontakty się ustabilizowały przed odczytem. A propos niczego i na próbce jednego z moich rozwiązań było umieszczenie kondensatora na stykach przełącznika. Użyłem czapki 0,1 uF bez konkretnego powodu, oprócz tego, że miałem mały rozmiar, który ładnie zmieściłby się w myszy. Nie przeprowadziłem żadnych fantazyjnych analiz czasu przebywania, stałych czasowych ani poziomów decyzyjnych w celu znalezienia optymalnej wartości. Różne modele i tak będą miały różne parametry.

Używam tej modyfikacji od jakiegoś czasu i problem nie pojawił się do tej pory.

Aby zastosować mod. Znajdź kondensator o małych wymiarach fizycznych, który będzie pasował do obudowy myszy. Użyłem 0,1 uF, ponieważ miałem jeden i jest to niezła liczba, ale inne wartości prawdopodobnie będą działać, ale nie będą zbyt duże lub zbyt małe. To, co jest za duże lub za małe, należy poddać eksperymentowi. Zbyt duży może wpływać na zamierzone podwójne kliknięcia, zbyt mały nie osiągnie pożądanego efektu. Przylutowałem jedną nogę czapki w dogodnym miejscu, gdzie nie popsuła wewnętrznej struktury myszy, po miedzianej stronie płytki, do płaszczyzny 0 woltów (płaszczyzna uziemienia, jeśli chcesz). druga noga czapki do przełącznika aktywna z odrobiną cienkiego drutu. Użyłem elementu z recyklingu o krótkich nogach. Nowy prawdopodobnie miałby wystarczająco długie nogi, aby sięgnąć tam, gdzie jest potrzebny. Do pracy będziesz potrzebować odpowiedniej drobnej lutownicy.

Jeśli nie znasz kondensatorów. Kondensator 0,1 uF może być oznaczony jako 0,1 uF lub 104 lub 100 nF lub może mieć brązowo-czarny żółty pasek. Dobrym wyborem byłby również rodzaj montażu powierzchniowego. Zahacz go kilkoma pasmami cienkiego drutu. Może przykleić go do złącza płyty do góry.

Mam plan B, który mogę wypróbować następnym razem lub jeśli obecny plan w końcu się nie powiedzie. Porzucenie mikroprzełącznika dotykowego przełącznika membranowego spst do montażu na płytce drukowanej powinno rozwiązać problem. Jest to typ przełącznika używanego w klawiaturach i klawiaturach i nie wykazuje tego problemu. Stopa drukuje to niczym mikroprzełącznik. Dostępny jest przełącznik o wysokości 7 mm, który wejdzie na tej samej wysokości, co istniejący mikroprzełącznik. Mniejszy przełącznik musiałby być rozmieszczony na odpowiedniej wysokości. Zegnij nogi pod kątem prostym do korpusu przełącznika i przyklej go do płyty, aby siłownik wyrównał się z pozycją zajmowaną przez siłownik mikroprzełącznika. Przycisk myszy musi trafić we właściwe miejsce. Podłącz styki przełącznika za pomocą cienkiego drutu i wszystko powinno być dobre w teorii.

użytkownik277786
źródło
5
Chociaż twoja odpowiedź jest w 100% poprawna, jest to witryna z pytaniami dotyczącymi oprogramowania, a nie ze sprzętowymi pytaniami i odpowiedziami. Więc proszę: 1 / dodaj godne uwagi ostrzeżenie, że dajesz rozwiązanie HW dla problemu SW, 2 / skróć swoją odpowiedź 3 / Dodaj kilka linków do zdjęć, jak to zrobić 4 / To µF, nie uF.
Fabby
@ Fabby Twoje sugestie (1) i (3) są doskonałe, ale nie tak bardzo z (2), a (3) jest małostkowe / niepotrzebne. Wygląda również trochę nieco zwięźle / zwięźle. Powinieneś postarać się być przyjazny dla nowych użytkowników! :)
@Joe 1 / Spójrz na głosy za komentarzem. 2 / Tak, to styl telegramu bez żadnych subtelności, więc mogłoby być lepiej. W mojej obronie: jestem Vorlonem , a nie człowiekiem i wciąż pracuję nad moją empatią ... ;-)
Fabby
9

Zbudowałem łatkę xserver-xorg-input-evdevdla Ubuntu 14.10. Skorzystałem z instrukcji z http://blog.guntram.de/?p=16 (łatkę można znaleźć tutaj i tutaj ) oraz instrukcji pakowania Debiana.

Oto moje uwagi na temat budowania pakietu.

#!/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
  • Dobra wiadomość: działało.
  • Złe wieści: nie zawsze to pomaga. Mój kontakt z przyciskiem myszy był tak zły, że potrzebowałem 200 ms opóźnienia, co powstrzymuje mnie od podwójnego kliknięcia. Kolejna podskakująca mysz zaczęła działać dobrze.

edycja : Dzięki @MatijaNalis, kroki uzyskania łatki mogą być:

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
Victor Sergienko
źródło
1
skrypt wymaga zmiany - „dquilt new” tęskni „$”, „patch” powinien znajdować się po „$ dquilt add”, a przed „$ dquilt refresh”, a łatka na blog.guntram.de jest stara, należy użyć innej z aura .archlinux.org. należy również dodać „apt-get build-dep xserver-xorg-input-evdev”. Powinny również używać zmiennych środowiskowych pikowania zamiast (nieokreślonych) plików konfiguracyjnych - wiki.debian.org/UsingQuilt . W przeciwnym razie wygląda na świetne obejście złamanej myszy ...
Matija Nalis,
3
Do biblioteki libinput 1.9 dodano funkcję ogłaszania ( unix.stackexchange.com/a/451864/116842 ).
Jérôme
5

Problem wyjaśniony przez Jacka Ganssle'a tutaj: http://www.eng.utah.edu/~cs5780/debouncing.pdf
- filtrowanie odrzuceń kontaktów. Oprogramowanie musi być dostępne w dowolnej aplikacji, od prostych komputerów jednopłytkowych po systemy operacyjne, w jakiejś formie.

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

W miarę starzenia się kontaktów / przycisków efekt będzie się pogarszał. WD40 może nie być najlepszym sprayem do zastosowania w elektronice, są też inne bardziej odpowiednie. Google „Spray kontaktowy”.

Hannu
źródło
4

Miałem problem z dwukrotnym kliknięciem dodatkowego przycisku. Ponieważ już go zmapowałem xbindkeys(patrz Jak przypisać akcje do wszystkich przycisków myszy? Aby uzyskać więcej informacji na ten temat), moje rozwiązanie zmieniało wpis w ~/.xbindkeysrcnastępujący sposób:

"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

To tworzy „plik blokujący” dla każdego naciśnięcia przycisku /dev/shm/(który mam nadzieję, że leży w pamięci RAM) i usuwa go po 0,2 sekundy. A xtepolecenie zostanie wykonane na kliknięcie myszką i nie przeprowadza się dwukrotnie w 0,2 sekundy.

(Pomyślałem, że podzielę się moim rozwiązaniem, na wypadek, gdyby ktoś chciał go skopiować lub naprawić).

pirad
źródło
To doskonałe rozwiązanie w przypadkach, gdy mysz wysyła ciągły strumień zdarzeń ButtonPress / ButtonRelease, ale chcesz przekonwertować je na pojedyncze zdarzenie. Dzieje się tak np. Z myszą Microsoft Bluetooth i przyciskami kółka przechylania.
Lew Aleksiejjew
2

Wystąpił błąd oprogramowania i od czerwca 2014 r. Nie ma poprawki. Nie dzieje się tak we wszystkich modułach myszy. Moje myszy Logitech mają się dobrze, ale większość innych zawodzi, bez względu na to, co robisz. Dotyczy to RHEL, CentOS i Ubuntu. Wszystkie myszy działają na czystych oknach Windows, ale ten sam problem występuje w KVM

Nie ma jeszcze rozwiązania, programiści wiedzą o tym.

Twoje zdrowie. Don.

Don
źródło
1
Czy możesz dodać link do błędu i podać trochę informacji na jego temat?
Oli
1
Jak widać z innych odpowiedzi (i raportu o błędzie), tak naprawdę nie jest to błąd, ale raczej brakująca funkcja. Windows domyślnie ogłasza filtrowanie myszy, podczas gdy Linux nie.
Hjulle,
1

Spray WD40 to magia na wiele problemów, w tym pokrętło głośności w słuchawkach z odgłosami rac rac rac, a także do naprawy tego problemu kliknięć myszą…

Test jest bardzo szybki, nie trzeba otwierać myszy ani słuchawek, rozpylać i iść dobrze innym razem…

użytkownik259941
źródło
1

W moim przypadku był to sprzęt, a ściślej jakiś problem mechaniczny z mikroprzełącznikiem przycisku myszy.

Miałem ten problem z 2 myszami: starą Logitech m-uv69 i inną myszką, którą kupiłem około rok temu i udało mi się naprawić obie bez większego wysiłku. Oto co zrobiłem:

  • zdjąłem górną pokrywę myszy
  • bezpośrednio kilkakrotnie szybko pchnął mikroprzełącznik mały przycisk

Po tym prawie wszystkie niezamierzone kliknięcia zniknęły. Nie wiem, co dokładnie spowodowało je w mikroprzełączniku. Prawdopodobnie ubrudziło się lub coś, a szybkie popchnięcie powoduje, że brud znika.

ks1322
źródło