Ich möchte horizontales Scrollen emulieren, wenn ich mein (vertikales) Scrollrad benutze und drücke Shift.
In einigen Anwendungen (Chrom {e, ium}) funktioniert dies bereits, aber ich suche nach einer generischen Lösung für X-Anwendungen.
Der nächste, den ich bisher erreicht habe, ist xbindkeys
+ xdotool
.
# ~/.xbindkeysrc
"xdotool click 6"
shift + b:4
"xdotool click 7"
shift + b:5
Das Problem ist, dass xbindkeys
scheinbar einige Ereignisse fehlen und gelegentlich eine vertikale Schriftrolle "durchkommt". Das ist sehr ärgerlich. Sieht xbindkeys
es so aus, als würde eine Art Umfrage durchgeführt?
Außerdem mag ich es nicht, Hunderte von Shell-Befehlen pro Sekunde zu erzeugen.
Ich habe einen kleinen Bildschirm und muss viel horizontal scrollen.
Wie kann ich ein allgemeines horizontales Scrollen erzielen?
AKTUALISIEREN:
Es gibt einen anderen Weg, der meistens das macht, was ich mit xbindkeys
und will xmodmap
.
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'"
c:50
"xmodmap -e 'pointer = default'"
release + shift + c:50
Wenn Shiftgedrückt gehalten, werden die Zeigertasten 4 und 5 den Tasten 6 und 7 zugeordnet. (Tasten 4/5 dienen zum vertikalen und 6/7 zum horizontalen Scrollen). c:50
ist der linke ShiftSchlüssel. Beim Loslassen der Taste wird die Standard-Zeigerzuordnung wiederhergestellt.
Dies löst das Problem "zu viele Ereignisse" gut. Die Umschalttaste funktioniert jedoch nicht mehr als normaler Modifikator. Ich habe versucht, die ShiftPresseveranstaltungen xdotool
wie folgt erneut zu veröffentlichen:
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'; xdotool keydown Shift_L"
c:50
"xmodmap -e 'pointer = default'; xdotool keyup Shift_L"
release + shift + c:50
Entsprechend kommen xev
die ShiftEreignisse durch, aber ich denke es wird nicht mehr als Modifikator erkannt. Wenn Sie beispielsweise Shift+ drücken A, wird kein Großbuchstabe erzeugt A
.
~/.xbindkeysrc.scm
. Irgendwann schlug es fehl, aber es könnte auf Ihrem System funktionieren.Antworten:
Ich habe eine akzeptable Lösung für mich gefunden.
Ich habe keinen Weg gefunden, ihn zu benutzen Shift eine andere Taste als Modifikator zu verwenden, um die Radachse so lange zu drehen, wie sie gedrückt wird.
Ich benutze jetzt ein einfaches
.xbindkeysrc
mit einem Umschaltknopf:Das toggle.sh-Skript sieht folgendermaßen aus:
Dadurch kann ich das Verhalten umschalten. Wenn ich Alt+ drücke X, wird meine Mausradachse gedreht, und wenn ich erneut drücke, wird sie auf die Standardeinstellung gesetzt.
Das sollte jetzt klappen.
Wenn jemand einen Weg findet, dies Shiftals "Modifikator" (Mausachse drehen, solange sie gedrückt ist) zu tun , lassen Sie es mich bitte wissen.
EDIT: Da Alt+ xein häufig benutzter Hotkey ist, habe ich ihn geändert zu:
(Ich habe zur Konfiguration von guile gewechselt, daher sollte das Obige in einer Datei namens sein.
.xbindkeysrc.scm
)Dadurch wird die Richtung des Scrollrads mit der Ctrlrechten Maustaste umgeschaltet.
quelle
Sie könnten BTNX und das GUI - Konfigurations-Tool verwenden .
Neueres Ubuntu-Paket und hier
Nachdem Sie die Tastenerkennung mit btnx-config auf Ihrer Maus durchgeführt haben, ordnen Sie "Bildlauf nach oben" zusammen mit einem Umschalttastenmodifikator der gewünschten x-Taste zu.
quelle
Wie hier angedeutet , habe ich imwheel installiert und dann
~/.imwheelrc
mit dem folgenden Inhalt erstellt.Ich bin dann
imwheel -b 45
ins Terminal gelaufen . Ich habe getestet und habe die diagonalen Probleme, die mit hohem Bildlauf und xbindkeys verbunden sind, nicht bemerkt.NB
-b 45
beschränkt sichimwheel
darauf, nur das Scrollen nach oben und unten zu erfassen, um zu verhindern, dass diexbindkeys
Verknüpfungen für die Daumentasten blockiert werden.Probleme
Damit sind jedoch mehrere Probleme verbunden.
Control_L, Up, Control_L|Up
zu setzen~/.imwheelrc
, aber das hat nicht funktioniert.imwheel
Sendet horizontale Scrollrad-Ereignisse an das aktive Fenster und nicht an das Fenster unter dem Mauszeiger. Dies widerspricht dem Standardverhalten des Scrollrads. Dies legt auch nahe, dass die CtrlProblemumgehung in dem obigen Punkt ebenfalls nicht optimal wäre.imwheel
scheint nicht mehr in der Entwicklung zu sein. Es steckt seit 10 Jahren (seit 2004) in der Vorabversion fest.quelle