[PATCH weston] input: don't send to clients key events eaten by bindings
daniel at fooishbar.org
Thu Nov 13 03:30:26 PST 2014
On Thursday, November 13, 2014, Giulio Camuffo <giuliocamuffo at gmail.com>
> 2014-11-13 12:06 GMT+02:00 Daniel Stone <daniel at fooishbar.org
> > But this is just a client issue, and nothing in sending the full keys
> > precludes this working.
> > If Alt+X is a modifier (i.e. any time Alt+X is held, pressing Y triggers
> > shortcut), then the client can use the keys array to notice this, and
> > the shortcut is fired.
> > If Alt+(X+Y) is a cumulative shortcut, then the client knows from seeing
> > in the enter array but not a key event, that it must wait for a release
> on X
> > before it arms the shortcut for Y.
> But no, because, when the focus isn't switched, there is no enter
> event and no keys array. The client has no idea X was pressed, so it
> can't possibly trigger the binding.
> So without the patch this is not consistent. Depending on whether the
> compositor binding switches the focus, the client binding works or it
> doesn't work.
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.
Alternately, we could bump the wl_keyboard version to just allow for
consecutive enter events and never send a leave in these temporal cases.
For older clients, we can just send leave/enter and they can suck it up.
Either way, it makes things more predictable and allows clients to work out
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the wayland-devel