mouse acceleration issue

Jeroen Ruigrok/asmodai asmodai at wxs.nl
Tue May 17 05:31:11 PDT 2005


-On [20050509 21:22], Jeroen Ruigrok/asmodai (asmodai at wxs.nl) wrote:
>The logical pieces of the tree (programs/Xserver/hw/xfree86/os-support/bsd
>and programs/Xserver/hw/xfree86/input/mouse) didn't have any significant
>changes from 6.8.1 to 6.8.2 and nothing special from 6.8.2 to HEAD that
>might have fixed it.

YONETANI Tomokazu and me managed to track this down to:

--- programs/Xserver/hw/xfree86/common/xf86Xinput.c.orig	2005-05-16 23:20:56.000000000 +0900
+++ programs/Xserver/hw/xfree86/common/xf86Xinput.c	2005-05-16 23:23:25.000000000 +0900
@@ -932,15 +932,10 @@
 		    /* modeled from xf86Events.c */
 		    if (device->ptrfeed->ctrl.threshold) {
 			if ((abs(dx) + abs(dy)) >= device->ptrfeed->ctrl.threshold) {
-			    local->dxremaind = ((float)dx * (float)(device->ptrfeed->ctrl.num)) /
-			        (float)(device->ptrfeed->ctrl.den) + local->dxremaind;
-			    valuator[0] = (int)local->dxremaind;
-			    local->dxremaind = local->dxremaind - (float)valuator[0];
-			    
-			    local->dyremaind = ((float)dy * (float)(device->ptrfeed->ctrl.num)) /
-			        (float)(device->ptrfeed->ctrl.den) + local->dyremaind;
-			    valuator[1] = (int)local->dyremaind;
-			    local->dyremaind = local->dyremaind - (float)valuator[1];
+			    valuator[0] = (dx * device->ptrfeed->ctrl.num) /
+					   device->ptrfeed->ctrl.den;
+			    valuator[1] = (dy * device->ptrfeed->ctrl.num) /
+					   device->ptrfeed->ctrl.den;
 			}
 		    }
 		    else if (dx || dy) {

If we revert back to this the acceleration problem disappears.

-- 
Jeroen Ruigrok van der Werven <asmodai(at)wxs.nl> / asmodai / kita no mono
Free Tibet! http://www.savetibet.org/ | http://ashemedai.deviantart.com/
http://www.tendra.org/   | http://www.in-nomine.org/
Nothing is more honorable than enlightenment, nothing is more beautiful
than virtue...



More information about the xorg mailing list