How to disable mouse acceleration in Ubuntu 16.04

Solution 1:

You can modify certain parameters of the mouse driver permanently, i.e. accross reboots.

First list Xorg input devices.
Results are for my present machine and will be different in yr case.
List Xorg session input devices in terminal (CRTL-ALT+T):

$ xinput --list 
⎡ Virtual core pointer                 id=2 [master pointer (3)]
⎜   ↳ Virtual core XTEST pointer       id=4 [slave pointer (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad       id=10 [slave pointer (2)]
⎜   ↳ PS/2 Generic 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)]
    ↳ Sleep Button                     id=8 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard     id=9 [slave keyboard (3)]
    ↳ HP WMI hotkeys                   id=12 [slave keyboard (3)]

So my mouse is identified by: "PS/2 Generic Mouse" and has identifier 11. For you it might be different.

Next, to list the mouse properties, do in terminal:

$ xset q | grep -A 1 Pointer
Pointer Control:
     acceleration:  2/1    threshold:  4

To experiment with zero mouse acceleration parameters,use:

$    xset m 0/1 4

Your device may have other parameters values. You can experiment with them until you are satisfied with the result. Doing so with the cli utility xset allows you to tweak the device parameters on the fly, i.e. without restarting the Xorg session. However those settings will not be preserved across reboots.

You need to make them persistent (until the next driver or system upgrade), by creating a new file in /usr/share/X11/xorg.conf.d/. For instance:

$ cd /usr/share/X11/xorg.conf.d

$ sudo vim 80-mouse-accel-disable.conf
Section "InputClass"
    Identifier "Set mouse acceleration to zero"
    MatchIsPointer "on"
    MatchDevicePath "/dev/input/event*"

    # Default value of mouse acceleration: 2/1 4
    # Set AccelerationNumerator to zero to disable
    Option "AccelerationNumerator" "0"
    Option "AccelerationDenominator" "1"
    Option "AccelerationThreshold" "4"
EndSection

$ sudo chmod 644 80-mouse-accel-disable.conf

That's it. You can logout and back in or reboot. In principle yr mouse acceleration should be persistently set to 0.

EDIT: As suggested in one of the comments below, the above may only apply to Ubuntu 14.04 and derived flavors. In later versions the config file syntax and keywords may change slightly, although the general principle of the solution remains valid. See this tip for version 16.04 and (perhaps) later (not tested by me).

Solution 2:

Simplest way to simple disable the whole mouse acceleration and not modifying it:

Create the following file with your editor of choice:

$ sudo vim /usr/share/X11/xorg.conf.d/90-mouse-accel-disable.conf

Add the follow content do remove the acceleration profile:

Section "InputClass"
    Identifier "mouse"
    MatchIsPointer "on"
    Option "AccelerationProfile" "-1"
    Option "AccelerationScheme" "none"
EndSection

Solution 3:

This worked for me on ubuntu 18.04 and it should also work on ubuntu 16.04.

Since ubuntu uses gnome, that means gnome will sometimes overwrite xorg.conf.d settings. Gnome uses dconf, which is a "database" full of settings that get applied when gnome starts, user logs-in, etc.
These settings are here so we(users) don't have to create such settings like 90-mouse.conf, and then debug why settings don't work, search for log files. etc. Plus the settings will stay the same once gnome will replace xorg with wayland.

How to:

  • Install dconf-editor sudo apt install dconf-editor
  • Open the dconf-editor and go to org -> gnome -> desktop -> peripherals -> mouse

Here is the setting for accel-profile which tells the computer what kind of mouse acceleration you want. You have these options:

  • default
  • flat ( accelerate the mouse with a constant value, aka disable mouse acceleration )
  • adaptive

To change the accel-profle setting:

  • Click on accel-profle
  • If the option Use default value is set to on turn it off
  • Then change the Custom value to flat if you want no mouse acceleration

The settings will be saved automatically.

My mouse is still to fast! HELP!
You can lower the mouse speed at org/gnome/desktop/peripherals/mouse/speed
The value can be between -1 and 1.