diff -r b56dc586a5ef -r 9e27fdb98eab src/video/quartz/SDL_QuartzEvents.m --- a/src/video/quartz/SDL_QuartzEvents.m Sun May 16 22:48:06 2004 +0000 +++ b/src/video/quartz/SDL_QuartzEvents.m Mon May 17 00:16:24 2004 +0000 @@ -472,7 +472,7 @@ if ( getenv("SDL_HAS3BUTTONMOUSE") ) { DO_MOUSE_DOWN (SDL_BUTTON_LEFT); } else { - if ( NSCommandKeyMask & current_mods ) { + if ( NSControlKeyMask & current_mods ) { last_virtual_button = SDL_BUTTON_RIGHT; DO_MOUSE_DOWN (SDL_BUTTON_RIGHT); } @@ -519,7 +519,18 @@ case NSLeftMouseDragged: case NSRightMouseDragged: case NSOtherMouseDragged: /* usually middle mouse dragged */ - case NSMouseMoved: + case NSMouseMoved: + /* Show the cursor if it was hidden by SDL_ShowCursor() */ + /* this is how games I've seen work */ + if (!cursor_visible) { + if (!isInGameWin && cursor_hidden) { + ShowCursor(); + cursor_hidden = NO; + } else if (isInGameWin && !cursor_hidden) { + HideCursor(); + cursor_hidden = YES; + } + } if ( grab_state == QZ_INVISIBLE_GRAB ) { /* @@ -642,6 +653,6 @@ /* handle accumulated mouse moved events */ if (dx != 0 || dy != 0) SDL_PrivateMouseMotion (0, 1, dx, dy); - + [ pool release ]; }