Created attachment 38530 [details] warptest.c XWarpPointer should generate Motion but not RawMotion (it's RAW, right?). And it definitely generates wrong RawMotion, because it contains valuators' values equal to absolute screen coordinates of mouse move target (and that is definitely wrong, since all other mouse events are relative). So, my point is that XWarpPointer shouldn't generate RawMotion events at all. Steps to reproduce (tested on X server 1.8 and 1.9): I've attached a minimal test case for this. Compile as: "gcc warptest.c -o warptest -lX11 -lXi" This program listens for RawMotion events and calls XWarpPointer every 10th event. You will see a series of normal events, and then a wrong event generated by XWarpPointer.
This bug appears to affect several games under Wine, now that Wine uses xinput2 when available. See: http://bugs.winehq.org/show_bug.cgi?id=27156
Is this bug fixed? Could someone at least comment it? Thank you
http://patchwork.freedesktop.org/patch/6124/
Thanks, Peter, for taking care of this, finally. I was too lazy to dig into X server code myself. Is this already submitted to master branch? Will this be available in bug-fix releases of old servers? I need to know when I will be able to drop workaround in my code.
Fixed in master, closing. commit 23a783278963919778d017965542e0f983814e37 Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Fri Jun 24 11:02:23 2011 +1000 input: add POINTER_NORAW to avoid generation of raw events (#30068) RawEvents are supposed to be events coming from the driver. When warping the pointer, this should not generate a raw event. X.Org Bug 30068 <http://bugs.freedesktop.org/show_bug.cgi?id=30068> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
may I ask for backporting this patch into older version Xserver with XI2? Thank you
it'll be in 1.10.4
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.