]> xenbits.xensource.com Git - qemu-xen.git/commit
ui/sdl2: disable SDL_HINT_GRAB_KEYBOARD on Windows
authorVolker Rümelin <vr_qemu@t-online.de>
Tue, 18 Apr 2023 06:28:23 +0000 (08:28 +0200)
committerMichael Tokarev <mjt@tls.msk.ru>
Wed, 31 May 2023 06:42:37 +0000 (09:42 +0300)
commitbc8e883065f36581e4f2352c31a1dfa5f65a82f2
tree524f5813dad43c267088cebdb6566240fe5ace91
parente0968d21e27ef9c406f709180a39a076e786efbe
ui/sdl2: disable SDL_HINT_GRAB_KEYBOARD on Windows

Windows sends an extra left control key up/down input event for
every right alt key up/down input event for keyboards with
international layout. Since commit 830473455f ("ui/sdl2: fix
handling of AltGr key on Windows") QEMU uses a Windows low level
keyboard hook procedure to reliably filter out the special left
control key and to grab the keyboard on Windows.

The SDL2 version 2.0.16 introduced its own Windows low level
keyboard hook procedure to grab the keyboard. Windows calls this
callback before the QEMU keyboard hook procedure. This disables
the special left control key filter when the keyboard is grabbed.

To fix the problem, disable the SDL2 Windows low level keyboard
hook procedure.

Reported-by: Bernhard Beschow <shentey@gmail.com>
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Tested-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20230418062823.5683-1-vr_qemu@t-online.de>
(cherry picked from commit 1dfea3f212e43bfd59d1e1f40b9776db440b211f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
ui/sdl2.c