From 6c708d6f83ca7203b669e3ef8aee03ae0d5e26e5 Mon Sep 17 00:00:00 2001 From: John Zaitseff Date: Sat, 16 Jul 2011 13:32:02 +1000 Subject: [PATCH] Add more control keys handled by various input routines for consistency --- src/game.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/src/game.c b/src/game.c index cd63c02..77d310e 100644 --- a/src/game.c +++ b/src/game.c @@ -108,9 +108,18 @@ void init_game (void) key = toupper(gettxchar(curwin)); done = ((key >= '1') && (key <= (MAX_PLAYERS + '0'))) || (key == 'C'); - if ((key == KEY_ESC) || (key == KEY_CTRL('C')) || (key == KEY_CTRL('\\'))) { + switch (key) { + case KEY_ESC: + case KEY_CANCEL: + case KEY_CTRL('C'): + case KEY_CTRL('G'): + case KEY_CTRL('\\'): abort_game = true; return; + + default: + // Do nothing + break; } if (! done) { @@ -144,8 +153,23 @@ void init_game (void) wrefresh(curwin); do { - key = toupper(gettxchar(curwin)); - done = ((key >= '1') && (key <= '9')) || (key == KEY_ESC); + key = gettxchar(curwin); + done = (key >= '1' && key <= '9'); + + switch (key) { + case KEY_ESC: + case KEY_CANCEL: + case KEY_CTRL('C'): + case KEY_CTRL('G'): + case KEY_CTRL('\\'): + key = KEY_ESC; + done = true; + break; + + default: + // Do nothing + break; + } if (! done) { beep();