How to disable mouse acceleration in Ubuntu 16.04

59,376

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.

Solution 4

GNOME manages mouse acceleration by itself. So not only the xorg settings should be adjusted, but also the gnome ones.

$ gsettings set org.gnome.desktop.peripherals.mouse accel-profile flat
$ gsettings set org.gnome.desktop.peripherals.mouse speed 0

And you can enjoy CS:GO now :-)

Solution 5

I'm going to post the solution that worked for me : (Create a configuration file)

Firstly, you need to create an empty file named 50-mouse-acceleration.conf under /usr/share/X11/xorg.conf.d/ This can be done by the command :

sudo gedit /usr/share/X11/xorg.conf.d/50-mouse-acceleration.conf

Then, inside this file you copy the code below :

Section "InputClass"
    Identifier "My Mouse"
    MatchIsPointer "yes"
    Option "AccelerationProfile" "-1"
    Option "AccelerationScheme" "none"
    Option "AccelSpeed" "-1"
EndSection

Last thing you need to do, is to replace the the Identifier "My Mouse" with the id of your mouse (in quotes). Type

xinput list

and from the list shown copy the id of the mouse device. You don't have to replace any other line beyond this. E.g if your mouse id is 12, the complete code should be like this :

Section "InputClass"
    Identifier "12"
    MatchIsPointer "yes"
    Option "AccelerationProfile" "-1"
    Option "AccelerationScheme" "none"
    Option "AccelSpeed" "-1"
EndSection

I hope this helps :)

Share:
59,376

Related videos on Youtube

vasily
Author by

vasily

Updated on September 18, 2022

Comments

  • vasily
    vasily over 1 year

    I checked through the answers currently available, but none of them seems to disable mouse acceleration permanently.

    xset m 0 0 seems to disable it for a brief moment, but it comes back within minutes.

    How do I permanently disable mouse acceleration?

  • Dwayne Hinterlang
    Dwayne Hinterlang over 7 years
    Why was it required to get the device id? That aside, your solution worked for me, thank you!
  • Daniele Segato
    Daniele Segato over 7 years
    Ty, but I think this should be done in /etc/X11/xorg.conf.d and not /usr
  • leinaD_natipaC
    leinaD_natipaC over 7 years
    is the chmod command at the end necessary? I created a file using sudo touch in that location and it already had those permissions with no need to change. Does it not work like that on other linux systems?
  • Cbhihe
    Cbhihe over 7 years
    @leinaD_natipaC: If the file you created already has those permissions, don't do anything else. I only included the sudo chmod... cmd to make absolutely sure that no access permission issue may further muddle things up.
  • CharlyDelta
    CharlyDelta over 7 years
    I tried this using Ubuntu 16.04, and it does not work. I am using the nvidia proprietary driver, so I don't know whether the xorg files will be considered anyway
  • CharlyDelta
    CharlyDelta over 7 years
    Update: this approach worked though: webupd8.org/2016/08/how-to-completely-disable-mouse.html
  • VJ-
    VJ- almost 7 years
    Thanks.. this worked for me on Ubuntu 16.04. Description of the program "utilities to configure MATE desktop"
  • Ferrybig
    Ferrybig over 5 years
    Your link to the tip for 16.04 broke
  • Cbhihe
    Cbhihe over 5 years
    @Ferrybig: Yes, apparently Webupd8 did something that broke the old addressing. Fixed.
  • Cbhihe
    Cbhihe over 5 years
    @CharlyDelta: NVidia sells you hardware and drivers to take advantage of that hw. xorg has zilch to do with that. It is the X server you may or may not use (yr choice) on any nbr of systems. True, back in the daysxorg was developped for the Unix ecosystem to run specifically on Intel hw, but it is not restricted to that any longer and by 'any longer' I mean for the past 15 years or so. So, long story short, xorg does run with Nvidia technology in yr box. No problem...
  • fIwJlxSzApHEZIl
    fIwJlxSzApHEZIl over 5 years
    does anything need to be reloaded? how do we know this is working? does this affect the native touchpad / trackpad as well? that's the one I'm currently interested in modifying
  • fIwJlxSzApHEZIl
    fIwJlxSzApHEZIl over 5 years
    Can you put two entries into this file?
  • Manolis Lykos
    Manolis Lykos over 5 years
    Yes, you can add two entries in the file, written as sections. An example of the syntax can be found here : blog.interlinked.org/tutorials/linux.html which configures both a keyboard and a mouse.
  • Instein
    Instein over 2 years
    It doesn't work in Ubuntu 16.04. In 16.04 there are only 3 options under org/gnome/desktop/peripherals/mouse: left-handed, nature-scroll and speed. No accel-profile setting.