Hi Folks! IMHO the idea behind the grab/mouse hide was to have relative mouse moves inside the window when the mouse is grabbed ...
now the SDL documentation SDL_MouseMotionEvent(3) says the following: If the cursor is hidden (SDL_ShowCursor(0)) and the input is grabbed (SDL_WM_GrabInput(SDL_GRAB_ON)), then the mouse will give relative motion events even when the cursor reaches the edge fo the screen. which is almost met, except for qemu _not_ using the SDL_ShowCursor() but instead doing a special SDL_SetCursor(sdl_cursor_hidden), which results in SDL _not_ transmitting the relative motion events once the border is reached, which in turn gives funny behaviour :) the following patch fixes this: diff -NurpP qemu-cvs20060522/sdl.c qemu-cvs20060522/sdl.c --- qemu-cvs20060522/sdl.c 2006-05-23 01:18:33.000000000 +0200 +++ qemu-cvs20060522/sdl.c 2006-05-23 03:03:19.000000000 +0200 @@ -285,13 +285,13 @@ static void sdl_update_caption(void) static void sdl_hide_cursor(void) { - SDL_SetCursor(sdl_cursor_hidden); + SDL_ShowCursor(0); } static void sdl_show_cursor(void) { if (!kbd_mouse_is_absolute()) { - SDL_SetCursor(sdl_cursor_normal); + SDL_ShowCursor(1); } } best, Herbert _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel