Bewegen Sie die Maus, wenn Sie die mittlere Taste gedrückt halten

29

In Windows bin ich es gewohnt, auf die mittlere Schaltfläche zu klicken, und sie bietet eine "schnelle Bildlauf" -Option nach oben oder unten. Wie kann ich dieses Verhalten unter Linux erreichen? Derzeit wird stattdessen die Schaltfläche "Zurück" beim Klicken in die Mitte verwendet.

Ich benutze Gnome unter CentOS.

some1
quelle
Was genau funktioniert nicht? Unix-Mäuse hatten vom ersten Tag an drei Tasten, daher funktioniert die mittlere Maustaste normalerweise sofort.
Gilles 'SO - hör auf, böse zu sein'
Ich bin es gewohnt, auf die mittlere Schaltfläche zu klicken, und sie bietet eine Option zum schnellen Blättern nach oben oder unten. Derzeit wird stattdessen die Schaltfläche "Zurück" beim Klicken in die Mitte verwendet.
Irgendwann
2
Ah, Sie möchten also das Windows-Verhalten der mittleren Schaltfläche (oder eher das Drücken des Rads) anstelle des Unix-Verhaltens (wobei die mittlere Schaltfläche normalerweise den Inhalt der Zwischenablage einfügt). Sie müssen das wirklich in Ihrer Frage sagen, wir können Ihre Gedanken nicht lesen! Dies erfordert Unterstützung von Anwendungen. welche anwendungen benutzt du Welche Desktop-Umgebung (zB Gnome, KDE, XFCE, ...)?
Gilles 'SO- hör auf böse zu sein'
Nun, ich dachte mir, dass es irgendwo ein Konfigurationsfenster geben würde, in dem ich das einstellen könnte, aber ich konnte nicht einmal so weit kommen. Ich gehe davon aus, dass der Desktop Gnome ist. Ist das die Standardeinstellung? Und das Problem ist in Firefox.
Irgendwann
1
Für Firefox gibt es eine beinahe doppelte Lösung .
Gilles 'SO - hör auf böse zu sein'

Antworten:

26

Diese Windows-Funktion hat noch nie wirklich Einzug in die Unix-Welt gehalten. In der Unix-Welt besteht der Hauptzweck der mittleren Maustaste darin, den Inhalt der Zwischenablage einzufügen (genauer gesagt den mit der Maus ausgewählten Text, der automatisch kopiert wird). Einige plattformübergreifende Anwendungen wie Firefox und Chrome, die die mittlere Maustaste im Linux-Stil unter Windows und umgekehrt unterstützen, aber ansonsten unterstützen die meisten Anwendungen dieses feinkörnige Scrollen nicht.

Trotzdem kann man auf Systemebene ziemlich nahe kommen. Es ist möglich, eine Maustaste so einzurichten, dass Mausbewegungen beim Drücken in Radereignisse umgewandelt werden. Dies ist die gleiche Funktion, die Sie gewohnt sind, aber Sie werden die Bewegung wahrscheinlich abgehackt finden, da Anwendungen Wheel-Ereignisse empfangen, die normalerweise als Scrollen um eine ganze Zeile oder Spalte interpretiert werden.

Um mit dieser Konfiguration zu spielen, verwenden Sie das Programm xinput (ich weiß nicht, ob es ein GUI-Frontend dafür gibt). Führen Sie zunächst den folgenden Befehl aus, um den Namen Ihres Zeigegeräts anzuzeigen:

$ xinput --list       
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Generic USB Mouse                         id=8    [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=9    [slave  keyboard (3)]

In der obigen Ausgabe ist das Zeigegerät beispielsweise Generic USB mouse. Sie können den folgenden Befehl ausführen, um die Eigenschaften aufzulisten, die optimiert werden können:

xinput --list-props 'Generic USB Mouse'

Bei den Eigenschaften, nach denen Sie suchen, handelt es sich um die „Evdev Wheel Emulation“. Bei den folgenden Einstellungen werden beim Drücken der mittleren Maustaste (Taste 2) Radereignisse gesendet (4 = hoch, 5 = runter, 6 = links, 7 = rechts).

xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5

Möglicherweise möchten Sie andere Parameter (Trägheit, Zeitüberschreitung) optimieren.

Sie können diese Befehle in ein Skript einfügen. Fügen Sie #!/bin/shals allererste Zeile hinzu und machen Sie die Skriptdatei ausführbar (zB chmod +x ~/bin/activate-wheel-emulation.sh). Fügen Sie dieses Skript dann zur Liste der Befehle hinzu, die beim Starten Ihrer Sitzung ausgeführt werden sollen (damit gnome-session-propertieskönnen Sie dies konfigurieren).

Wenn Sie über Root-Zugriff verfügen und die Änderung für alle Benutzer vornehmen möchten (auf einem Heimcomputer akzeptabel), ist dies über die X.org-Serverkonfigurationsdatei einfacher . Erstellen Sie als Root eine Datei /etc/X11/xorg.conf.d/wheel-emulation.confmit den Einstellungen für den Maustreiber . Die Einstellungen sind gleich, aber etwas anders organisiert.

Section "InputClass"
    Identifier "Wheel Emulation"
    MatchProduct "Generic USB Mouse"
    Option "EmulateWheel" "on"
    Option "EmulateWheelButton" "2"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection
Gilles 'SO - hör auf böse zu sein'
quelle
Seien Sie vorsichtig, wenn Sie die anderen Parameter anpassen. Wenn Sie den Evdev Wheel Emulation TimeoutParameter zu stark reduzieren, verlieren Sie möglicherweise die Funktionalität der mittleren Maustaste (Klicken). Wenn Sie z. B. Evdev Wheel Emulation Timeoutden Wert für unterschreiten Evdev Middle Button Timeout, werden keine Middle Button Click-Ereignisse mehr generiert. Aus persönlicher Erfahrung scheint Folgendes recht gut zu funktionieren:
agnussmcferguss
xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Emulation' 1. xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Timeout' 50. xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Timeout' 100. Das sieht ziemlich bissig klicken und Scroll - Funktion, obwohl wenn es Ihnen zu schnell löst, dann versuchen zu erhöhen Evdev Wheel Emulation Timeout(ich glaube 200 die Standardeinstellung)
agnussmcferguss
Gilles, ich glaube, in Ihrer vorgeschlagenen Konfigurationsdatei xorg.conf.d stimmt etwas nicht. Als ich es benutzte, bootete meine X.Org auf einem schwarzen Bildschirm. Ich habe eine Version abgeleitet, bei der Device "evdev"der "EmulateWheelButton"Wert von in Anführungszeichen gesetzt wird "2". (Entschuldigung, ich habe keine Zeit zu untersuchen, ob eine oder beide dieser Änderungen das Problem beheben.)
Arkanon
@Arkanon Die fehlenden Anführungszeichen sind definitiv ein Syntaxfehler. Ich glaube nicht, dass Device "evdev"das Sinn ergibt, meintest du Driver "evdev"? Ich denke, dies wäre eine Alternative zu der MatchProductRichtlinie, die die Optionen für alle Eingabegeräte festlegt und nicht nur für generische USB-Mäuse.
Gilles 'SO- hör auf böse zu sein'
1
@Wallacoloo Ich weiß nicht, ob Sie genau diesen Effekt erzielen können, aber Sie können die Maus über den Ziffernblock bewegen Pointer_EnableKeys(googeln oder hier eine neue Frage stellen) und mit XKB (Tastatur durchsuchen) ein schickeres Verhalten einstellen : mousekeys, oder stellen Sie hier eine neue Frage, die genau beschreibt, was Sie wollen und womit Sie sich zufrieden geben, wenn Sie es nicht genau haben können).
Gilles 'SO - hör auf böse zu sein'
25

Es stellte sich heraus, dass dies über die Firefox-Einstellungen erfolgen kann.

  1. Aus dem Pulldown-Menü: Bearbeiten -> Einstellungen
  2. Wählen Sie dann die Registerkarten: Erweitert -> Allgemein
  3. Aktivieren Sie dann "Autoscrolling verwenden".

Bildschirmfoto

   ss

some1
quelle
0

für chromekönnen Sie diese Erweiterung für Autoscrolling verwenden

Auto Scroll

Vergessen Sie nicht, Chrome nach der Installation der Erweiterung neu zu starten

Codegames
quelle