Request for some insights into a pointer grabbing + pointer emulation issue.
peter.hutterer at who-t.net
Sun Nov 18 21:56:26 PST 2012
On Wed, Nov 14, 2012 at 03:37:05PM -0200, Daniel d'Andrada wrote:
> I've been investigating an issue where xserver simply stops sending
> ButtonPress and ButtonRelease events, out of touch events, to a window.
> I've spent already quite a few days studying the issue, looking at the
> pointer grabbing + pointer emulation logic, and although progress has
> been made, I fear reaching insanity before finally cracking it. :)
> I've a good amount of information in a log, so my hope is that some
> expert in (or author of) the touch input code (e.g. Peter Hutterer)
> might be able to shed some light on the issue without much effort.
> Here's is the situation:
> The setup is a touchscreen laptop running Ubuntu.
> I just repeatedly tap on the top-most icon (the one which has the Ubuntu
> logo) of Ubuntu's launcher. Those taps alternately open and close the
> dash (a fullscreen window that shows icons for applications, media and
> other files). At some point those taps stop having any effect. I.e., the
> launcher no longer gets ButtonPress and ButtonRelease events out of them.
> And here's is the corresponding log (from bug 56578):
> From touches 2 to 26, launcher is the first window in the list of
> listeners. From touch 27 onwards, the root window is the first one.
> Problem is, from touch 27 onwards, xserver fails to pass the touch
> ownership down to the launcher window because there's always an older
> pointer-emulated touch (touch 26) lying around which it apparently can't
> get rid of (i.e. properly process).
just fyi, I am keeping an eye on this bug, I've just been busy with other
stuff for the last couple of days. I'm pretty sure this is also influenced
by this bug here: http://bugs.freedesktop.org/show_bug.cgi?id=56557
which causes some issues with pointer emulation on the root window, so if
you can test with these 3 patches + the one I just sent out that'd be quite
More information about the xorg-devel