Sorry, my bad. I didn't separate this patch and "dix: report subpixel coordinates for high-resolution devices" properly. The attached patch should fix it.
Tom Magnus Kessler wrote: > Hi Peter, > > earlier this week I talked to you on IRC about a regression introduced in the > X server that causes the pointer to jump to the lower right corner when > switching from using the synaptics touchpad to the IBM track point. Here's a > little update on my findings so far. > > The regression was introduced by commit > 5cbd4d3d6e54d202ecdbb527b57aaefeb8435600 [0]. > > I ran "xinput test" on the two devices. The track point always reports values > within the bounds of the current maximum screen coordinates: > > I'm CCing Thomas as the original author of the patch. > > Cheers, > > Magnus > > > [0] > http://cgit.freedesktop.org/xorg/xserver/commit/?id=5cbd4d3d6e54d202ecdbb527b57aaefeb8435600
>From 3216bc285131fa556d4ca8cc8fe225244e0e2e2c Mon Sep 17 00:00:00 2001 From: Thomas Jaeger <[email protected]> Date: Sun, 28 Jun 2009 22:36:54 -0400 Subject: [PATCH 1/7] dix: fix a regression introduced in 5cbd4d3d6e54d2 Signed-off-by: Thomas Jaeger <[email protected]> --- dix/getevents.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dix/getevents.c b/dix/getevents.c index c510122..7589136 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -773,8 +773,8 @@ positionSprite(DeviceIntPtr dev, int *x, int *y, miPointerSetPosition(dev, screenx, screeny); if (dev->u.master) { - dev->u.master->last.valuators[0] = dev->last.valuators[0]; - dev->u.master->last.valuators[1] = dev->last.valuators[1]; + dev->u.master->last.valuators[0] = *screenx; + dev->u.master->last.valuators[1] = *screeny; } /* Crossed screen? Scale back to device coordiantes */ -- 1.6.3.1
_______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
