diff --git a/cmd-keypad.c b/cmd-keypad.c index 7f7bd51..5f7c8d9 100644 --- a/cmd-keypad.c +++ b/cmd-keypad.c @@ -61,6 +61,7 @@ int cmd_keypad(int argc, char **argv) printf("Press %c on keypad or any key on serial to exit\n", key_vals[ARRAY_SIZE(key_vals) - 2]); + while (!end && !serial_available()) { int key; @@ -72,6 +73,8 @@ int cmd_keypad(int argc, char **argv) serial_putc(key_vals[key]); if (key == (ARRAY_SIZE(key_vals) - 2)) end = 1; + if (argc) + end = 1; } key_state[key] = newstate; }