Doppelklicken Sie mit der Maus auf das Mindestintervall

8

Dies ist die zweite Maus, die wegen eines schlechten Schalters an mir stirbt! Bei den meisten Betriebssystemen besteht die Möglichkeit, das maximale Zeitintervall festzulegen, in dem zwei Mausklicks wie beim Doppelklick verarbeitet werden.

Logischerweise muss es eine Möglichkeit geben, ein Mindestintervall für Doppelklicks festzulegen!

Ich könnte den defekten Schalter sicher ersetzen, aber es gibt Kosten für den neuen Schalter, die Zeit und das grundlegende Löten, die dafür benötigt werden. Dies sollte natürlich der letzte mögliche Schritt sein.

Zunächst möchte ich versuchen, den Computer mit der kaputten Maus umgehen zu lassen. Ich suche ein Update für Windows und vor allem für Linux (Ubuntu) Systeme.

E: Wie Matt Eckert bereits erwähnt hat, liegt das Problem darin, dass sich der Mausschalter löst und mit nur einem Tastendruck zwei Signale erzeugt. Ich habe nie erwähnt, dass ich irgendetwas in der Maus einrichten möchte. Entschuldigung für das Missverständnis, ich dachte, dass dieses Problem sehr oft auftritt, so dass jeder das Problem mit den Informationen verstehen kann.

Unter Windows gibt es nur die Möglichkeit, das maximale Zeitintervall festzulegen, in dem ein Doppelklick erkannt wird. Ich muss das minimale Zeitintervall einstellen. Mit anderen Worten, ein Doppelklick sollte nur erkannt werden, wenn der Zeitunterschied zwischen zwei Mausklicks mindestens eine halbe Millisekunde beträgt.

Anonym
quelle
1
Ein schlechter Schalter als darin wird nicht klicken? Sie legen Doppelklick-Zeitintervalle nicht über die Maus, sondern über das Betriebssystem fest. Öffnen Sie in Windows die Systemsteuerung und klicken Sie auf "Maus", um die Einstellungen anzupassen.
Cutrightjm
@ekaj Ich denke, das Problem ist, dass die Maus zwei Klicks sehr schnell sendet, wenn sie nur einmal klickt.
Matt Eckert
Ich reparierte das gleiche Problem mit meinen Maustasten wie diese (YouTube)
Neil Stockbridge

Antworten:

5

Was Sie suchen, ist ein Software- Debouncer .

Es gibt zwei AutoHotkey Lösungen für Windows in diesem Thread .

Das erste ist ein kurzes Skript von einem Benutzer namens HotKeyIt:

LButton::   
    If (A_TimeSincePriorHotkey < 150) ;hyperclick
        Return
    Click Down
    KeyWait, LButton
    Click Up
Return

Und dann gibt es eine längere Lösung: Buggy-Mouse.ahk - Reparieren Sie eine fehlerhafte Maus. Beenden Sie das Doppelklicken, wenn Sie versuchen, einen Einzelklick auszuführen.

Wie für Linux, könnten Sie verwenden versuchen IronAHK , einen Hafen von AutoHotkey für Plattformen mit Mono - Unterstützung, obwohl ich von seinen Fähigkeiten nicht sicher bin.

Matt Eckert
quelle
Vielen Dank! Das ahk-Skript hat das Problem unter Windows gelöst, aber ich bin immer noch auf der Suche nach einer Lösung für Ubuntu.
Anonym
@Anonymous hast du IronAHK ausprobiert? Ich bin gespannt, ob es damit klarkommt.
Matt Eckert
5

Für Linux - Lösung: http://blog.guntram.de/?p=16

Es kann in jeder Distribution funktionieren, wenn Sie evdev neu kompilieren und den Patch anwenden. Das Folgende ist aus diesem Link extrahiert:

  • Holen Sie sich den Event-Debounce-Patch, entweder durch Kopieren / Einfügen vom ursprünglichen Autor-Post oder von meinem Spiegel .

  • Installieren Sie den Quellcode von evdev und die Build-Umgebung und kompilieren Sie ihn. Achtung: Das erste apt-get installiert den Quellcode in einem Unterverzeichnis Ihres aktuellen Verzeichnisses. Wechseln Sie also zuerst auf eine geeignete CD.

    apt-get source xserver-xorg-input-evdev-dev
    sudo apt-get build-dep xserver-xorg-input-evdev-dev
    cd xserver-xorg-input-evdev-2.8.2/
    patch -p 1 < ../evdev-debounce.patch
    dch -i
    debuild -us -uc -b
    cd ..
    
  • Dadurch erhalten Sie eine Datei mit dem Namen xserver-xorg-input-evdev_2.8.2-1ubuntu2_amd64.deb in dem Verzeichnis, in dem Sie gestartet haben. Oder x86 stattdessen, wenn amd64 auf einem 32-Bit-System ausgeführt wird. Falls Sie sich nicht selbst kompilieren möchten, können Sie die Datei von meinem Spiegel herunterladen . Dies ist für Ubuntu 14.04. Je nachdem, wann Sie dies lesen, ist meine Datei veraltet und Sie müssen sie selbst erstellen.

  • Installieren Sie diese .deb-Datei mit

    sudo dpkg -i xserver-xorg-input-evdev_2.8.2-1ubuntu2_amd64.deb
    
  • Melden Sie sich jetzt ab und erneut an. Dies sollte den X-Server starten und das neue Paket laden.

  • Als nächstes konfigurieren Sie das Debouncen. Unkonfiguriert ändert die neue Software nichts. Verwenden Sie xinput –list, um die ID Ihres Mausgeräts herauszufinden - in meinem Fall ist es die Razer-Maus, ID = 10:

    $ xinput --list
     ⎡ Virtual core pointer id=2 [master pointer (3)]
     ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
     ⎜ ↳ Razer Razer Copperhead Laser Mouse id=10 [slave pointer (2)]
     ⎣ Virtual core keyboard id=3 [master keyboard (2)]
     ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
     ....
    
  • Wenn Sie die ID Ihres Mausgeräts kennen, listen Sie die Eigenschaften dieses Geräts auf. Eine der Eigenschaften - normalerweise die letzte - ist die neue Entprellverzögerung. Sie benötigen die ID (in diesem Fall 286):

    $ xinput --list-props 10
     .....
     Evdev Debounce Delay (286): 0
     .....
    
  • Zuletzt ändern Sie die Eigenschaft auf den Maximalwert zum Entprellen. Wenn Sie diesen Wert zu hoch einstellen, wird ein schneller Doppelklick möglicherweise ebenfalls "entprellt". Ein Wert von 20 ist für mich von Vorteil. Wenn Ihre Mausschalter stark abgenutzt sind, möchten Sie möglicherweise 50 verwenden:

    $ xinput --set-prop --type=int --format=32 10 286 20
    
  • Sobald Sie einen Wert gefunden haben, den Sie mögen, können Sie den obigen Befehl in Ihr $ HOME / .x-Profil einfügen. Um eine systemweite Konfigurationsdatei zu installieren, fügen Sie Folgendes in die Datei /usr/share/X11/xorg.conf.d/12-evdev-debounce.conf ein - diese Datei ist neu und Sie müssen root sein, um sie schreiben zu können :

    Section "InputClass"
     Identifier "evdev pointer debounce"
     MatchIsPointer "on"
     MatchDriver "evdev"
     Option "DebounceDelay" "20"
     EndSection
    
Helder Filho
quelle
1
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier einzuschließen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verlinkte Seite ändert.
Tetsujin