The steps to increase mouse sensitivity:
First list all the devices:
$ 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 the example we see the mouse id is 10. Next list its properties:
$ 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
The «Coordinate Transformation Matrix» is exactly what we want. Remember its №142.
By changing this property we can increase the pointer speed. These values actually is a transformation matrix that used to calculate a pointer movement. From the link:
By default, the CTM for every input device in X is the identity
matrix. As an example, lets say you touch a touchscreen at point (400,
197) on the screen:
⎡ 1 0 0 ⎤ ⎡ 400 ⎤ ⎡ 400 ⎤
⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥
⎣ 0 0 1 ⎦ ⎣ 1 ⎦ ⎣ 1 ⎦
The X and Y coordinates of the device event are input in the second
matrix of the calculation. The result of the calculation is where the
X and Y coordinates of the event are mapped to the screen. As shown,
the identity matrix maps the device coordinates to the screen
coordinates without any changes.
So, what we want to do with the matrix — is to set the values that according to x and y to any other particular value, and this would change the pointer speed. An example from my PC:
$ xinput set-prop 10 142 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000
It is xinput set-prop <device-id> <property-number> <property-values>. Play a bit with this until you find the appropriate ones. Note: do not change the last value of the matrix. That was my error when I tried it to get work — in this case you just won't see any difference.
At least recent versions of xinput allow specifying devices and options by name, so this example can also work:
xinput set-prop 'PixArt USB Optical Mouse' 'Coordinate Transformation Matrix' 1.2 0 0 0 1.2 0 0 0 1
These changes are active only for the current session, so once you've chosen a good sensitivity, you should apply it permanently by adding it to xorg.conf (or creating a file such as /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
If you are not sure whether this works, change this to some big value like 5.0, save the file and reboot.
Acknowledgements: I am grateful to Simon Thum from xorg mailing list, he was the one who gave the hint about the matrix.