Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do I tweak the precise mathematical curve used for the mouse acceleration in Ubuntu?

share|improve this question
This is geeky :) – Adam Byrtek Apr 3 '11 at 10:31
@Adam: Lol thanks :) – Mehrdad Apr 4 '11 at 7:55

That depends on what mouse profile you're using.

This blog describes a new mouse acceleration method added to Debian Squeeze (should also be in Maverick since Squeeze used xorg-server 1.7.7 and Maverick used 1.9.0). You can read the developer documentation here.

If you look at the source, you can derive the curve based on which Profile you're using. In the patch for AccelerationProfile, you can see the function SetAccelerationProfile which selects your profile. If you look at each of those profiles, you can see how the function is defined.

So to tweak it, you modify whatever inputs your selected profile takes. Presumably these are set in xorg.conf (which, fyi, doesn't exist by default).

To really customize it, you can write your own function and compile your own xorg-server : D

share|improve this answer
Aww I'm not nerdy enough to start recompiling pieces of the OS. D: +1 Thanks though... I'll probably accept this if there's no simpler solution. :) – Mehrdad Apr 6 '11 at 0:14
Minor tweaking should only require changes to the xorg config file, but to figure out the actual curve you'll need to figure out the code. Unless someone else already wanted the same thing. – idbrii Apr 6 '11 at 0:30
I'd imagine I'm not the first person to want to do this, but I haven't found the settings anywhere... :\ – Mehrdad Apr 6 '11 at 0:31
For twiddling with the values, this is probably a more friendly guide:… Keep in mind that you probably need to create the xorg.conf file. – idbrii Apr 6 '11 at 0:40
up vote 0 down vote accepted

Okay, I think I found the answer...

Something like this should do the trick:

xinput set-prop "SynPS/2 Synaptics TouchPad" \
    "Synaptics Edge Motion Speed" 2000, 5000
xinput set-prop "SynPS/2 Synaptics TouchPad" \
    "Device Accel Constant Deceleration" 4
synclient MinSpeed=1.00 MaxSpeed=3.00 AccelFactor=0.025
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.