Fare duyarlılığını arttırma adımları:
Öncelikle tüm cihazları listele:
$ 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)]
Örnekte, fare kimliğinin 10 olduğunu görüyoruz. Sonraki özelliklerini listele:
$ xinput list-props 10
Device 'PixArt USB Optical Mouse':
Device Enabled (140): 1
Coordinate Transformation Matrix (142): 10.400000, 0.000000, 0.000000, 0.000000, 10.400000, 0.000000, 0.000000, 0.000000, 10.400000
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
“Koordinat Dönüşüm Matrisi” tam olarak istediğimiz şey. Unutma №142.
Bu özelliği değiştirerek işaretçi hızını artırabiliriz. Bu değerler aslında bir işaretçi hareketini hesaplamak için kullanılan bir dönüşüm matrisidir . Bağlantıdan:
Varsayılan olarak, X'teki her giriş cihazı için CTM kimlik matrisidir. Örnek olarak, ekrandaki bir noktada (400, 197) bir dokunmatik ekrana dokunduğunuzu varsayalım:
⎡ 1 0 0 ⎤ ⎡ 400 ⎤ ⎡ 400 ⎤
⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥
⎣ 0 0 1 ⎦ ⎣ 1 ⎦ ⎣ 1 ⎦
Cihaz olayının X ve Y koordinatları, hesaplamanın ikinci matrisine girilir. Hesaplamanın sonucu, olayın X ve Y koordinatlarının ekrana eşlendiği yerdir. Gösterildiği gibi, kimlik matrisi cihaz koordinatlarını herhangi bir değişiklik yapmadan ekran koordinatlarına eşler.
Yani, matrisle yapmak istediğimiz şey - x ve y'ye göre olan değerleri diğer belirli bir değere ayarlamaktır ve bu, işaretçi hızını değiştirir. Bilgisayarımdan bir örnek:
$ xinput set-prop 10 142 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000
Öyle xinput set-prop <device-id> <property-number> <property-values>
. Uygun olanları bulana kadar biraz oynayın. Not: Matrisin son değerini değiştirmeyin. İşe almaya çalıştığımda hatam buydu - bu durumda hiçbir fark görmeyeceksiniz.
En azından son sürümleri, xinput
aygıtları ve seçenekleri ada göre belirtmeye izin veriyor, bu nedenle bu örnek de işe yarayabilir:
xinput set-prop 'PixArt USB Optical Mouse' 'Coordinate Transformation Matrix' 1.2 0 0 0 1.2 0 0 0 1
Bu değişiklikler yalnızca geçerli oturum için etkindir, bu nedenle iyi bir duyarlılık seçtikten sonra ekleyerek xorg.conf
(veya gibi bir dosya oluşturarak) kalıcı olarak uygulamanız gerekir /etc/X11/xorg.conf.d/40-mouse-sensitivity.conf
:
Section "InputClass"
Identifier "PixArt USB Optical Mouse"
MatchIsPointer "Yes"
Option "TransformationMatrix" "1.2 0 0 0 1.2 0 0 0 1"
EndSection
Bunun işe yarayıp yaramadığından emin değilseniz 5.0
, dosyayı kaydedin ve yeniden başlatın gibi büyük bir değere değiştirin .
Teşekkürler: Xorg posta listesinden Simon Thum'a minnettarım, o matris hakkında ipucu veren oydu.