diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2013-10-11 15:16:39 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2013-10-11 15:16:39 +0800 |
commit | bf8d7e61a8fbc19be5ea1a73b9eaa30e58453d1f (patch) | |
tree | 4be76c47ef059485db563f76e0b0c8d31f6e9934 /ui/ncurses | |
parent | 03d135e3d7528184062cc16949febd76c393c30d (diff) | |
download | talos-petitboot-bf8d7e61a8fbc19be5ea1a73b9eaa30e58453d1f.tar.gz talos-petitboot-bf8d7e61a8fbc19be5ea1a73b9eaa30e58453d1f.zip |
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 <jk@ozlabs.org>
Diffstat (limited to 'ui/ncurses')
-rw-r--r-- | ui/ncurses/generic-main.c | 2 | ||||
-rw-r--r-- | ui/ncurses/nc-cui.c | 2 | ||||
-rw-r--r-- | ui/ncurses/nc-menu.c | 1 | ||||
-rw-r--r-- | ui/ncurses/ps3-main.c | 6 |
4 files changed, 6 insertions, 5 deletions
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; |