]> git.ozlabs.org Git - petitboot/blobdiff - ui/ncurses/nc-textscreen.c
ui/ncurses: Unify key bindings & key help text
[petitboot] / ui / ncurses / nc-textscreen.c
index 891c8a1c91939512ea5e47ffd50946d6d669de7e..ad91f61e4c14b83cb499c8235cdd737d04232490 100644 (file)
@@ -144,12 +144,18 @@ void text_screen_process_key(struct nc_scr *scr, int key)
 
        switch (key) {
        case 'x':
+       case 27: /* esc */
                screen->on_exit(screen->cui);
                break;
        case KEY_DOWN:
        case KEY_UP:
                text_screen_scroll(screen, key);
                break;
+       case 'h':
+               if (screen->help_text)
+                       cui_show_help(screen->cui, screen->help_title,
+                                       screen->help_text);
+               break;
        default:
                break;
        }
@@ -166,6 +172,14 @@ struct nc_scr *text_screen_scr(struct text_screen *screen)
        return &screen->scr;
 }
 
+void text_screen_set_help(struct text_screen *screen, const char *title,
+               const char *text)
+{
+       screen->help_title = title;
+       screen->help_text = text;
+       screen->scr.frame.help = "x=exit, h=help";
+}
+
 static int text_screen_post(struct nc_scr *scr)
 {
        nc_scr_frame_draw(scr);