Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

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

Is there way to increase the mouse speed in KDE4? I don't want any pointer acceleration, it's just the mouse speed that I want to change.

Edit: Unfortunately, editing the xorg.conf is not an option for me, because I want the users to be able to configure the mouse speed themselves and it is company policy do deny users permission to change the xorg.conf.

share|improve this question
what is the difference between those two? – Web-E Aug 7 '12 at 12:39
@Web-E Acceleration is the rate at which the velocity changes with time – Oleh Prypin Aug 7 '12 at 12:40
@Web-E those are 2 different things. – Bruno Pereira Aug 7 '12 at 13:21

KDE has not built this into its control center yet, but you can use xinput from the command line. First, run xinput list to find the device number of your mouse:

$ 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)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]

On my laptop, the device id I want is 10 (SynPS/2 Synaptics TouchPad). On your system, you will have to decide which device is the correct one. Next, run xinput list-props <your device id> to see the current settings for that device:

$ xinput list-props 10
Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (144):   1
    Device Accel Profile (266):     1
    Device Accel Constant Deceleration (267):       2.500000
    Device Accel Adaptive Deceleration (268):       1.000000
    Device Accel Velocity Scaling (269):    12.500000
  [ many more settings omitted ]

The property you are interested in is "Device Accel Constant Deceleration (267)". To slow your mouse down, the value must be increased by running xinput set-prop <your device id> <property id> <value>:

$ xinput set-prop 10 267 5.0

In this example, the value is increased from 2.5 to 5.0 and the mouse moves at half-speed.

share|improve this answer
thanks for the reply, IMO it's most useful of the rest – mvbl fst Jun 18 '13 at 16:08
You just can't set this below 1.0 which still is way too slow in my case. – pong Sep 28 '13 at 9:00
No problem with list-props, but set-prop results in:            X Error of failed request: BadAccess (attempt to access private resource denied)             X.Org X Server 1.16.0, running Unity desktop.   For X.Org X Server the mouse’s id is 6 and the property number 233. – Incnis Mrsi Sep 15 '15 at 19:03
Ī̲ found that property numbers fluctuate over instances of X server (even not due do different software!). See also – Incnis Mrsi Sep 15 '15 at 19:37
@pong You're mistaken on that. I routinely set it to 0.75 to speed my mouse up. – chrylis Jan 16 at 16:31

The terminology of the mouse settings in Linux (Xorg) are slightly different from the windows world.

There are three important settings:

  • threshold - The trigger for acceleration
  • acceleration - The speed after the threshold has been reached
  • resolution - The "speed"

These settings are independent of the Desktop Environment. They are pure X settings. So this always works. See also the mouse section of xset for a truly independent way to change these settings.

The Unity settings manager seems to rename the threshold to sensitivity. But as you are talking about KDE, that should not matter.

Only threshold and acceleration can be changed by the user. The resolution is a setting to be made in xorg.conf. But usually, the first two settings are enough for most users.

Linuxreviews has an explanation of these values.

Basically: The mouse moves at a base speed (modifiable using resolution). If the mouse moves n pixels (n = threshold) in a short time, then the base speed is multiplied with acceleration. As an example, if you want to disable acceleration completely, you can set the threshold to 0. In words: If the mouse moves 0 pixels in a short time, I'll use base-speed * acceleration. So a threshold of 0 gives you constant mouse-speed.

So, these two values give you a very fine grained control over the speed.

share|improve this answer
The parameter specifically in question is resolution, which cannot be modified using xset. – Luke Mar 1 '13 at 21:52
To clarify, threshold = 0 gives you polynomial acceleration in X, which is not at all like constant speed. Use the solution above. – Simon Thum Apr 29 at 11:16

Though I am not very clear on the question here is my suggestion.


A quick search reveals there is no such option to increase mouse speed under threshold value.

Some users suggest changing mouse resolution in /etc/X11/xorg.conf file (mouse InputDevice section) like

Option "Resolution" "400"

But most user said it didn't work.

You can increase the threshold value so that the acceleration doesn't start until the threshold value reaches. (The setting is in Mouse> Advanced Settings)

A related post can be found here.

For Unity

  • Press Super key (windows key).
  • Search for mouse.
  • Select Mouse And Touchpad
  • Now change the sensitivity to higher value. Possibly this is what you want.

    mouse settings

share|improve this answer
Okay, this is exactly the setting I am looking for but your screenshot is taken from Gnome and my question is concerning KDE4. – André Aug 7 '12 at 13:56
Sorry for not checking your question properly. Updated. – Web-E Aug 7 '12 at 14:23
Wow, thanks! It seems you have put a lot of effort into this. Unfortunately, editing the xorg.conf is not an option, because I want the users to be able to configure the "Resolution"-setting themselves and it is company policy do deny users permission to change the xorg.conf. I will add this restriction to the original comment but upvote your comment nevertheless. – André Aug 8 '12 at 7:49
Omg. An ability to set the «pointer resolution» via only a config file (i.e. not interactively) should be considered as a bug. How many times a user should restart XServer to find an apropriate resolution? Five? Ten? It is as funny as sad… – Hi-Angel Jan 5 '15 at 15:00
I just installed the unity-control-center, set the mouse sensitivity to high, and it didn't worked. – Hi-Angel Jan 5 '15 at 15:17

Given what the above post had said, I found this work around.

The fact is that the mouse move at a constant multiple of base speed, where the multiple is set by the "acceleration" parameter.

However, this multiplier is applied only after your mouse move faster than a "threshold" speed, specified by the "sensitivity" parameter.

This creates the awkward feel of "acceleration" where if you start to move your mouse fast, it begins to jump around uncontrollably as it moves past the threshold speed.

So what you can do is setting the "sensitivity" to 0, thus making the threshold to be 0. What this does is your acceleration is applied all the time to your mouse speed.

Then your mouse speed is just a multiple of your "acceleration" parameter, and since it is a linear multiplication, you should have a constant speed proportional to the acceleration parameter. Without the feeling of acceleration and jumps.

So in short: Set sensitivity to 0. Adjust the parameter "acceleration" as if it is "speed"

share|improve this answer
This answer is the generic version of lolmaus's KDE-oriented answer. I did just this, although I first tried with threshold 1 pixel since other answers mentioned 0 as "disable". Anyway I could test it immediately by running this: xset mouse 4 0 and the like, and finally settled for xset mouse 2 0. This is a kind of a hack (using accel feature for plain speed) but works, though I feel on use that there is still some threshold applied. – Stéphane Gourichon May 6 '15 at 7:16

The steps to increase mouse sensitivity:

First list all the devices:

$ xinput list                                                               
⎡ Virtual core pointer                          id=2    [master pointer  (3)]                                 
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]                                 
⎜   ↳ PixArt USB Optical Mouse                  id=10   [slave  pointer  (2)]                                 
⎜   ↳ ETPS/2 Elantech Touchpad                  id=15   [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)]                                 
    ↳ USB2.0 UVC 2M WebCam                      id=9    [slave  keyboard (3)]                                 
    ↳ Asus Laptop extra buttons                 id=13   [slave  keyboard (3)]                                 
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]                                 
    ↳   USB Keyboard                            id=11   [slave  keyboard (3)]                                 
    ↳   USB Keyboard                            id=12   [slave  keyboard (3)]   

In the example we see the mouse id is 10. Next list its properties:

$ xinput list-props 10
Device 'PixArt USB Optical Mouse':
        Device Enabled (140):   1
        Coordinate Transformation Matrix (142): 10.400000, 0.000000, 0.000000, 0.000000, 10.400000, 0.000000, 0.000000, 0.000000, 10.400000
        Device Accel Profile (265):     0
        Device Accel Constant Deceleration (266):       1.000000
        Device Accel Adaptive Deceleration (267):       1.000000
        Device Accel Velocity Scaling (268):    10.000000
        Device Product ID (260):        2362, 9488
        Device Node (261):      "/dev/input/event5"
        Evdev Axis Inversion (269):     0, 0
        Evdev Axes Swap (271):  0
        Axis Labels (272):      "Rel X" (150), "Rel Y" (151), "Rel Vert Wheel" (264)
        Button Labels (273):    "Button Left" (143), "Button Middle" (144), "Button Right" (145), "Button Wheel Up" (146), "Button Wheel Down" (147), "Button Horiz Wheel Left" (148), "Button Horiz Wheel Right" (149)
        Evdev Middle Button Emulation (274):    0
        Evdev Middle Button Timeout (275):      50
        Evdev Third Button Emulation (276):     0
        Evdev Third Button Emulation Timeout (277):     1000
        Evdev Third Button Emulation Button (278):      3
        Evdev Third Button Emulation Threshold (279):   20
        Evdev Wheel Emulation (280):    0
        Evdev Wheel Emulation Axes (281):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (282):    10
        Evdev Wheel Emulation Timeout (283):    200
        Evdev Wheel Emulation Button (284):     4
        Evdev Drag Lock Buttons (285):  0

The «Coordinate Transformation Matrix» is exactly what we want. Remember its №142.

By changing this property we can increase the pointer speed. These values actually is a transformation matrix that used to calculate a pointer movement. From the link:

By default, the CTM for every input device in X is the identity matrix. As an example, lets say you touch a touchscreen at point (400, 197) on the screen:

⎡ 1 0 0 ⎤   ⎡ 400 ⎤   ⎡ 400 ⎤
⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥
⎣ 0 0 1 ⎦   ⎣  1  ⎦   ⎣  1  ⎦

The X and Y coordinates of the device event are input in the second matrix of the calculation. The result of the calculation is where the X and Y coordinates of the event are mapped to the screen. As shown, the identity matrix maps the device coordinates to the screen coordinates without any changes.

So, what we want to do with the matrix — is to set the values that according to x and y to any other particular value, and this would change the pointer speed. An example from my PC:

$ xinput set-prop 10 142 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000

It is xinput set-prop <device-id> <property-number> <property-values>. Play a bit with this until you find the appropriate ones. Note: do not change the last value of the matrix. That was my error when I tried it to get work — in this case you just won't see any difference.

Acknowledgements: I am grateful to Simon Thum from xorg mailing list, he was the one who gave the hint about the matrix.

share|improve this answer
Best to leave Coordinate Transformation Matrix to its original purpose, "transforming coordinates" for example in case of screen orientation or working with touch screens etc. Way simpler is to adjust Device Accel Constant Deceleration for example. – Kari Kääriäinen Feb 21 '15 at 17:10
@KariKääriäinen like the others confused. So called «pointer acceleration» have nothing to do with mouse sensitivity, it just allows to move a pointer as further as faster you move it. That is, if you move mouse the same distance but with different speeds, the pointer would be moved to a different distance. That's pretty uncomfortable, you have to slow down every time to hit some point. But changing the transformation matrix allow to you in some sense to emulate an increased mouse sensitivity. And btw, specifically the deceleration slows the speed. – Hi-Angel Feb 21 '15 at 18:02
Interesting, but this method has a drawback: when using this, some pixels are just not reachable. To make this more obvious I tried xinput set-prop 11 138 40, 0, 0, 0, 40, 0, 0, 0, 1 and confirmed that the mouse only reached coordinates spaced 40 pixels apart. Real-world use would probably only use 2 or 4 instead of 40, yet still miss pixels. I settled for the other method (use acceleration feature as constant speed gain) because it does not have this drawback. – Stéphane Gourichon May 6 '15 at 7:20
The only right answer. – Mike Mar 17 at 20:54

How to adjust mouse speed in KDE
  • without enabling mouse acceleration
  • and only using the settigns dialog (no console, no config files)

This is a colloquial summary of exhuma's answer, don't forget to upvote it.

In KDE, mouse acceleration is not logarithmic. That is, it has two constant mouse speeds: non-accelerated and accelerated. It switches from one to another when you jerk the mouse quickly enough.

The first speed is non-configurable (at least, from GUI). The second speed is configurable.

The solution is:

  1. Set "Pointer threshold" to 0. As a result, the second speed will be applied at all times.
  2. Adjust "Pointer acceleration" to make that speed bigger or smaller.

You will end up with a constant, non-dynamic cursor speed adjusted to your liking.

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.