<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 13, 2014 at 3:30 AM, Daniel Stone <span dir="ltr"><<a href="mailto:daniel@fooishbar.org" target="_blank">daniel@fooishbar.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Hi,<br><br>On Thursday, November 13, 2014, Giulio Camuffo <<a href="mailto:giuliocamuffo@gmail.com" target="_blank">giuliocamuffo@gmail.com</a>> wrote:<br></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">2014-11-13 12:06 GMT+02:00 Daniel Stone <<a>daniel@fooishbar.org</a>>:<br></span><span class="">
> But this is just a client issue, and nothing in sending the full keys array<br>
> precludes this working.<br>
><br>
> If Alt+X is a modifier (i.e. any time Alt+X is held, pressing Y triggers the<br>
> shortcut), then the client can use the keys array to notice this, and ensure<br>
> the shortcut is fired.<br>
><br>
> If Alt+(X+Y) is a cumulative shortcut, then the client knows from seeing X<br>
> in the enter array but not a key event, that it must wait for a release on X<br>
> before it arms the shortcut for Y.<br>
<br>
But no, because, when the focus isn't switched, there is no enter<br>
event and no keys array. The client has no idea X was pressed, so it<br>
can't possibly trigger the binding.<br>
So without the patch this is not consistent. Depending on whether the<br>
compositor binding switches the focus, the client binding works or it<br>
doesn't work.</span></blockquote><div><br></div><div>A problem we can solve by switching the focus. ;) I agree that it's annoying to always do this for every hotkey, so we could introduce a new wl_keyboard::leave_temporary which would inform the client that it's about to get another enter event very shortly, but shouldn't redraw itself insensitive or anything.</div></blockquote><div><br></div><div>wl_keyboard::leave should never affect the the window visibly. That's what the state in xdg-shell is for.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Alternately, we could bump the wl_keyboard version to just allow for consecutive enter events and never send a leave in these temporal cases.</div><div><br></div><div>For older clients, we can just send leave/enter and they can suck it up.</div><br>Either way, it makes things more predictable and allows clients to work out what's best.<div><br></div><div>Cheers,</div><div>Daniel</div>
<br>_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"> Jasper<br></div>
</div></div>