|
@@ -32,7 +32,6 @@
|
|
#include "system/runstate.h"
|
|
#include "system/runstate.h"
|
|
#include "system/runstate-action.h"
|
|
#include "system/runstate-action.h"
|
|
#include "system/system.h"
|
|
#include "system/system.h"
|
|
-#include "ui/win32-kbd-hook.h"
|
|
|
|
#include "qemu/log.h"
|
|
#include "qemu/log.h"
|
|
#include "qemu-main.h"
|
|
#include "qemu-main.h"
|
|
|
|
|
|
@@ -263,7 +262,6 @@ static void sdl_grab_start(struct sdl2_console *scon)
|
|
}
|
|
}
|
|
SDL_SetWindowGrab(scon->real_window, SDL_TRUE);
|
|
SDL_SetWindowGrab(scon->real_window, SDL_TRUE);
|
|
gui_grab = 1;
|
|
gui_grab = 1;
|
|
- win32_kbd_set_grab(true);
|
|
|
|
sdl_update_caption(scon);
|
|
sdl_update_caption(scon);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -271,7 +269,6 @@ static void sdl_grab_end(struct sdl2_console *scon)
|
|
{
|
|
{
|
|
SDL_SetWindowGrab(scon->real_window, SDL_FALSE);
|
|
SDL_SetWindowGrab(scon->real_window, SDL_FALSE);
|
|
gui_grab = 0;
|
|
gui_grab = 0;
|
|
- win32_kbd_set_grab(false);
|
|
|
|
sdl_show_cursor(scon);
|
|
sdl_show_cursor(scon);
|
|
sdl_update_caption(scon);
|
|
sdl_update_caption(scon);
|
|
}
|
|
}
|
|
@@ -372,19 +369,6 @@ static int get_mod_state(void)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-static void *sdl2_win32_get_hwnd(struct sdl2_console *scon)
|
|
|
|
-{
|
|
|
|
-#ifdef CONFIG_WIN32
|
|
|
|
- SDL_SysWMinfo info;
|
|
|
|
-
|
|
|
|
- SDL_VERSION(&info.version);
|
|
|
|
- if (SDL_GetWindowWMInfo(scon->real_window, &info)) {
|
|
|
|
- return info.info.win.window;
|
|
|
|
- }
|
|
|
|
-#endif
|
|
|
|
- return NULL;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static void handle_keydown(SDL_Event *ev)
|
|
static void handle_keydown(SDL_Event *ev)
|
|
{
|
|
{
|
|
int win;
|
|
int win;
|
|
@@ -609,10 +593,6 @@ static void handle_windowevent(SDL_Event *ev)
|
|
sdl2_redraw(scon);
|
|
sdl2_redraw(scon);
|
|
break;
|
|
break;
|
|
case SDL_WINDOWEVENT_FOCUS_GAINED:
|
|
case SDL_WINDOWEVENT_FOCUS_GAINED:
|
|
- win32_kbd_set_grab(gui_grab);
|
|
|
|
- if (qemu_console_is_graphic(scon->dcl.con)) {
|
|
|
|
- win32_kbd_set_window(sdl2_win32_get_hwnd(scon));
|
|
|
|
- }
|
|
|
|
/* fall through */
|
|
/* fall through */
|
|
case SDL_WINDOWEVENT_ENTER:
|
|
case SDL_WINDOWEVENT_ENTER:
|
|
if (!gui_grab && (qemu_input_is_absolute(scon->dcl.con) || absolute_enabled)) {
|
|
if (!gui_grab && (qemu_input_is_absolute(scon->dcl.con) || absolute_enabled)) {
|
|
@@ -628,9 +608,6 @@ static void handle_windowevent(SDL_Event *ev)
|
|
scon->ignore_hotkeys = get_mod_state();
|
|
scon->ignore_hotkeys = get_mod_state();
|
|
break;
|
|
break;
|
|
case SDL_WINDOWEVENT_FOCUS_LOST:
|
|
case SDL_WINDOWEVENT_FOCUS_LOST:
|
|
- if (qemu_console_is_graphic(scon->dcl.con)) {
|
|
|
|
- win32_kbd_set_window(NULL);
|
|
|
|
- }
|
|
|
|
if (gui_grab && !gui_fullscreen) {
|
|
if (gui_grab && !gui_fullscreen) {
|
|
sdl_grab_end(scon);
|
|
sdl_grab_end(scon);
|
|
}
|
|
}
|
|
@@ -870,10 +847,7 @@ static void sdl2_display_init(DisplayState *ds, DisplayOptions *o)
|
|
#ifdef SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR /* only available since SDL 2.0.8 */
|
|
#ifdef SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR /* only available since SDL 2.0.8 */
|
|
SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, "0");
|
|
SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, "0");
|
|
#endif
|
|
#endif
|
|
-#ifndef CONFIG_WIN32
|
|
|
|
- /* QEMU uses its own low level keyboard hook procedure on Windows */
|
|
|
|
SDL_SetHint(SDL_HINT_GRAB_KEYBOARD, "1");
|
|
SDL_SetHint(SDL_HINT_GRAB_KEYBOARD, "1");
|
|
-#endif
|
|
|
|
#ifdef SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED
|
|
#ifdef SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED
|
|
SDL_SetHint(SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED, "0");
|
|
SDL_SetHint(SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED, "0");
|
|
#endif
|
|
#endif
|