<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>OK. I'll make it simple.</div><div><br></div><div>system (TV) composes of a graphic compositor based QtWayland and clients used Qt, web, and native framework.</div><div>a couple of applications can be foreground, and also they can get input events through compositor input handling logic.</div><div>unlike most system, our product provides RCU (remote control: only keyboard) and MRCU (Magic RCU: keyboard + pointer).</div><div><br></div><div>generally, there is no trouble about input event propagation considering input region of client and surface z-order at compositor-side.</div><div>but, why it needs to use key mask is that and what it is use case of it is following,</div><div><b><i>1) key masking between parent and child surface using wl_subsurface</i></b></div><div>    - (init state) parent has wl_keyboard focus.</div><div>    - keyboard event happens. (ex. channel number key)</div><div>    - compositor asks parent accept the key (HOW?), (maybe unaccept it) child surface should get and consume it.</div><div><b><i>2) key masking ? between exporter and importer surface using wl_foreign</i></b></div><div>    - (init state) parent has wl_keyboard focus.</div><div>    - keyboard event happens. (ex. arrow key, it can be navigated throughout visible items including exporter and importer surfaces)</div><div>    - compositor asks parent accept the key (HOW?), (maybe unacceptably it) child surface should get wl_keyboard focus and consume the key.</div><div>    - since next keys, compositor asks client first. </div><div dir="ltr"><br></div><div>How do you think about it ?</div><div>In my knowledge,</div><div>compositor should provides dynamic key masking interface in reference to keymap like keyboard</div><div>but... it is complicated to use by client dynamically according to situation of application ?</div><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2019년 8월 14일 (수) 오후 5:40, Pekka Paalanen <<a href="mailto:ppaalanen@gmail.com">ppaalanen@gmail.com</a>>님이 작성:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On Tue, 13 Aug 2019 00:44:48 +0900<br>
Mark Lee <<a href="mailto:ivorycloud1013@gmail.com" target="_blank">ivorycloud1013@gmail.com</a>> wrote:<br>
<br>
> HI experts:<br>
> <br>
> I works on Qt framework using QtWayland library.<br>
> <br>
> I need to set key (keyboard) mask of overlay application (higher z),<br>
> and other keys pass to fullscreen (lower z) application.<br>
> <br>
> For example,<br>
> overlay wanna consume only 4-arrow keys,<br>
> and other keys would go to fullscreen.<br>
> <br>
> I've searched Wayland and Wayland-protocol branch,<br>
> but I can't find yet.<br>
<br>
Hi,<br>
<br>
there is no such thing in the Wayland protocol or extensions as I<br>
know of.<br>
<br>
If you explained in more detail what your architecture looks like,<br>
one might be able to say something helpful. What processes are<br>
there, what do they do, which ones are Wayland servers, which ones<br>
are Wayland clients, who is a client to which server, and so on.<br>
<br>
<br>
Thanks,<br>
pq<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Sincerely, Jinho Lee<div>Tel) +82 010 7923 8620</div><div><a href="mailto:ivorycloud1013@gmail.com" target="_blank">ivorycloud1013@gmail.com</a></div></div></div></div></div></div></div>