summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorCole Robinson <crobinso@redhat.com>2014-04-01 16:37:11 -0400
committerGerd Hoffmann <kraxel@redhat.com>2014-04-11 12:19:16 +0200
commit2d968ffbae6b7899064f9f86f8508d9c19021e39 (patch)
treeac2f3a64ea475d0efff239f406ee008b59e6d892 /ui
parentafbc0dd649809b34583c52f2bc99b5c82c06fd53 (diff)
downloadqemu-2d968ffbae6b7899064f9f86f8508d9c19021e39.tar.gz
qemu-2d968ffbae6b7899064f9f86f8508d9c19021e39.tar.bz2
qemu-2d968ffbae6b7899064f9f86f8508d9c19021e39.zip
input: sdl2: Fix relative mode to match SDL1 behavior
Right now relative mode accelerates too fast, and has the 'invisible wall' problem. SDL2 added an explicit API to handle this use case, so let's use it. Signed-off-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui')
-rw-r--r--ui/sdl2.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ui/sdl2.c b/ui/sdl2.c
index e4cb9fbba6..7506e2e13f 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -278,7 +278,7 @@ static void sdl_hide_cursor(void)
SDL_ShowCursor(1);
SDL_SetCursor(sdl_cursor_hidden);
} else {
- SDL_ShowCursor(0);
+ SDL_SetRelativeMouseMode(SDL_TRUE);
}
}
@@ -289,6 +289,7 @@ static void sdl_show_cursor(void)
}
if (!qemu_input_is_absolute()) {
+ SDL_SetRelativeMouseMode(SDL_FALSE);
SDL_ShowCursor(1);
if (guest_cursor &&
(gui_grab || qemu_input_is_absolute() || absolute_enabled)) {