24

I've a problem with the mouse speed... I have a gaming mouse with a hardware switch (1000 dpi, 1600 dpi, 2000 dpi) and I've set it to 1000 dpi, I've mouse acceleration and threshold set to 0. I tried solving with xset and xinput but it seemed to don't work at all. I don't know how to set mouse sensitivity under the min... Please help! Running Ubuntu 15.04 x86; mouse: Redragon Centrophorus; Thanks in advance.


I had a look to: manpages.ubuntu.com/manpages/vivid/man4/mousedrv.4.html , I found this (click me)

the second is what i've already tried (and doesn't work) anyone know how to use the first option?

5 Answers 5

28
  1. Open a terminal
  2. Run the command: xinput --list --short

Logitech USB Optical Mouse id=10 [slave pointer (2)]

(this is a part of output you will see, I found the name of my mouse Logitech USB Optical Mouse)

  1. Note the name of your device.
  2. Set the constant deceleration for the device:

xinput --set-prop "Logitech USB Optical Mouse" "Device Accel Constant Deceleration" 5

You need to play with with number, here 5. Don't loose focus of your terminal because mouse speed may become either too fast or too slow. lower the number the faster it will be, similarly, higher the number slower it will be. For me 1 is too fast, and 100 is too slow.

  1. To see the current settings for the device:

xinput --list-props "Logitech USB Optical Mouse"

If this didn't work for you, you can always revert it back like this:

xinput --set-prop "Logitech USB Optical Mouse" "Device Accel Velocity Scaling" 1
xinput --set-prop "Logitech USB Optical Mouse" "Device Accel Profile" -1

reference

3
  • 2
    its better to use ID instead of device label (name ) and It works, Good answer, thumbs up to U Oct 31, 2017 at 12:58
  • 1
    Very important: when writing commands to a startup file, field names should be used because device ids can change dynamically (c.f. askubuntu.com/questions/938589/…). Mar 1, 2019 at 9:08
  • 3
    Depending on the speed/acceleration property name (xinput --list-props "DEVICE NAME") you may be have to use the property "libinput Accel Speed": xinput set-prop "DEVICE NAME" "libinput Accel Speed" -1 Mar 1, 2019 at 9:22
5

For a Corsair M65 gaming mouse i did the following

$xinput --list --short ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Corsair Corsair M65 Gaming Mouse id=9 [slave pointer (2)] ⎜ ↳ Corsair Corsair M65 Gaming Mouse id=11 [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)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Corsair Corsair M65 Gaming Mouse id=10 [slave keyboard (3)] ↳ Metadot - Das Keyboard Das Keyboard id=12 [slave keyboard (3)] ↳ Metadot - Das Keyboard Das Keyboard id=13 [slave keyboard (3)] ↳ Corsair Corsair M65 Gaming Mouse id=14 [slave keyboard (3)]

So my mouse id i 9. I get registers associated with this mouse:

    $ xinput --list-props 9
Device Corsair Corsair M65 Gaming Mouse:
    Device Enabled (149):   1
    Coordinate Transformation Matrix (151): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (286):   0
    libinput Natural Scrolling Enabled Default (287):   0
    libinput Scroll Methods Available (288):    0, 0, 1
    libinput Scroll Method Enabled (289):   0, 0, 0
    libinput Scroll Method Enabled Default (290):   0, 0, 0
    libinput Button Scrolling Button (291): 2
    libinput Button Scrolling Button Default (292): 2
    libinput Middle Emulation Enabled (293):    1
    libinput Middle Emulation Enabled Default (294):    0
    libinput Accel Speed (295): 0
    libinput Accel Speed Default (296): 0.000000
    libinput Accel Profiles Available (297):    1, 1
    libinput Accel Profile Enabled (298):   1, 0
    libinput Accel Profile Enabled Default (299):   1, 0
    libinput Left Handed Enabled (300): 0
    libinput Left Handed Enabled Default (301): 0
    libinput Send Events Modes Available (271): 1, 0
    libinput Send Events Mode Enabled (272):    0, 0
    libinput Send Events Mode Enabled Default (273):    0, 0
    Device Node (274):  "/dev/input/event3"
    Device Product ID (275):    6940, 6917
    libinput Drag Lock Buttons (302):   <no items>
    libinput Horizontal Scroll Enabled (303):   1

And i set the libinput Accel Speed (295) to -1 to slow it down.

$xinput -set-prop 9 295 -1

I then just added this to start-up applications.

1
  • thanks so much for sharing! this is what finally worked for my Elecom trackball Jun 22, 2023 at 23:40
4

I ended up having to do

xinput --list --short

as said by original answerer, but had to do

xinput set-prop 17(my device id) "Device Accel Constant Deceleration" 2

to make it work on my Xubuntu 16.04 setup, because i have multiple devices matching 'Microsoft Microsoft Nano Transceiver 1.1' ..

3

If ConstantDeceleration is not available, you can use negative accelerations.

In Debian XFCE I used:

xinput set-prop 8 "libinput Accel Speed" -0.9
1

This morning my mouse must have drunk too much coffee. I tried to sedate it via System Setting | Mouse & Touchpad but it had absolutely no effect. The question & answers here were helpful to me. I describe my own experience which might be useful to others:


Some relevant online documentation: https://www.x.org/wiki/Development/Documentation/PointerAcceleration says the following:

Scenarios

If your mouse moves far too fast, ?ConstantDeceleration is your friend. Set to 2 or higher to divide speed accordingly. This will not discard precision (at least only on nv-reset, see Velocity approximation or below).

If your high-performance device does not repond well to acceleration, you might need to reduce velocity scaling first.

If you like the speed but need some more control at pixel-level, you should set ?AdaptiveDeceleration to 2 or more. This allows to decelerate slow movements down to the given factor. You might want to keep nv-resets away by setting ?VelocityReset to e.g. 500 ms, and maybe tweak velocity scaling to tune results.

Step 1 - Find the device id: (as in @edward-torvalds answer)

(lf-env) craig@craig-desktop:~/work/leaflet-1$ xinput --list --short
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ MOSART Semi. 2.4G Wireless Mouse          id=11   [slave  pointer  

My mouse is id==11, this number can be used for setting properties. Field names can also be used. When writing commands to a startup file, field names should be used because device ids can change dynamically (c.f. here ).

Step 2 - Find the current device settings and the property id numbers:

(lf-env) craig@craig-desktop:~/work/leaflet-1$ xinput -list-props 11
Device 'MOSART Semi. 2.4G Wireless Mouse':
    ...
    Device Accel Profile (262): 0
    Device Accel Constant Deceleration (263):   1.000000
    Device Accel Adaptive Deceleration (264):   1.000000
    Device Accel Velocity Scaling (265):    10.000000
    ...

The properties I finally decided to adjust are as follows:

Device Accel Constant Deceleration (263):   [original value 1.0]
Device Accel Adaptive Deceleration (264):   [original value 1.0]
Device Accel Velocity Scaling (265):            [original value 100.0]

The online documentation mentioned above gives descriptions of these values. Here I add some description based on subjective "feeling" and that documentation.

  • Device Accel Constant Deceleration (263): -- Mouse sensitivity. Lower settings are slower. Feels like mouse velocity is divided by this factor.

  • Device Accel Adaptive Deceleration (264): -- When mouse is moving at low speeds, the velocity is further divided by this factor. The overall feeling is having two seperate gears, lo-gear and high-gear. In my personal case, I got the best result by matching the settings with a physiological gearing: for lo-gear my palm-heel is down and I am making fine mouse movements with my finger muscles. For high gear, my palm-heel is up or sliding and I am making broad movements with arm muscles while gripping the mouse firmly. It can be a little tricky controlling the transition - if there were another input to tell whether the palm-heel was up/sliding or down/fixed it would be perfect!

  • Device Accel Velocity Scaling (265): -- This factor divides the raw numerical data, acting like "Device Accel Constant Deceleration" but also throwing away integer resolution. ? Maybe.

My current settings are as follows:

(lf-env) craig@craig-desktop:~/work/leaflet-1$ xinput -set-prop 11 263 10
(lf-env) craig@craig-desktop:~/work/leaflet-1$ xinput -set-prop 11 264 1000
(lf-env) craig@craig-desktop:~/work/leaflet-1$ xinput -set-prop 11 265 10

(lf-env) craig@craig-desktop:~/work/leaflet-1$ xinput -list-props 11
Device 'MOSART Semi. 2.4G Wireless Mouse':
...
    Device Accel Profile (262): 0
    Device Accel Constant Deceleration (263):   10.000000
    Device Accel Adaptive Deceleration (264):   1000.000000
    Device Accel Velocity Scaling (265):    10.000000
...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .