[PATCH weston] input: don't send to clients key events eaten by bindings

Giulio Camuffo giuliocamuffo at gmail.com
Wed Oct 8 01:41:04 PDT 2014


2014-10-08 0:50 GMT+03:00 Bill Spitzak <spitzak at gmail.com>:
> I really can't imagine this is a problem, and clients may even expect the
> current behavior. It certainly is expected for shift keys: if I alt+tab to a
> program it acts like alt is still held down. A quick test on Ubuntu shows
> that a program you alt+tab to gets a map with both alt and tab held down.

I don't really care much how it works on Ubuntu, honestly. This is a
problem because the key binding is supposed to not let the key
press/release get to the clients, but this isn't what is happening in
reality. Modifiers keys are not affected by this change.


--
Giulio

>
> Does this have something to do with preventing the key from repeating?
>
> On 10/07/2014 12:30 PM, Giulio Camuffo wrote:
>>
>> weston key bindings are supposed to eat the key events, and not pass it
>> on to clients, and indeed the wl_keyboard.key event is not sent. But
>> we must also not put the key in the keys array to pass to client with
>> the wl_keyboard.enter event, or else we may send the 'eaten' one too.
>> In the case of a key binding hiding a surface having the keyboard focus,
>> the shell may decide to give the focus to another surface, but that will
>> happen before the key is released, so the new focus surface will receive
>> the code of the bound key in the wl_keyboard.enter array.
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list