Bewegen Sie den Mauszeiger zum Überspringen von Pixeln.
Erste Liste Eingabegeräte:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id=10 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ USB2.0 UVC 2M WebCam id=9 [slave keyboard (3)]
↳ Asus Laptop extra buttons id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ USB Keyboard id=11 [slave keyboard (3)]
↳ USB Keyboard id=12 [slave keyboard (3)]
In dem Beispiel sehen wir, dass die Maus-ID 10 ist. Als nächstes listen wir ihre Eigenschaften auf:
$ xinput list-props 10
Device 'PixArt USB Optical Mouse':
Device Enabled (140): 1
Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (265): 0
Device Accel Constant Deceleration (266): 1.000000
Device Accel Adaptive Deceleration (267): 1.000000
Device Accel Velocity Scaling (268): 10.000000
Device Product ID (260): 2362, 9488
Device Node (261): "/dev/input/event5"
Evdev Axis Inversion (269): 0, 0
Evdev Axes Swap (271): 0
Axis Labels (272): "Rel X" (150), "Rel Y" (151), "Rel Vert Wheel" (264)
Button Labels (273): "Button Left" (143), "Button Middle" (144), "Button Right" (145), "Button Wheel Up" (146), "Button Wheel Down" (147), "Button Horiz Wheel Left" (148), "Button Horiz Wheel Right" (149)
Evdev Middle Button Emulation (274): 0
Evdev Middle Button Timeout (275): 50
Evdev Third Button Emulation (276): 0
Evdev Third Button Emulation Timeout (277): 1000
Evdev Third Button Emulation Button (278): 3
Evdev Third Button Emulation Threshold (279): 20
Evdev Wheel Emulation (280): 0
Evdev Wheel Emulation Axes (281): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (282): 10
Evdev Wheel Emulation Timeout (283): 200
Evdev Wheel Emulation Button (284): 4
Evdev Drag Lock Buttons (285): 0
Wir wollen die «Koordinatentransformationsmatrix», erinnern Sie sich an die Nr. 142.
Durch Ändern dieser Eigenschaft können wir die Zeigergeschwindigkeit erhöhen. Es ist eine Transformationsmatrix, mit der eine Zeigerbewegung berechnet wird . Über den Link:
Standardmäßig ist das CTM für jedes Eingabegerät in X die Identitätsmatrix. Nehmen wir zum Beispiel an, Sie berühren einen Touchscreen an der Stelle (400, 197) auf dem Bildschirm:
⎡ 1 0 0 ⎤ ⎡ 400 ⎤ ⎡ 400 ⎤
⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥
⎣ 0 0 1 ⎦ ⎣ 1 ⎦ ⎣ 1 ⎦
Die X- und Y-Koordinaten des Geräteereignisses werden in die zweite Matrix der Berechnung eingegeben. Das Ergebnis der Berechnung ist, wo die X- und Y-Koordinaten des Ereignisses auf dem Bildschirm abgebildet werden. Wie gezeigt ordnet die Identitätsmatrix die Gerätekoordinaten ohne Änderungen den Bildschirmkoordinaten zu.
Wir wollen also die Werte gemäß x und y erhöhen und damit die Zeigergeschwindigkeit erhöhen. Ein Beispiel von meinem PC:
$ xinput set-prop 10 142 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000
Es ist xinput set-prop <device-id> <property-number> <property-values>
. Spielen Sie ein bisschen damit, bis Sie das passende finden. Hinweis: Ändern Sie nicht den letzten Wert der Matrix. Das war mein Fehler, als ich versuchte, Arbeit zu finden - in diesem Fall sehen Sie einfach keinen Unterschied.
Danksagung: Ich bin Simon Thum von der Xorg-Mailingliste dankbar, er war derjenige, der den Hinweis auf die Matrix gegeben hat.
UPD : Beachten Sie, dass einige Windows-Spiele, die mit Wine ausgeführt werden, möglicherweise ein ungewöhnliches Zeigerverhalten aufweisen (z. B. dass das Ziel in Counter Strike 1.6 nach unten abfällt, bis es auf den Boden starrt, unabhängig davon, wie Sie die Maus bewegen). Setzen Sie dies in diesem Fall einfach zurück x und y von CTM auf 1, bevor das Spiel gestartet wird .