src/video/quartz/SDL_QuartzEvents.m
changeset 897 9e27fdb98eab
parent 816 428f688f2ad2
child 898 f221cadd6eda
--- 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 ];
 }