So deaktivieren Sie die Vor- / Zurück-Tasten an meiner Maus


36

Meine Maus hat eine unglückliche Eigenschaft. Auf der linken Seite, genau dort, wo mein Daumen bei der Verwendung so sanft sitzt, gibt es zwei Tasten, die so empfindlich sind, dass sie mit einem Pinsel klicken.

Ich spreche natürlich von den lästigen Vorwärts- / Rückwärts-Tasten, die, wenn sie in einem Browser gedrückt werden, das Ansehen dieses stundenlangen YouTube-Videos erheblich erschweren können. Kann ich sie deaktivieren? Würde das von X erledigt werden?


2
Ich bin mir fast sicher, dass Sie es mit xinput
deaktivieren

Diese Frage und die Antwort gelten auch für die Zurück- / Vorwärts-Tasten auf Tastaturen, z. B. auf der Thinkpad-Tastatur
Daniel S. Sterling

Antworten:


43

Starten Sie das Programm xevin einem Terminal. Bewege die Maus im xevFenster. Sie werden sehen, wie viele Dinge vorbeirollen. Drücken Sie die einzelnen Tasten nacheinander. Wechseln Sie dann zurück zum Terminalfenster und drücken Sie Ctrl+ C. xevzeigt eine Beschreibung jedes Eingabeereignisses, insbesondere ButtonPressund ButtonReleasefür Mausklicks (Sie sehen auch eine Reihe von MotionNotifyfür Mausbewegungen und andere Ereignisse).

Es ist wahrscheinlich, dass Ihre Vorwärts- und Rückwärtstasten Maustasten zugeordnet sind, möglicherweise Tasten 8 und 9:

ButtonPress event, serial 29, synthetic NO, window 0x2e00001,
    root 0x105, subw 0x0, time 2889100159, (166,67), root:(1769,98),
    state 0x0, button 8, same_screen YES

Wenn dies der Fall ist, ordnen Sie diese Schaltflächen nach Möglichkeit einer anderen Aktion in Ihrem Browser zu. Alternativ können Sie die Schaltflächen anderen Schaltflächennummern zuordnen, auf die Ihr Browser nicht reagiert, oder die Schaltflächen auf Systemebene insgesamt deaktivieren. Setzen Sie dazu diese Zeilen in eine Datei mit dem Namen ~/.Xmodmap:

! Remap button 8 to 10 and disable button 9.
pointer = 1 2 3 4 5 6 7 10 0

Teste es mit dem Befehl xmodmap ~/.Xmodmap. Die meisten Desktop-Umgebungen und Fenstermanager führen diesen Befehl automatisch aus, wenn Sie sich anmelden. Wenn nicht, lassen Sie es laufen, wenn X startet.

Es ist auch möglich, dass Ihre Maus ein Tastaturereignis sendet, wenn Sie diese Tasten drücken:

KeyPress event, serial 32, synthetic NO, window 0x2e00001,
    root 0x105, subw 0x0, time 2889100963, (957,357), root:(2560,388),
    state 0x0, keycode 166 (keysym 0x1008ff26, XF86Back), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Fügen Sie in diesem Fall die folgenden Zeilen ein ~/.Xmodmap:

keycode 166 = NoSymbol
keycode 167 = NoSymbol

2
Vielen Dank für die Frage und die Antwort. Nebenbei bemerkt, die Geisteskrankheit des zu reduzieren xevAusgang nur Rohr es durch grep: xev | grep -A2 ButtonPress; Dadurch bleiben alle Mausbewegungsereignisse, Fokusereignisse usw. erhalten und es werden nur die ButtonPressEreignisse angezeigt, die Sie hier benötigen.
Lambart

Vielen Dank! Es hat in ein paar Sekunden geholfen! :-)
Brian Haak

Das funktioniert auch in Wayland!
Ray Foss

2

Verwenden xevSie diese Option, um herauszufinden, welchen Tasten die Schaltfläche zugeordnet ist, und verwenden Sie den folgenden Code (in $ HOME / .xsessionrc), um sie einer nicht verwendeten Funktion zuzuordnen.

xmodmap -e 'keycode THE_CODE_HERE = XF86Launch1'

Alternativ sollten Sie in der Lage sein, dies von einer GUI aus zu tun, auf der Sie Gnome / KDE oder andere moderne Desktops verwenden.

Eine weitere Möglichkeit wäre, die xorg.conf zu hacken, um die Schaltflächendefinitionen zu entfernen.


1

Nur ein kurzer Befehl, um das Problem zu beheben, nicht wirklich anders als bei anderen Antworten:

xmodmap -e "pointer = 1 2 3 4 5 6 7 0 0 0 0 0 0" #the fix

testen

xmodmap -pp # check the changes
xterm -e xev # test the nullified buttons

# to restore in case you are going to play some game that uses them
xmodmap -e "pointer = 1 2 3 4 5 6 7 8 9 10 11 12 13"

Sie können den Fix cmd bei Start-Apps ablegen.

Besser wäre es, mit xdotool zu überprüfen, ob eines Ihrer Browser aktiv ist, und xmodmap bei Bedarf aufzurufen, um es zu deaktivieren / aktivieren, aber das würde einige Skripte erfordern:>

Ich habe keinen Grund gesehen, Buttons über 7 aktiviert zu lassen.


0

Kann mit xorg config file gemacht werden

Hier ist ein Beispiel zum Deaktivieren des horizontalen Bildlaufs (neue Datei speichern und neu starten)

nano /etc/X11/xorg.conf.d/40-libinput-mouse-left-right.conf

Section "InputClass"
        Identifier "Logitech catchall"
        MatchIsPointer  "on"
        Driver "libinput"
        Option "HorizontalScrolling" "false"
EndSection

Andere nützliche Befehle

xinput list
xinput list-props 15

Für diese Frage kann nun die xorg-Konfigurationsdatei verwendet werden, um die Schaltfläche neu zuzuordnen. Dies ist ein Beispiel

Section "InputClass"
    # ...
    Option "ButtonMapping" "1 9 3 4 5 6 7 8 2"
    # ...
EndSection

0

Wenn Sie die versuchen , xmodmapBefehle (auf X, nicht Weyland) und Sie bekommen den Fehler BadValue (integer parameter out of range for operation)in X_SetPointerMapping, müssen Sie verwenden xinputstattdessen. Führen xinputSie den Befehl ohne Parameter aus, um die Geräte-IDs abzurufen (suchen Sie nach einer für den Zeiger), und führen Sie ihn dann aus

xinput set-button-map [pointer-device-id] 1 2 3 4 5 0 0 0 0

In meinem Fall war meine Maus Gerät Nr. 4, und ich musste die Tasten 6 und 7 in 8 und 9 umwandeln, um vorwärts und rückwärts arbeiten zu können

xinput set-button-map 4 1 2 3 4 5 8 9 8 9

(Ich habe die Tasten 8 und 9 auch auf 8 und 9 abgebildet, falls ich die Maus gewechselt habe.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.