3 On Friday 04 July 2008, Joerg Sonnenberger wrote:
4 > On Thu, Jul 03, 2008 at 07:52:31PM -0600, Sverre Froyen wrote:
5 > > I've tracked the jumping cursor issue down to the function
6 > > acceleratePointer in dix/getevents.c.
8 > All this issues in the past happened because some very smart guys
9 > decided to do random broken things from signal context. Which is why
10 > this is extremely hard to trace down.
12 I still see the jumps in 1.4.2. Perhaps my workaround (attached) could be
13 included until a proper fix is developed?
15 --- dix/getevents.c.orig 2009-02-22 17:41:51.000000000 +0900
17 @@ -621,9 +621,15 @@ GetPointerEvents(xEvent *events, DeviceI
18 clipAxis(pDev, 1, &y);
21 - if (flags & POINTER_ACCELERATE)
22 + if (flags & POINTER_ACCELERATE) {
24 + if (num_valuators >= 1)
25 + x_in = valuators[0];
26 acceleratePointer(pDev, first_valuator, num_valuators,
28 + if (num_valuators >= 1 && valuators[0] < -3000)
29 + valuators[0] = x_in;
32 if (pDev->coreEvents) {
33 /* Get and convert the core pointer coordinate space into