summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasahisa Kojima <masahisa.kojima@linaro.org>2023-02-02 18:24:44 +0900
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2023-02-10 13:05:39 +0100
commit88df36346c767f8756e54cc1941b6cda180b61db (patch)
tree2f054ba33d62a72ae12709b95dbe76d2c9ebe60a
parent45f5319fa6e88cf3b59addee5caebf06fd26e305 (diff)
eficonfig: CTRL+S to save the boot order
The change boot order menu in eficonfig can have at most INT_MAX lines and it is troublesome to scroll down to the "Save" entry. This commit assigns CTRL+S to save the boot order. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Acked-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-rw-r--r--cmd/eficonfig.c6
-rw-r--r--common/menu.c3
-rw-r--r--include/menu.h1
3 files changed, 9 insertions, 1 deletions
diff --git a/cmd/eficonfig.c b/cmd/eficonfig.c
index f365a988d4d..0a17b8cf343 100644
--- a/cmd/eficonfig.c
+++ b/cmd/eficonfig.c
@@ -28,7 +28,7 @@ const char *eficonfig_menu_desc =
static const char *eficonfig_change_boot_order_desc =
" Press UP/DOWN to move, +/- to change orde\n"
" Press SPACE to activate or deactivate the entry\n"
- " Select [Save] to complete, ESC to quit";
+ " CTRL+S to save, ESC to quit";
static struct efi_simple_text_output_protocol *cout;
static int avail_row;
@@ -1983,6 +1983,10 @@ char *eficonfig_choice_change_boot_order(void *data)
eficonfig_menu_down(efi_menu);
return NULL;
+ case BKEY_SAVE:
+ /* force to select "Save" entry */
+ efi_menu->active = efi_menu->count - 2;
+ fallthrough;
case BKEY_SELECT:
/* "Save" */
if (efi_menu->active == efi_menu->count - 2) {
diff --git a/common/menu.c b/common/menu.c
index cdcdbb2a185..94514177e4e 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -503,6 +503,9 @@ enum bootmenu_key bootmenu_conv_key(int ichar)
case CTL_CH('n'):
key = BKEY_DOWN;
break;
+ case CTL_CH('s'):
+ key = BKEY_SAVE;
+ break;
case '+':
key = BKEY_PLUS;
break;
diff --git a/include/menu.h b/include/menu.h
index 1e88141d6bf..64ce89b7d26 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -53,6 +53,7 @@ enum bootmenu_key {
BKEY_PLUS,
BKEY_MINUS,
BKEY_SPACE,
+ BKEY_SAVE,
BKEY_COUNT,
};