Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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
2  
what is the difference between those two? –  Web-E Aug 7 '12 at 12:39
1  
@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

6 Answers 6

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
2  
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

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

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

For KDE

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
1  
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 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 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

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 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 at 18:02

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

 
discard

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.