TEILEN

Läuft eure Maus auch gerne einmal Amok? Nicht, dass der digitale Nager zu den Waffen greifen würde, aber das System registriert beispielsweise einfache Mausklicks gerne als Doppelklick? Oder Doppelklicks auf ein Wort markieren gleich den kompletten Absatz, werden also als Dreifachklicks erkannt. Mit einem Mausklick auf die Fensterleiste maximiert ihr das Fenster: Und so weiter und so fort. Diese Unregelmäßigkeiten treiben mich aktuell auf meinem Hauptsystem in den Wahnsinn. Kann man sich auf eine ordentliche Erkennung von Mausklicks nicht verlassen, werden Bildbearbeitung, Texte schreiben, Drag&Drop-Aktionen zur Qual. Zahlreiche Linuxer klagen über dieses Problem, Abhilfe schafft eventuell ein Patch, der es seit Jahren nicht in den Xserver schafft.

Schaut man sich im Netz ein wenig nach Suchbegriffen wie Mouse Double Click um, dann findet man schnell heraus, dass man mit diesem Problem nicht alleine dasteht. Schuld daran ist oft einfach nur eine schrottige und verranzte Maus, doch meine Logitech Anywhere MX ist gerade mal ein Jahr und ein paar Monate alt und das Problem tritt schon bei einem zweiten baugleichen Modell auf. Ich hatte auch schon Interferenzen mit den USB 3.0 Ports in Verdacht, doch egal in welchen USB-Port des Rechners ich diesmal den 2,4-GHz-Receiver der schnurlosen Maus stecke, das Verhalten bleibt seit einigen Monaten gleich: Der Mauszeiger fährt präzise über den Bildschirm, doch Mausklicks möchte das System einfach nicht sauber registrieren.

Maus und Empfänger können so nah wie möglich zueinander stehen, das Auto-Doubleclick-Problem bekommt man nur mein einem Patch in den Griff.
Maus und Empfänger können so nah wie möglich zueinander stehen, das Auto-Doubleclick-Problem bekommt man nur mein einem Patch in den Griff.

Schränkt man die Suche nach dem Problem auf Linux oder Ubuntu ein, lichtet sich der Nebel langsam: Der Suchbegriff Ubuntu Debounce Mouse führt nicht nur zu diversen Beiträgen auf Ask Ubuntu oder Launchpad, zum Teil sind die Beiträge schon Jahre alt, sondern auch zum Blog von Guntram Blohm. Er beschreibt exakt dasselbe Auto-Doubleclick-Problem, das bei ihm nicht nur mit einer Billig-Maus auftritt, sondern an einem zweiten Rechner auch bei einer teuren Gamer-Maus passiert.

Das Gute: Er hat einen Patch ausgegraben, mit dem sich das Problem halbwegs abstellen lässt, indem der Xserver nach einem Mausklicks für einen kurzen Moment keine weiteren Klicks mehr registriert — trotz des Alters von 4 Jahren funktioniert der Patch auch mit einem aktuellen Xserver. Aufgrund der mit der Implementation des Patches in den Quellcode nötigen Arbeit und Testaufwände, fand sich jedoch bisher kein Xserver-Entwickler, der den Patch in den Quellcode aufnehmen mochte.

Das Linux-Debouncing-Problem

Erst einmal solltet ihr prüfen, ob ihr wirklich von dem Auto-Doubleclick-Problem betroffen seid — Ich denke, ihr werdet es wissen, aber man kann das wirklich auch gut austesten. Ruft dazu xev auf und schaut euch die ButtonRelease-Events beim Klicken mit der Maus an. Erscheinen bei einem Mausklick oder beim Gedrückthalten der Maus (um Drag&Drop zu simulieren) zwei oder mehr Zeilen im Terminalfenster, dann erzeugt eure Maus bei einem Klick mehr als nur einen Event; ergo registriert das Betriebssystem einen (hier nicht gewünschten) Doppelklick.

Xev gibt euch die vom Xserver generierten Events bei Mausaktionen aus.
Xev gibt euch die vom Xserver generierten Events bei Mausaktionen aus.
$ xev | grep ButtonRelease
ButtonRelease event, serial 36, synthetic NO, window 0x1e00001,
ButtonRelease event, serial 36, synthetic NO, window 0x1e00001,
[...]

Unter Arch lässt sich der Patch über xf86-input-evdev-debounce sehr leicht aus dem AUR installieren. Hinweise für das Bauen des Patches aus dem Quellcode findet ihr beispielsweise jedoch auch bei Guntram. Beim Einspielen werden ihr feststellen, dass das Paket mit xf86-input-evdev im Konflikt steht, da ihr ja die gepatchte Version haben wollt, müsst ihr das ursprüngliche Paket deinstallieren. Danach sollte die Installation eigentlich problemlos durchlaufen. Damit das neue Eingabemodul aktiv wird, müsst ihr euch danach einmal aus- und wieder neu einloggen — oder gleich den Rechner einmal neu starten.

$ pacaur -S xf86-input-evdev-debounce
:: Paket(e) xf86-input-evdev-debounce wurde in den offiziellen Paketquellen nicht gefunden, suche im AUR...
:: Löse Abhängigkeiten auf...
:: Suche nach Zwischenkonflikten...
:: xf86-input-evdev-debounce und xf86-input-evdev stehen in Konflikt (xf86-input-evdev). Entferne xf86-input-evdev? [j/N]

Danach müsst ihr die ID des betroffenen Eingabegeräts herausfinden. Schmeißt dazu wieder ein Terminal an und lasst euch von xinput alle am System angeschlossenen Eingabegeräte ausgeben. In meinem Fall hat die „Logitech Anywhere MX“ die ID 9 zugewiesen bekommen — diese nutze ich jetzt in den weiteren Beispielen. Mit dieser ID könnt ihr die registrierten Klicks nun noch besser testen. Gebt dazu den nächsten Befehl ein (vergesst nicht die ID anzupassen) und führt ihn aus. Pro Mausklick (ohne Unterscheidung zwischen links und rechts) zählt das Kommando einen Zähler hoch, mit [Strg]+[C] brecht ihr das Kommando wieder ab.

$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
[...]
⎜ ↳ Logitech Anywhere MX id=9 [slave pointer (2)]
⎜ ↳ Logitech K800 id=10 [slave pointer (2)]
[...]
$ xinput test 9 | awk 'BEGIN { count=0 } /release/ { count=count+1; printf "\r%-6d", count }'
1.....10....xxx

Mit der ID könnt ihr euch nun an den eigentlich Patch machen. Mit xinput --list-props [id] bekommt ihr die aktuelle Verzögerung als „Evdev Debounce Delay“ zusammen mit einer Property-Nummer angezeigt. Mit diesen Informationen übergibt ihr Xinput mit --format=32 [ID] [Property-ID] [Verzögerung] das von euch gewünschte Zeitfenster, in dem keine Mausklicks registriert werden sollen. Ob das Kommando Erfolg hatte, könnt ihr umgehend testen, indem ihr euch wieder das Debounce Delay anzeigen lasst. Den richtigen Wert müsst ihr durch ausprobieren herausfinden. Tragt ihr einen zu hohen Wert ein, registriert das Systeme auch schnelle „echte“ Doppelklicks nicht mehr.

$ xinput --list-props 9 | grep Debounce
Evdev Debounce Delay (287): 50
$ xinput --set-prop --type=int --format=32 9 287 80
$ xinput --list-props 9 | grep Debounce
Evdev Debounce Delay (287): 80

Wenn die Maus zweimal klickt

Die nun getroffenen Einstellungen sind nicht fest im System verdrahtet. Spätestens beim nächsten Neustart müsstet ihr das Kommando wieder neu eingeben. Um das zu vermeiden, könnt ihr in der Konfigurationsdatei ~/.xprofile oder global in der zu erstellenden Datei /usr/share/X11/xorg.conf.d/12-evdev-debounce.conf das gewünschte Debounce Delay eintragen. Die erste Variante gilt nur für euren Benutzer, die Zweite würde das Delay systemweit und somit für alle Nutzer des Systems automatisch beim Starten des Rechners einrichten.

Section "InputClass"
Identifier "evdev pointer debounce"
MatchIsPointer "on"
MatchDriver "evdev"
Option "DebounceDelay" "80"
EndSection

Sollte euch der Patch stören oder nicht mehr notwendig sein, dann installiert einfach wieder nur das ursprüngliche Input-Modul xf86-input-evdev und löscht die ~/.xprofile aus eurem Homeverzeichnis oder die systemweit gültige Konfigurationsdatei 12-evdev-debounce.conf aus /usr/share/X11/xorg.conf.d. Bei der Neuinstallation von Xf86-input-evdev entfernt die Paketverwaltung — zumindest unter Arch — automatisch wieder das gepatchte Paket. Nach einem Neustart des Xservers ist dann automatisch wieder alles beim Alten.

$ pacman -S xf86-input-evdev
Löse Abhängigkeiten auf...
Suche nach in Konflikt stehenden Paketen...
:: xf86-input-evdev und xf86-input-evdev-debounce stehen miteinander in Konflikt. xf86-input-evdev-debounce entfernen? [j/N]

12 KOMMENTARE

  1. Ich habe dieses Problem noch nie selbst gehabt und noch nie davon gehört. Kann es sein, dass es hier nur um Funkmäuse geht??

    (Außerdem ist da ein Fehler in der Bildbeschreibung der zwei Funkmäuse, zweite Zeile: „mein“ sollte „mit“ sein)

  2. Alternativ kann man auch einfach auf libinput umsteigen. Wer Wayland benutzt hat das schon, ansonsten einfach xf86-input-libinput installieren.

  3. Ich höre von dem Problem auch zum ersten Mal, trotz vieler Installationen. In freier Wildbahn, habe ich es nie selbst erlebt.

    Das einzige was ich kenne, dass mal jemand die Einstellung „Max. Doppelklickintervall“ so kurz (oder war es zu lang) eingestellt hatte, dass man kaum mehr vernünftig einen Doppelklick produzieren konnte. Also reine Einstellungssache und betrifft dein Problem nicht wirklich oder doch?

    Wenn es einen Patch gibt, sollte auch die Ursache bekannt sein, oder? Kannst du dazu was schreiben?

  4. Das klingt nach einem klar fehlerhaften Verhalten der Maus. Dafuer einen Patch aufzunehmen ist hoechst fragwuerdig, stattdessen gehoert die Maus „entfernt“.

    Ungeziefer.

  5. Dem schließe ich mich gerne an, Mousewechsel und fertig ist die Lauge ich denke es ist ein Verschleißproblem die Mouse kannste nicht mehr reparieren ist meist Ware die verschleißen soll, da waren die alten Mäuse mit der Kugel echt robust, ich meine die PS2-Mäuse aus den 90zigern auch die Tastaturen waren unempfindlicher das waren noch Zeiten, wenn es ein Softwareproblem wäre hätte Christoph als erstes eine andere Live-Disbri gestartet und es festgestellt oder er wäre im gconf-Editor zu den Mauseinstellungen und die Doppelklickfunktion anders konfiguriert!

  6. Ich habe diese Problem auch schon seit längerem, und nicht nur mit einer Logitechmouse. Ich habe eine Funkmaus von Cherry (1 1/2 Jahre alt) und gerade als Alternative eine Kabel-Usb-Maus von SpeedLink (älteres Modell). Bei beiden treten die Probleme auf, obwohl sie vorher ohne Probleme gingen. Kann es sein, dass seit dem Update im Oktober sich irgendein Fehler eingeschlichen hat (auch wenn schon ältere Fehlermeldungen und Einträge im Internet zu finden sind)??

    Nutze Ubuntu 14.04.4 lts, bis letzten Herbst nie Probleme gehabt, und jetzt das. Kann man das auch ohne Patch lösen?

    • Hi Andreas, ich würde das System einfach mal von einem USB-Stick mit bspw. Ubuntu 15.10 oder gerne auch Knoppix booten. Wenn dort das Problem auch auftritt, dann hast du auf jeden Fall Ärger mit der Hardware. In diesem Fall könnte dir der Patch helfen. Grüße, Christoph.

  7. Hallo Christoph,

    ist die B100 zufällig auf dem Titelbild? Genau die bereitet mir nämlich Probleme. 😀

    Seit meinem Update auf Linux Mint 18 (Mate) habe ich mich gewundert, wieso ich im Thunderbird häufig (aber nicht immer) E-Mails in einem neuen Tab öffne – bis ich die Maus als Übeltäter ermitteln konnte. Ich nutze den Rechner als Multi-OS-PC, unter Windows (7) habe ich keine Probleme. Das Update vom OS scheint aber wohl nur zufällig mit dem Fehlverhalten der Maus zusammengefallen sein.

    Das es die Hardware sein könnte, hatte ich daher zunächst ausgeschlossen. Windows scheint hier beim Ermitteln ein wenig »robuster« zu sein?

    Vielen Dank für das Ausgraben und Beschreiben vom Patch, ich werde wohl eine neue Maus kaufen (und die unter Windows noch immer »normal klickfreudige« Logitech B 100 an ein reines Windowssystem anschließen.

  8. Klar verschleißen die Micro-Kontakte der Mäuse. Aber das Prellen von Schaltern ist ein Problem seit es Elektrizität gibt und in der Elektronik gut dokumentiert. Zu was gibt es Maustreiber, wenn so eine olle Kamelle nicht befriedigend gelöst werden kann. Klar, Wegschmeißen geht immer – passt auch gut in die ökologischen Bemühungen rund um den Globus.

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here