ขั้นตอนในการเพิ่มความไวของเมาส์:
รายการแรกอุปกรณ์ทั้งหมด:
$ 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)]
ในตัวอย่างที่เราเห็น id ของเมาส์คือ 10 รายการถัดไปคุณสมบัติของมัน:
$ 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
«เมทริกซ์การแปลงพิกัด»เป็นสิ่งที่เราต้องการ จำ№142
โดยการเปลี่ยนคุณสมบัตินี้เราสามารถเพิ่มความเร็วของตัวชี้ ค่าเหล่านี้จริงเป็นเมทริกซ์การเปลี่ยนแปลงที่ใช้ในการคำนวณการเคลื่อนไหวของตัวชี้ จากลิงค์:
โดยค่าเริ่มต้น CTM สำหรับอุปกรณ์อินพุตทุกตัวใน X คือเมทริกซ์เอกลักษณ์ ตัวอย่างเช่นสมมติว่าคุณแตะหน้าจอสัมผัสที่จุด (400, 197) บนหน้าจอ:
⎡ 1 0 0 ⎤ ⎡ 400 ⎤ ⎡ 400 ⎤
⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥
⎣ 0 0 1 ⎦ ⎣ 1 ⎦ ⎣ 1 ⎦
พิกัด X และ Y ของเหตุการณ์อุปกรณ์เป็นอินพุตในเมทริกซ์ที่สองของการคำนวณ ผลลัพธ์ของการคำนวณคือตำแหน่งที่พิกัด X และ Y ของเหตุการณ์ถูกแมปกับหน้าจอ ตามที่แสดงเมทริกซ์เอกลักษณ์จะแมปอุปกรณ์พิกัดกับพิกัดหน้าจอโดยไม่มีการเปลี่ยนแปลงใด ๆ
ดังนั้นสิ่งที่เราต้องการทำกับเมทริกซ์ - คือการตั้งค่าที่ตามxและyเป็นค่าเฉพาะอื่น ๆ และสิ่งนี้จะเปลี่ยนความเร็วของตัวชี้ ตัวอย่างจากพีซีของฉัน:
$ xinput set-prop 10 142 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000
xinput set-prop <device-id> <property-number> <property-values>
มันเป็น เล่นกับสิ่งนี้จนกว่าคุณจะพบคนที่เหมาะสม หมายเหตุ: อย่าเปลี่ยนค่าสุดท้ายของเมทริกซ์ นั่นเป็นข้อผิดพลาดของฉันเมื่อฉันพยายามที่จะทำงาน - ในกรณีนี้คุณจะไม่เห็นความแตกต่าง
อย่างน้อยเวอร์ชันล่าสุดxinput
อนุญาตให้ระบุอุปกรณ์และตัวเลือกตามชื่อดังนั้นตัวอย่างนี้สามารถใช้งานได้:
xinput set-prop 'PixArt USB Optical Mouse' 'Coordinate Transformation Matrix' 1.2 0 0 0 1.2 0 0 0 1
การเปลี่ยนแปลงเหล่านี้จะใช้งานได้เฉพาะสำหรับเซสชันปัจจุบันดังนั้นเมื่อคุณเลือกความไวที่ดีคุณควรใช้อย่างถาวรโดยการเพิ่มลงในxorg.conf
(หรือสร้างไฟล์เช่น/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
หากคุณไม่แน่ใจว่าใช้งานได้หรือไม่ให้เปลี่ยนเป็นค่าขนาดใหญ่เช่น 5.0
บันทึกไฟล์และรีบูต
กิตติกรรมประกาศ: ฉันรู้สึกขอบคุณ Simon Thum จากรายชื่อผู้รับจดหมาย Xorg เขาเป็นคนหนึ่งที่ให้คำแนะนำเกี่ยวกับเมทริกซ์