input: instead of lastx/y, use a last.valuators[] array on the device.

During GetPointerEvents (and others), we need to access the last coordinates
posted for this device from the driver (not as posted to the client!). Lastx/y
is ok if we only have two axes, but with more complex devices we also need to
transition between all other axes.

ABI break, recompile your input drivers.
This commit is contained in:
Peter Hutterer 2008-05-23 11:51:53 +09:30
commit 6c9e9f8a40
7 changed files with 49 additions and 37 deletions

View file

@ -166,8 +166,8 @@ ProcXWarpDevicePointer(ClientPtr client)
}
/* if we don't update the device, we get a jump next time it moves */
pDev->lastx = x;
pDev->lasty = x;
pDev->last.valuators[0] = x;
pDev->last.valuators[1] = x;
miPointerUpdateSprite(pDev);
/* FIXME: XWarpPointer is supposed to generate an event. It doesn't do it