Commit 18a6d284adf2d2aacca902ad683c94389e447b15

Authored by bellard
1 parent ada89ce6

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
Showing 1 changed file with 13 additions and 12 deletions
... ... @@ -279,9 +279,9 @@ static void sdl_grab_end(void)
279 279 sdl_update_caption();
280 280 }
281 281  
282   -static void sdl_send_mouse_event(void)
  282 +static void sdl_send_mouse_event(int dz)
283 283 {
284   - int dx, dy, dz, state, buttons;
  284 + int dx, dy, state, buttons;
285 285 state = SDL_GetRelativeMouseState(&dx, &dy);
286 286 buttons = 0;
287 287 if (state & SDL_BUTTON(SDL_BUTTON_LEFT))
... ... @@ -290,14 +290,6 @@ static void sdl_send_mouse_event(void)
290 290 buttons |= MOUSE_EVENT_RBUTTON;
291 291 if (state & SDL_BUTTON(SDL_BUTTON_MIDDLE))
292 292 buttons |= MOUSE_EVENT_MBUTTON;
293   - /* XXX: test wheel */
294   - dz = 0;
295   -#ifdef SDL_BUTTON_WHEELUP
296   - if (state & SDL_BUTTON(SDL_BUTTON_WHEELUP))
297   - dz--;
298   - if (state & SDL_BUTTON(SDL_BUTTON_WHEELDOWN))
299   - dz++;
300   -#endif
301 293 kbd_mouse_event(dx, dy, dz, buttons);
302 294 }
303 295  
... ... @@ -426,7 +418,7 @@ static void sdl_refresh(DisplayState *ds)
426 418 break;
427 419 case SDL_MOUSEMOTION:
428 420 if (gui_grab) {
429   - sdl_send_mouse_event();
  421 + sdl_send_mouse_event(0);
430 422 }
431 423 break;
432 424 case SDL_MOUSEBUTTONDOWN:
... ... @@ -440,7 +432,16 @@ static void sdl_refresh(DisplayState *ds)
440 432 sdl_grab_start();
441 433 }
442 434 } else {
443   - sdl_send_mouse_event();
  435 + int dz;
  436 + dz = 0;
  437 +#ifdef SDL_BUTTON_WHEELUP
  438 + if (bev->button == SDL_BUTTON_WHEELUP) {
  439 + dz = -1;
  440 + } else if (bev->button == SDL_BUTTON_WHEELDOWN) {
  441 + dz = 1;
  442 + }
  443 +#endif
  444 + sdl_send_mouse_event(dz);
444 445 }
445 446 }
446 447 break;
... ...