:: commit 2321de5daa4aba550c43d5c484204f3e3193b7dc

mintsuki <mintsuki@protonmail.com> — 2022-02-04 21:25

parents: b45dc16c36

menu: Support using 1-9 to boot menu entries

diff --git a/.gitignore b/.gitignore
index 0563dd49..879dc0c9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,19 +3,19 @@
 /toolchain
 /reduced-gnu-efi
 /ovmf*
-/*.o
-/*.d
-/*.a
-/*.exe
-/*.EFI
-/*.bin
-/*.bin.gz
-/*.tar.xz
-/*.tar.gz
-/*.elf
-/*.hdd
-/*.iso
-/*.sys
+*.o
+*.d
+*.a
+*.exe
+*.EFI
+*.bin
+*.bin.gz
+*.tar.xz
+*.tar.gz
+*.elf
+*.hdd
+*.iso
+*.sys
 /bochsout.txt
 /bx_enh_dbg.ini
 /.vscode
diff --git a/common/menu.c b/common/menu.c
index f4663340..4d7efd4f 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -821,6 +821,17 @@ refresh:
         c = getchar();
 timeout_aborted:
         switch (c) {
+            case '1': case '2': case '3': case '4': case '5':
+            case '6': case '7': case '8': case '9': {
+                int ent = (c - '0') - 1;
+                if (ent < (int)max_entries) {
+                    selected_entry = ent;
+                    print_tree(NULL, 0, 0, selected_entry, menu_tree,
+                               &selected_menu_entry);
+                    goto autoboot;
+                }
+                goto refresh;
+            }
             case GETCHAR_CURSOR_UP:
                 if (selected_entry == 0)
                     selected_entry = max_entries - 1;
tab: 248 wrap: offon