X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ui%2Fncurses%2Fnc-menu.c;h=cd7c54e6b67c4dde5fe39d0f613ae701fc6e568e;hb=e6427db8266f5964d14679c53b55da8e3ee0233c;hp=5dc6469df1b55f9110cf0e2eefa0a6857de9fb5a;hpb=2a6f3ebc8263e94441c2c865a6b28dae40e35990;p=petitboot diff --git a/ui/ncurses/nc-menu.c b/ui/ncurses/nc-menu.c index 5dc6469..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) @@ -249,6 +256,12 @@ static void pmenu_process_key(struct nc_scr *scr, int key) 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;