rnd-19990604-1-src
[rocksndiamonds.git] / src / events.c
index 60a6ceb3080efa7866519fd7c0de30d1efe2e6c9..a34c1ab9a762e501abbbd947f643497601d67dfd 100644 (file)
@@ -68,7 +68,8 @@ void EventLoop(void)
     if (game_status != PLAYING)
     {
       XSync(display, FALSE);
-      Delay(10);
+      if (!XPending(display))  /* delay only if no pending events */
+       Delay(10);
     }
 
     /* refresh window contents from drawing buffer, if needed */
@@ -529,6 +530,16 @@ void HandleKey(KeySym key, int key_status)
            HandleSetupInputScreen(0,0, 0,0, MB_MENU_CHOICE);
          break;
 
+        case XK_Page_Up:
+          if (game_status == CHOOSELEVEL)
+            HandleChooseLevel(0,0, 0,-SCR_FIELDY, MB_MENU_MARK);
+         break;
+
+        case XK_Page_Down:
+          if (game_status == CHOOSELEVEL)
+            HandleChooseLevel(0,0, 0,SCR_FIELDY, MB_MENU_MARK);
+         break;
+
        default:
          break;
       }