X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fevents.c;h=a34c1ab9a762e501abbbd947f643497601d67dfd;hp=60a6ceb3080efa7866519fd7c0de30d1efe2e6c9;hb=48542a06103232c408ce6250f5bc2d9add00f233;hpb=bb33b871657d1af6beda881e33b536512815aa9b diff --git a/src/events.c b/src/events.c index 60a6ceb3..a34c1ab9 100644 --- a/src/events.c +++ b/src/events.c @@ -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; }