<div dir="ltr"><div><div><div>Ok. Thanks a lot for this answer !<br><br></div> Another question about emulated pointer events, I've noticed that  with emulated button press, of course if my app does not register for XI 2.2, the .xbutton.subwindow field of the XEvent is always set to zero. If this button press comes from the mouse, this field is correctly set. Is it a bug, a normal behaviour, or is there again something wrong with my apps ?<br>
<br></div>  Regards<br><br></div>     Patrice<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/23 Peter Hutterer <span dir="ltr"><<a href="mailto:peter.hutterer@who-t.net" target="_blank">peter.hutterer@who-t.net</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thu, Oct 17, 2013 at 11:55:24AM +0200, Patrice B wrote:<br>
> Hello,<br>
><br>
>   I'm working on a kernel evdev driver that provides MT events. This device<br>
> is correctly detected by  evdev Xorg driver and I'm able to see MT events<br>
> using "xinput text-xi2". I wrote also a small program based on xi2 which<br>
> makes two rectangles follow my fingers on the screen and it works.<br>
><br>
>   What is a bit "fuzzy" for me is how programs that don't handle XI2 should<br>
> behave with MT driver. I read<br>
> <a href="http://who-t.blogspot.fr/2011/12/multitouch-in-x-pointer-emulation.html" target="_blank">http://who-t.blogspot.fr/2011/12/multitouch-in-x-pointer-emulation.html</a>,<br>
> and I thought common application such as xev should received emulated<br>
> classic X events. They don't receive anything in my case. Should they ?<br>
> Does something about this emulation needs to be done in kernel driver ?<br>
<br>
</div></div>the server decides which client gets MT and which one gets an emulated<br>
pointer on a per-client basis. your test program that registers for XI 2.2<br>
won't see pointer emulation, but xev still should. Last I checked, this<br>
worked here.<br>
<br>
either way, there's nothing you need to do in the kernel driver. if you<br>
speak the MT protocol B, the rest should be handled automatically.<br>
<br>
Cheers,<br>
   Peter<br>
<br>
<br>
</blockquote></div><br></div>