[PATCH weston 1/2] input: Update keyboard serial on press and release

Daniel Stone daniel at fooishbar.org
Wed Nov 16 14:52:05 UTC 2016


Hi,

On 2 September 2016 at 09:30, Giulio Camuffo <giuliocamuffo at gmail.com> wrote:
> 2016-09-02 10:27 GMT+02:00 Olivier Fourdan <ofourdan at redhat.com>:
>>> 2016-09-01 11:52 GMT+02:00 Olivier Fourdan <ofourdan at redhat.com>:
>>> >> I’m ok with that, but why not updating all three "grab_*" members?
>>> >
>>> > While I think the key itself would be OK, I suspect updating the grab_time
>>> > on all states (ie like key release) might have additional side effects.
>>> >
>>> > So I took the most conservative approach which was to update the serial
>>> > only, as this one is compared against the popup serial.
>>>
>>> I can't tell if it's right or not, but so maybe it would be good to
>>> add a comment about it, unless someone (daniels?) can confirm it's
>>> right.
>>
>> Well, this is needed when traversing submenus using the keyboard.
>>
>> Once you navigate to a submenu with the keyboard, the corresponding popup is created by the toolkit using the serial provided by the compositor, which will compare against the last known serial. If the grab serial is updated on key press only, the serial won't match and the submenu will be dismissed.
>
> Yes, i meant if it's right or not to leave the grab_time and grab_key
> as they are.

Yes, leaving those as-is makes things work as intended. What's
unpleasant about this patch isn't that though, but that clients which
attempt to use the key _press_ to trigger something are now going to
fail. I don't like that, but only triggering on release makes much
much more sense (hence why GTK+ does it), and maintaining multiple
possible serials is a lot more work. So, pushed with review, thanks!

To ssh://git.freedesktop.org/git/wayland/weston
   be8a6d3..df84dbe  push -> master

Cheers,
Daniel


More information about the wayland-devel mailing list