As etapas para aumentar a sensibilidade do mouse:
Primeiro, liste todos os dispositivos:
$ 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)]
No exemplo, vemos a identificação do mouse como 10. A seguir, liste suas propriedades:
$ 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
A «Matriz de transformação de coordenadas» é exatamente o que queremos. Lembre-se de seu №142.
Alterando essa propriedade, podemos aumentar a velocidade do ponteiro. Na verdade, esses valores são uma matriz de transformação usada para calcular um movimento do ponteiro . No link:
Por padrão, o CTM para cada dispositivo de entrada em X é a matriz de identidade. Como exemplo, digamos que você toque em uma tela sensível ao toque no ponto (400, 197) na tela:
⎡ 1 0 0 ⎤ ⎡ 400 ⎤ ⎡ 400 ⎤
⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥
⎣ 0 0 1 ⎦ ⎣ 1 ⎦ ⎣ 1 ⎦
As coordenadas X e Y do evento do dispositivo são inseridas na segunda matriz do cálculo. O resultado do cálculo é onde as coordenadas X e Y do evento são mapeadas para a tela. Como mostrado, a matriz de identidade mapeia as coordenadas do dispositivo para as coordenadas da tela sem nenhuma alteração.
Então, o que nós queremos fazer com a matriz - é definir os valores que de acordo com x e y para qualquer outro valor particular, e isso iria alterar a velocidade do ponteiro. Um exemplo do meu PC:
$ 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>
. Brinque um pouco com isso até encontrar os apropriados. Nota: não altere o último valor da matriz. Esse foi o meu erro quando tentei conseguir trabalho - nesse caso, você simplesmente não verá nenhuma diferença.
Pelo menos versões recentes de xinput
permitem especificar dispositivos e opções por nome, portanto, este exemplo também pode funcionar:
xinput set-prop 'PixArt USB Optical Mouse' 'Coordinate Transformation Matrix' 1.2 0 0 0 1.2 0 0 0 1
Essas alterações estão ativas apenas para a sessão atual; portanto, depois de escolher uma boa sensibilidade, você deve aplicá-la permanentemente adicionando-a xorg.conf
(ou criando um arquivo como /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
Se você não tiver certeza se isso funciona, altere-o para um valor grande como 5.0
, salve o arquivo e reinicie.
Agradecimentos: Sou grato a Simon Thum, da lista de discussão do xorg, ele foi quem deu a dica sobre a matriz.