Кроки для підвищення чутливості миші:
Спочатку перерахуйте всі пристрої:
$ 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)]
У прикладі ми бачимо, що ідентифікатор миші дорівнює 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
, збережіть файл і перезавантажте.
Подяки: Я вдячний Саймону Туму з списку розсилки xorg, саме він дав підказку про матрицю.