X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ui%2Fncurses%2Fnc-menu.c;h=cd7c54e6b67c4dde5fe39d0f613ae701fc6e568e;hb=63e8f10b50712894a30ece9618bafa38734e51e4;hp=dc4680789d3490ba03a669b59e6e923278077b6d;hpb=651940467773d2e679f9210e02f4654fb05cd449;p=petitboot diff --git a/ui/ncurses/nc-menu.c b/ui/ncurses/nc-menu.c index dc46807..cd7c54e 100644 --- a/ui/ncurses/nc-menu.c +++ b/ui/ncurses/nc-menu.c @@ -16,9 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#if defined(HAVE_CONFIG_H) #include "config.h" - -#define _GNU_SOURCE +#endif #include #include @@ -227,9 +227,15 @@ static void pmenu_process_key(struct nc_scr *scr, int key) case KEY_UP: pmenu_move_cursor(menu, REQ_UP_ITEM); break; + case KEY_BTAB: + pmenu_move_cursor(menu, REQ_PREV_ITEM); + break; case KEY_DOWN: pmenu_move_cursor(menu, REQ_DOWN_ITEM); break; + case '\t': + pmenu_move_cursor(menu, REQ_NEXT_ITEM); + break; case 'e': if (item->on_edit) item->on_edit(item); @@ -238,6 +244,7 @@ static void pmenu_process_key(struct nc_scr *scr, int key) if (menu->on_new) menu->on_new(menu); break; + case ' ': case '\n': case '\r': if (item->on_execute) @@ -245,6 +252,16 @@ static void pmenu_process_key(struct nc_scr *scr, int key) break; case 'i': cui_show_sysinfo(cui_from_arg(scr->ui_ctx)); + break; + case 'c': + cui_show_config(cui_from_arg(scr->ui_ctx)); + break; + case KEY_F(1): + case 'h': + if (menu->help_text) + cui_show_help(cui_from_arg(scr->ui_ctx), + menu->help_title, menu->help_text); + break; default: menu_driver(menu->ncm, key); break;