X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=a34c1ab9a762e501abbbd947f643497601d67dfd;hb=48542a06103232c408ce6250f5bc2d9add00f233;hp=60a6ceb3080efa7866519fd7c0de30d1efe2e6c9;hpb=20e58eb6573a45a41c25958e17e8d9c20f738edc;p=rocksndiamonds.git 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; }