Bug 95928 - [PATCH] Fractional values for mouse acceleration (deceleration in this case)
Summary: [PATCH] Fractional values for mouse acceleration (deceleration in this case)
Status: RESOLVED FIXED
Alias: None
Product: kcontrol
Classification: Miscellaneous
Component: kcmmouse (show other bugs)
Version: 2.0
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Marie Loise Nolden
URL:
Keywords:
: 129179 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-12-28 15:15 UTC by Marcin Orlowski
Modified: 2008-05-18 16:09 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Patch to allow accelerations as low as 0.1 (507 bytes, patch)
2007-04-22 18:07 UTC, Constantin Berzan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marcin Orlowski 2004-12-28 15:15:21 UTC
Version:           2.0 (using KDE 3.3.1,  (3.1))
Compiler:          gcc version 3.3.5 (Debian 1:3.3.5-3)
OS:                Linux (i686) release 2.6.9

Mouse Acceleration should allow entering values lower than 1.0. I personally got a Creative Mouse which is far too fast for my habbits and even 1.0 is too much for this device. I'd love to decelerate it a bit but unfortunately 1.0 is the lowest value. 0.8 would cure my nerces ;)
Comment 1 Dominic Sacré 2005-11-19 02:20:10 UTC
I second this. I've got a new Logitech laser mouse, which is very precise, but reacts somewhat too sensitive in my opinion. xset does support acceleration settings less than 1.0, so I don't see a reason why the KDE control panel shouldn't.
Comment 2 Logan Lewis 2006-01-03 05:34:31 UTC
I have also experienced this with a mouse I have just purchased.  Turns out that you can set a decimal value in ~/.kde/share/config/kcminputrc and it works fine, but that the kcontrol GUI will not display that decimal nor set one itself.  
Comment 3 Constantin Berzan 2006-12-06 14:49:00 UTC
This bug also bothers me, with an a4tech notebook optical mouse.

Related bug entry: https://bugs.kde.org/show_bug.cgi?id=129179
One of them should be made "duplicate" - the other one "new" / "confirmed?". Could somebody do this please? (I can't seem to find how. Perhaps I don't have the required permissions.)
Comment 4 Philip Rodrigues 2006-12-06 15:09:44 UTC
*** Bug 129179 has been marked as a duplicate of this bug. ***
Comment 5 Philip Rodrigues 2006-12-06 15:11:37 UTC
Wishlist, I think. See bug 129179 for a workaround to get the desired behaviour.
Comment 6 Constantin Berzan 2007-04-22 18:07:35 UTC
Created attachment 20352 [details]
Patch to allow accelerations as low as 0.1

My first patch, so if I did something wrong please tell me.
Comment 7 Constantin Berzan 2007-04-22 18:11:28 UTC
Sorry, forgot to tell:
The patch is for kdebase/kcontrol/input/mouse.cpp
Comment 8 Philip Rodrigues 2007-04-30 22:48:49 UTC
Constantin, could you also send your patch to kde-devel@kde.org ? It's probably more likely to get some feedback there. Thanks!
Comment 9 Stefan Monov 2007-05-01 14:30:42 UTC
Constantin, your patch is technically fine. There is something you are missing though:
*Acceleration is not the same as speed.*
*Acceleration is not the same as the mouse-to-pointer speed ratio.*

Acceleration is just what it says - the _acceleration_ granted to you when you're trying to reach a distant point on the screen - that is, the speed-up you get when you suddenly move your mouse for more than the threshold (several pixels).

What we need is a new (additional) field - "Pointer speed". It should have the highest priority: regardless of everything else, the mouse-to-pointer ratio should be multiplied by it. So, if I have your kind of Creative Mouse or whatever, I would decrease the speed, *not* the acceleration. On the other hand, if I mostly do like my slowed-down pointer, but would also wanna be able to reach distant parts of the screen easily, I will _also_ set the acceleration (to a high value).

If we don't get a speed slider but the acceleration bottom limit becomes 0.1, then when a Creative Mouse user (for whom accel=0.1) moves the mouse a little bit (e.g. when fine-drawing), it'll be relatively fast (not precise, that is), but when he tries to reach the close button [X] in the top-right corner, he'll get slowed down: this behavior would be nonsensical.

Hence, speed should range from 0.1 to 20 while acceleration should range from 1 to 20.

What I described may not be supported by X. I don't know. If it is, could you amend your patch to include it?

Also let me have my uneducated nitpick... I think changing whole numbers like 20 to the double notation (20.0) is not useful but merely makes them harder to read. Perhaps you should keep them integer as they are?

BTW, for elaborate explanation of the meaning of acceleration, threshold and related terms, see the handbook of that kcontrol module.
Thanks.
Comment 10 Constantin Berzan 2007-05-01 16:32:10 UTC
Currently, X doesn't support a "pointer speed" option. It seems there is an effort to fix this (https://bugs.freedesktop.org/attachment.cgi?id=9565), but I don't know whether it'll make it into the 7.3 release scheduled this month. If it does, our problem goes away by itself.
Comment 11 Aaron J. Seigo 2007-05-02 00:32:58 UTC
SVN commit 660195 by aseigo:

allow accel < 1; patch by Constantin Berzan
CCMAIL:exit3219@gmail.com
BUG:95928


 M  +1 -1      mouse.cpp  


--- trunk/KDE/kdebase/workspace/kcontrol/input/mouse.cpp #660194:660195
@@ -197,7 +197,7 @@
     lay->setMargin(KDialog::marginHint());
     lay->setSpacing(KDialog::spacingHint());
 
-    accel = new KDoubleNumInput(1, 20, 2, tab2,0.1, 1);
+    accel = new KDoubleNumInput(0.1, 20, 2, tab2, 0.1, 1);
     accel->setLabel(i18n("Pointer acceleration:"));
     accel->setSuffix("x");
     lay->addWidget(accel);
Comment 12 Daniel Benamy 2008-01-08 07:07:52 UTC
I'm still seeing this problem (acceleration limited to 1.0) in KDE 3.5.8 on Fedora.
Comment 13 Maciej Pilichowski 2008-05-18 16:05:23 UTC
Not fixed in KDE 3.5.9.