ui/sdl2: release all modifiers
authorVolker Rümelin <vr_qemu@t-online.de>
Mon, 9 Sep 2024 06:15:51 +0000 (08:15 +0200)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Fri, 13 Sep 2024 18:12:16 +0000 (20:12 +0200)
commitdf3c610ffc0335940e95826c643477b46418dcd3
tree1ea7ef2dc2b9b940f4f0add267069d45e7f74444
parent6e7d8c5f3d52283e3621bf84ba59fd0b54e79fcb
ui/sdl2: release all modifiers

Each virtual console in the SDL2 frontend has a key state map.
When switching windows with GUI keys we have to release all
pressed modifier keys in the currently active window, because
after the switch the now inactive window no longer receives the
key release events.

To reproduce the issue open a text editor in the SDL UI and then
press Ctrl-Alt-2 to open a Compat Monitor Console. Close the
console with the mouse. Try to enter text in the text editor and
notice that the modifier keys Ctrl and Alt are stuck and need to
be pressed once to be released.

Tested-by: Howard Spoelstra <hsp.cat7@gmail.com>
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Tested-by: Bernhard Beschow <shentey@gmail.com>
Message-ID: <20240909061552.6122-2-vr_qemu@t-online.de>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
include/ui/sdl2.h
ui/sdl2-input.c
ui/sdl2.c