summaryrefslogtreecommitdiff
path: root/xkb
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2010-04-13 14:41:07 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2010-04-16 16:30:21 +1000
commit108457dff816569453a2d88cd72595fa7eb02479 (patch)
treec5d16c0fc563a21cccee61f3fedc3fd97c4a36b6 /xkb
parenta780e5b3638a0ff81301fc68aca15b47ba0befb7 (diff)
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 <https://bugzilla.redhat.com/560356> Tested-by: Andrew McNabb Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Diffstat (limited to 'xkb')
-rw-r--r--xkb/ddxDevBtn.c4
1 files 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