From 849bbe60356caf3d320202d45f1ddffeefae06c7 Mon Sep 17 00:00:00 2001 From: Jindrich Makovicka Date: Fri, 17 Nov 2017 12:22:58 +0100 Subject: sdl2: Ignore UI hotkeys after a focus change when GUI modifier is held When SDL2 windows change focus while a key is held, the window that receives the focus also receives a new KeyDown event, without an autorepeat flag. This means that if a WM places the qemu console over the main window after Ctrl-Alt-2, the console closes immediately after opening. Then, the main window receives the KeyDown event again and the whole process repeats. This patch makes the SDL2 UI ignore the KeyDown events on a window that just received the focus, if the GUI modifier was held. The ignore flag is reset on a first KeyUp event. This effectively works around the issue above. Signed-off-by: Jindrich Makovicka Message-Id: <20171117112258.5888-4-makovick@gmail.com> Signed-off-by: Gerd Hoffmann --- include/ui/sdl2.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/ui/sdl2.h') diff --git a/include/ui/sdl2.h b/include/ui/sdl2.h index b29cf80..51084e6 100644 --- a/include/ui/sdl2.h +++ b/include/ui/sdl2.h @@ -24,6 +24,7 @@ struct sdl2_console { int opengl; int updates; int idle_counter; + int ignore_hotkeys; SDL_GLContext winctx; #ifdef CONFIG_OPENGL QemuGLShader *gls; -- cgit v1.1