From 47c55b245aab729a9c23bfb830329022c7b25d83 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Tue, 3 Jul 2018 16:34:46 +1000 Subject: [PATCH] ui/ncurses: Implement non-boot-cancelling keys Allow some keys to not cancel the default-boot process. For the moment, this is just the screen refresh (ctrl+L). Signed-off-by: Jeremy Kerr Signed-off-by: Samuel Mendoza-Jonas --- ui/ncurses/nc-cui.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ui/ncurses/nc-cui.c b/ui/ncurses/nc-cui.c index 8a3f97d..87540ca 100644 --- a/ui/ncurses/nc-cui.c +++ b/ui/ncurses/nc-cui.c @@ -527,6 +527,14 @@ struct nc_scr *cui_set_current(struct cui *cui, struct nc_scr *scr) return old; } +static bool key_cancels_boot(int key) +{ + if (key == 0xc) + return false; + + return true; +} + static bool process_global_keys(struct cui *cui, int key) { switch (key) { @@ -582,7 +590,7 @@ static int cui_process_key(void *arg) } } - if (!cui->has_input) { + if (!cui->has_input && key_cancels_boot(c)) { cui->has_input = true; if (cui->client) { pb_log("UI input received (key = %d), aborting " -- 2.39.2