diff options
author | Marek Vasut <marex@denx.de> | 2022-01-05 23:21:41 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-01-11 22:28:38 +0000 |
commit | 545719898425114c84ef90a564fe7638aa3759a5 (patch) | |
tree | c1c6f81796e6ce87f009dc5a628516f7aa07086b /scripts/lib/wic/pluginbase.py | |
parent | b72fe527c9bdb96ad38fffa5a0d44f6a39cf5e2b (diff) | |
download | poky-545719898425114c84ef90a564fe7638aa3759a5.tar.gz |
weston: Backport patches to always activate the top-level surface
In case the device has only touchscreen input device and no keyboard or mouse,
the top level surface is never activated. The behavior differs from a device
which has a keyboard (or gpio-keys, or even uinput-emulated keyboard), where
callchain activate()->weston_view_activate()->weston_seat_set_keyboard_focus()->
weston_keyboard_set_focus()->wl_signal_emit(&keyboard->focus_signal, keyboard)->
handle_keyboard_focus()->weston_desktop_surface_set_activated(..., true); sets
the top level surface as activated. On device with touchscreen, the above is
never called, hence the top level surface is never activated. Add explicit
weston_desktop_surface_set_activated(shsurf->desktop_surface, true); into
activate() to always active the top level surface.
This fixes at least two known issues on such devices:
- Wayland terminal cursor is an empty bar (full bar with keyboard present)
- Chromium dropdown menus are randomly placed (they are placed correctly
when keyboard is present, because then chromium can find the activated
top level surface)
(From OE-Core rev: 0a2da895284f1687cf75297fb0f4b20cc9b53489)
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/wic/pluginbase.py')
0 files changed, 0 insertions, 0 deletions