aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/command.c17
-rw-r--r--src/command.h1
2 files changed, 13 insertions, 5 deletions
diff --git a/src/command.c b/src/command.c
index 294f2318b..81eec77f7 100644
--- a/src/command.c
+++ b/src/command.c
@@ -158,7 +158,7 @@ static command_definition_t cmds[] =
N_("Key configuration screen") },
#endif
- { { 'q', 0, 0 }, CMD_QUIT, "quit",
+ { { 'q', 'Q', 3 }, CMD_QUIT, "quit",
N_("Quit") },
{ { -1, -1, -1 }, CMD_NONE, NULL, NULL }
@@ -345,13 +345,16 @@ get_key_command(int key)
return find_key_command(key, cmds);
}
-
command_t
-get_keyboard_command(void)
+get_keyboard_command_with_timeout(int ms)
{
int key;
+ if( ms != SCREEN_TIMEOUT)
+ timeout(ms);
key = wgetch(stdscr);
+ if( ms != SCREEN_TIMEOUT)
+ timeout(SCREEN_TIMEOUT);
if( key==KEY_RESIZE )
screen_resize();
@@ -359,11 +362,15 @@ get_keyboard_command(void)
if( key==ERR )
return CMD_NONE;
- DK(fprintf(stderr, "key = 0x%02X\t", key));
-
return get_key_command(key);
}
+command_t
+get_keyboard_command(void)
+{
+ return get_keyboard_command_with_timeout(SCREEN_TIMEOUT);
+}
+
int
assign_keys(command_t command, int keys[MAX_COMMAND_KEYS])
{
diff --git a/src/command.h b/src/command.h
index 9c20acb7a..9fd6ab37b 100644
--- a/src/command.h
+++ b/src/command.h
@@ -74,5 +74,6 @@ command_t get_key_command_from_name(char *name);
int assign_keys(command_t command, int keys[MAX_COMMAND_KEYS]);
command_t get_keyboard_command(void);
+command_t get_keyboard_command_with_timeout(int milliseconds);
#endif