From: Jeremy Kerr Date: Fri, 11 Oct 2013 07:16:39 +0000 (+0800) Subject: ui/ncurses: Use 'x' as exit key X-Git-Tag: v1.0.0~386 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=bf8d7e61a8fbc19be5ea1a73b9eaa30e58453d1f ui/ncurses: Use 'x' as exit key Because terminals will send escape-sequences starting with escape, ncurses will pause after receiving a signle escape, to detect these sequences. This introduces a 1-second delay when exiting the petitboot UI. Instead, use 'x'. Signed-off-by: Jeremy Kerr --- diff --git a/ui/ncurses/generic-main.c b/ui/ncurses/generic-main.c index d9fd7d2..49a96cb 100644 --- a/ui/ncurses/generic-main.c +++ b/ui/ncurses/generic-main.c @@ -149,7 +149,7 @@ static struct pmenu *pb_mm_init(struct pb_cui *pb_cui) "Petitboot (" PACKAGE_VERSION ")"); m->scr.frame.rtitle = NULL; m->scr.frame.help = talloc_strdup(m, - "ESC=exit, Enter=accept, e=edit, n=new"); + "Enter=accept, e=edit, n=new, x=exit"); m->scr.frame.status = talloc_strdup(m, "Welcome to Petitboot"); i = pmenu_item_init(m, 0, "Exit to Shell"); diff --git a/ui/ncurses/nc-cui.c b/ui/ncurses/nc-cui.c index 33a9f73..da97fd9 100644 --- a/ui/ncurses/nc-cui.c +++ b/ui/ncurses/nc-cui.c @@ -65,7 +65,7 @@ void cui_resize(struct cui *cui) } /** - * cui_on_exit - A generic main menu ESC callback. + * cui_on_exit - A generic main menu exit callback. */ void cui_on_exit(struct pmenu *menu) diff --git a/ui/ncurses/nc-menu.c b/ui/ncurses/nc-menu.c index b45719d..beb63f3 100644 --- a/ui/ncurses/nc-menu.c +++ b/ui/ncurses/nc-menu.c @@ -205,6 +205,7 @@ static void pmenu_process_key(struct nc_scr *scr, int key) switch (key) { case 27: /* ESC */ + case 'x': if (menu->on_exit) menu->on_exit(menu); nc_flush_keys(); diff --git a/ui/ncurses/ps3-main.c b/ui/ncurses/ps3-main.c index 9efba3b..c4a3892 100644 --- a/ui/ncurses/ps3-main.c +++ b/ui/ncurses/ps3-main.c @@ -343,7 +343,7 @@ static int ps3_svm_to_mm_cb(struct pmenu_item *item) } /** - * ps3_svm_to_mm_helper - The svm ESC callback. + * ps3_svm_to_mm_helper - The svm exit callback. */ static void ps3_svm_to_mm_helper(struct pmenu *menu) @@ -421,7 +421,7 @@ static struct pmenu *ps3_mm_init(struct ps3_cui *ps3_cui) m->scr.frame.title = talloc_strdup(m, "Petitboot PS3"); #endif m->scr.frame.help = talloc_strdup(m, - "ESC=exit, Enter=accept, e=edit, o=open"); + "Enter=accept, e=edit, o=open, x=exit"); m->scr.frame.status = talloc_strdup(m, "Welcome to Petitboot"); i = pmenu_item_init(m, 0, "Boot GameOS"); @@ -472,7 +472,7 @@ static struct pmenu *ps3_svm_init(struct ps3_cui *ps3_cui) m->hot_key = ps3_hot_key; m->scr.frame.title = talloc_strdup(m, "Select PS3 Video Mode"); - m->scr.frame.help = talloc_strdup(m, "ESC=exit, Enter=accept"); + m->scr.frame.help = talloc_strdup(m, "Enter=accept, x=exit"); i = pmenu_item_init(m, 0, "auto detect"); i->on_execute = ps3_svm_cb;