Mouse Too Wild?

Something I noticed the last few years - mice are WAY too wild for me! Combine that with mismarked mouse settings and it was unbearable, especially when Windows has better control - insulting!

Have you noticed "Sensitivity" seems to do almost nothing for you? That's because it used to be labeled "Threshold" which it what it actually still is. At the low (left) setting it takes almost no quick movement to trigger acceleration while at the high (right) setting it takes more quick movement to trigger acceleration. Is that "Sensitivity"? Not in my book. It's the threshold of acceleration! You may also notice it seems to set backwards from what you'd expect.

There is no... none... zilch... control in this mouse setting GUI window that controls BASIC MOUSE SENSITIVITY. That is, when you move the mouse slowly, does it move a little or a lot for a given motion.

This is where xinput comes in. You can cut down the basic sensitivity of your mouse and get back the fine control that's been lost.

First, in a terminal, use xinput to find the name of your mouse:

xinput list
⎡ Virtual core pointer                            id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ DELL DELL USB Laser 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)]
    ↳ Power Button                                id=7    [slave  keyboard (3)]
    ↳ IBM IBM Rapid Access II Keyboard            id=8    [slave  keyboard (3)]
    ↳ IBM IBM Rapid Access II Keyboard            id=9    [slave  keyboard (3)]

Mine is called "DELL DELL USB Laser Mouse" but yours is likely different and you need it exactly. You can use its ID "11" for quick testing but it may change on the next session so don't rely on it.

Now the big test. Here is the command I would use to cut down mouse sensitivity by 1/2 except replace my "DELL DELL USB Laser Mouse" with your mouse name in quotes:

xinput set-prop "DELL DELL USB Laser Mouse" "Device Accel Constant Deceleration" 2

Note that a value of 2 is for 1/2, 3 for 1/3, 4 for 1/4, etc. The higher the number the more it slows the mouse down. Try 3 or 4 or 5 if you need even more. I use about 3.

One thing to note, once you've got the finer control of the mouse with xinput, go back to the mouse GUI settings to adjust your acceleration and threshold. My settings are in the picture.

Got the value you like for the xinput command? Want to make it permanent? Place the xinput command in your Startup Applications and it'll run every boot:

All Comments Welcome

6 Likes

To Make This Permanent and System Wide

The above is fine for one user at a time but to make it truly system wide, here is the way I did it in Ubuntu-Mate 16.04.

This is based on, but not the same as, THIS 2010 LINK. The differences are how X11 configuration has changed in Ubuntu.

As root, create /usr/share/X11/xorg.conf.d/60-mymouse.conf

There’s multiple ways to do this. Here’s one at the terminal using Pluma:

gksu pluma /usr/share/X11/xorg.conf.d/60-mymouse.conf

We previously used the xinput command to find the exact name of your mouse. Mine was “DELL DELL USB Laser Mouse” but you MUST replace it with yours.

We also found a numeric value for “Device Accel Constant Deceleration”. I’ll use a value of 2 for 1/2 sensitivity but use the value you choose.

Here is what I would type into the 60-mymouse.conf file:

Section "InputClass"
   Identifier      "DellUSB"                    # Whatever you want.
   MatchProduct    "DELL DELL USB Laser Mouse"  # Product name from xinput list.
   Option          "ConstantDeceleration" "2"   # The same value as xinput.
EndSection

Identifier is nothing fancy needed, just any name you want to use.
MatchProduct is YOUR mouse name found originally with the xinput command.
Option sets ConstantDeceleration to a value of 2 in this example.

You can use a “#” in this file anywhere on a line to add comments as shown.

Save the file when you are done editing.

Now, reboot and it should work!

If you previously added a Startup Application to run the xinput command, you can disable or remove it. It won’t hurt anything, it’s just redundant.

Just in case something goes wrong

In the unlikely case something goes wrong, like the mouse stops working, use a console or recovery mode to delete the file:

sudo rm /usr/share/X11/xorg.conf.d/60-mymouse.conf
1 Like

@(Ubuntu)MATE devs… when the wrinkles of the GTK3 transition in Yakkety have been ironed out, this is one feature that is sorely needed:
Add true mouse sensitivity control to the mouse GUI and rename the current one back to “Treshold”.

1 Like

Reviving this topic cause I saw on linuxgaming reddit that disabling mouse acceleration profiles is being worked on, and might be better to work on all this at the same time.

@vkareh Since you are working on it, do you know if it would be possible to fix pointer speed threshold(which right now is called sensitivity in the app), and add a proper sensitivity option?

What do you mean by proper sensitivity option? I haven't yet figured out what's wrong with the current settings, but I agree that there seem to be inconsistencies. Describe what your expected behavior (and what's currently happening instead) is and maybe that'll help me narrow down the issue :slight_smile:

The expected behavior should be that depending on the setting, the cursor should move faster or slower depending on your mouse movement. current behavior is that nothing happens no matter where the slider is. Basically what @Bill_MI wrote on the first post of this topic.

Someone here pointed out that they change the name of the setting from Threshold to Sensitivity. Maybe it was also changed on Mate at the time...

Edit: Was playing around the mouse settings, and Locate Pointer is not working with either left or right CTRL button. Anyone else?

Hello vkareh

I found out when I attached a high resolution gaming mouse (chosen for durability, I do not play computer games) - if you look at it it has already moved half way accross a large screen. :rocket:

Hi @vkareh, Here's my attempt as defining "basic sensitivity". One must Ignore any affect from acceleration by either turning it off or moving so slow acceleration isn't triggered.

Basic sensitivity is the conversion factor from mouse movement to screen movement. Does moving the cursor from left edge to right edge take a mouse movement of 1 inch (high sensitivity) or 10 inches (low sensitivity).

The goal is to have very fine control when moving slowly but allow acceleration to do the long jumps when moving faster.

Every mouse I had was really bad (too sensitive) in 16.04 before applying the above fix. But 18.04 definitely changed for the better with the exact same hardware. In fact, I've never needed the above fix in 18.04. This is not because of any slider setting, however, just the basic sensitivity it had under-the-hood was better.

EDIT: I may have missed the point that no slider seems to exist to adjust this basic sensitivity as there used to be eons ago. The slider marked "sensitivity" does not and last I checked adjusted how many pixels it took inside a time frame (100msec?) to trigger acceleration - just like the slider previously labeled "threshold".

I'm very curious what you find in the code but I imagine it's gotten quite complex. And thanks a bunch for looking at it!!! :grinning:

Found some way to change the speed similar to first post, but with more options. Its on Ving-Thor comment a little bit down.

1 Like

Good find and it shows lack of caring about the sensitivity setting the referenced post calls "resolution" described as "Speed". A GUI control for this seems to be lacking.

All we have is acceleration - how much ("Acceleration") and sensitivity to triggering it ("Sensitivity"). Basic "Speed" isn't there.