mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-06 18:31:56 +00:00
enabled wheel mouse support (initial patch by Volker Ruppert)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1229 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
ada89ce61b
commit
18a6d284ad
25
sdl.c
25
sdl.c
@ -279,9 +279,9 @@ static void sdl_grab_end(void)
|
|||||||
sdl_update_caption();
|
sdl_update_caption();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sdl_send_mouse_event(void)
|
static void sdl_send_mouse_event(int dz)
|
||||||
{
|
{
|
||||||
int dx, dy, dz, state, buttons;
|
int dx, dy, state, buttons;
|
||||||
state = SDL_GetRelativeMouseState(&dx, &dy);
|
state = SDL_GetRelativeMouseState(&dx, &dy);
|
||||||
buttons = 0;
|
buttons = 0;
|
||||||
if (state & SDL_BUTTON(SDL_BUTTON_LEFT))
|
if (state & SDL_BUTTON(SDL_BUTTON_LEFT))
|
||||||
@ -290,14 +290,6 @@ static void sdl_send_mouse_event(void)
|
|||||||
buttons |= MOUSE_EVENT_RBUTTON;
|
buttons |= MOUSE_EVENT_RBUTTON;
|
||||||
if (state & SDL_BUTTON(SDL_BUTTON_MIDDLE))
|
if (state & SDL_BUTTON(SDL_BUTTON_MIDDLE))
|
||||||
buttons |= MOUSE_EVENT_MBUTTON;
|
buttons |= MOUSE_EVENT_MBUTTON;
|
||||||
/* XXX: test wheel */
|
|
||||||
dz = 0;
|
|
||||||
#ifdef SDL_BUTTON_WHEELUP
|
|
||||||
if (state & SDL_BUTTON(SDL_BUTTON_WHEELUP))
|
|
||||||
dz--;
|
|
||||||
if (state & SDL_BUTTON(SDL_BUTTON_WHEELDOWN))
|
|
||||||
dz++;
|
|
||||||
#endif
|
|
||||||
kbd_mouse_event(dx, dy, dz, buttons);
|
kbd_mouse_event(dx, dy, dz, buttons);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -426,7 +418,7 @@ static void sdl_refresh(DisplayState *ds)
|
|||||||
break;
|
break;
|
||||||
case SDL_MOUSEMOTION:
|
case SDL_MOUSEMOTION:
|
||||||
if (gui_grab) {
|
if (gui_grab) {
|
||||||
sdl_send_mouse_event();
|
sdl_send_mouse_event(0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SDL_MOUSEBUTTONDOWN:
|
case SDL_MOUSEBUTTONDOWN:
|
||||||
@ -440,7 +432,16 @@ static void sdl_refresh(DisplayState *ds)
|
|||||||
sdl_grab_start();
|
sdl_grab_start();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sdl_send_mouse_event();
|
int dz;
|
||||||
|
dz = 0;
|
||||||
|
#ifdef SDL_BUTTON_WHEELUP
|
||||||
|
if (bev->button == SDL_BUTTON_WHEELUP) {
|
||||||
|
dz = -1;
|
||||||
|
} else if (bev->button == SDL_BUTTON_WHEELDOWN) {
|
||||||
|
dz = 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
sdl_send_mouse_event(dz);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user