<div dir="ltr">Hi,<div><br></div><div>Selecting for XI2 events will disable core input events from being sent to your client. This is to prevent XI2-enabled clients from getting duplicate events and not knowing which to filter out. You need to select for XI_FocusIn / XI_FocusOut events instead of using the core input events.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 23, 2017 at 8:37 AM, Samuel Thibault <span dir="ltr"><<a href="mailto:samuel.thibault@ens-lyon.org" target="_blank">samuel.thibault@ens-lyon.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I'm working on making compiz use XI2 to get more fine-grain hold<br>
on keypresses.  I'm however getting an issue: I do not always get<br>
NotifyGrab FocusIn events from the root window when a client calls<br>
<br>
XGrabKeyboard (mydisplay, mywindow, True, GrabModeAsync, GrabModeAsync, CurrentTime);<br>
<br>
, which prevents from properly respecting grabbing.<br>
<br>
<br>
Unfortunately, I didn't manage to reproduce the issue with a simpler X<br>
root event listener: runnning<br>
<br>
XSelectInput(mydisplay, DefaultRootWindow(mydisplay), FocusChangeMask);<br>
<br>
does properly bring focus out/in NotifyGrab events, but these events<br>
don't get to Compiz. I also tried to listen on the window itself with<br>
the same result: my simple event listener gets the event, but Compiz<br>
does not.<br>
<br>
Oddly enough, this seems to depend on the application: kvm / virtualbox<br>
grabbing have the issue, but vncviewer grabbing doesn't have the issue.<br>
<br>
Reading <a href="https://tronche.com/gui/x/xlib/input/XGrabKeyboard.html" rel="noreferrer" target="_blank">https://tronche.com/gui/x/<wbr>xlib/input/XGrabKeyboard.html</a> tells me<br>
that there should always be FocusIn / FocusOut events being generated,<br>
so I don't immediately see where to look for in the differences between<br>
by simple listener and Compiz.<br>
<br>
Could there be some undocumented cases where such events are not<br>
generated?  Any idea where I could look in the X server to check what is<br>
happening?<br>
<br>
Samuel<br>
______________________________<wbr>_________________<br>
<a href="mailto:xorg-devel@lists.x.org">xorg-devel@lists.x.org</a>: X.Org development<br>
Archives: <a href="http://lists.x.org/archives/xorg-devel" rel="noreferrer" target="_blank">http://lists.x.org/archives/<wbr>xorg-devel</a><br>
Info: <a href="https://lists.x.org/mailman/listinfo/xorg-devel" rel="noreferrer" target="_blank">https://lists.x.org/mailman/<wbr>listinfo/xorg-devel</a></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">  Jasper<br></div>
</div>