From 108457dff816569453a2d88cd72595fa7eb02479 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 13 Apr 2010 14:41:07 +1000 Subject: [PATCH] xkb: Post PointerKeys through the XTEST device. Posting an event through a master device may cause pointer jumps once lastSlave == master, caused by double scaling. To avoid this, post the fake event generated by XKB through the XTEST device instead. Fedora bug #560356 Tested-by: Andrew McNabb Signed-off-by: Peter Hutterer Reviewed-by: Daniel Stone --- xkb/ddxDevBtn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xkb/ddxDevBtn.c b/xkb/ddxDevBtn.c index 94630d1c9..3bee84b1e 100644 --- a/xkb/ddxDevBtn.c +++ b/xkb/ddxDevBtn.c @@ -51,13 +51,13 @@ XkbDDXFakeDeviceButton(DeviceIntPtr dev,Bool press,int button) /* If dev is a slave device, and the SD is attached, do nothing. If we'd * post through the attached master pointer we'd get duplicate events. * - * if dev is a master keyboard, post through the master pointer. + * if dev is a master keyboard, post through the XTEST device * * if dev is a floating slave, post through the device itself. */ if (IsMaster(dev)) - ptr = GetMaster(dev, MASTER_POINTER); + ptr = GetXTestDevice(GetMaster(dev, MASTER_POINTER)); else if (!dev->u.master) ptr = dev; else