RawMotion events not delivered when a button is held down

Peter Hutterer peter.hutterer at who-t.net
Mon Jan 24 17:39:21 PST 2011

On Sun, Jan 23, 2011 at 03:27:31PM +0100, Philipp Reh wrote:
> I have a client application that receives XI_RawMotion on its RootWindow.
> This stops working if I hold a mouse button down and the mouse is
> inside the client's window.
> Apparently, the server generates two RawMotion events per single motion.
> If everything is normal (the button is not held down) one of these events
> is delivered in the if(grabbed) part of ProcessRawEvent, while the other
> is delivered in the else part (and sent to every root window).
> If the mouse button is held down both of them are delivered in the 
> if(grabbed) part, and none of them reaches the client anymore.
> What could I be doing wrong? It doesn't seem to matter whether I grab the
> mouse myself or not. I also couldn't make enough sense of the server code to
> actually see if there is a bug or not. Can someone please look into this?

it's a problem with the xi2 spec. raw events aren't delivered if a client
has a grab on a device, and that includes implicit grabs in resonse to a
button press event.


More information about the xorg-devel mailing list