From 12b95c848941be30dac7d54d897aa0108cf9d76d Mon Sep 17 00:00:00 2001 From: Kyle Evans Date: Wed, 21 Feb 2018 14:37:49 +0000 Subject: [PATCH] lualoader: Use the key that interrupts autoboot as a menu choice This matches forth behavior. Hitting "6" when autobooting at the welcome menu will now take you directly to the "Boot Options" menu. We likely have some slight optimizations we should make, like not checking autoboot every time we open a new menu and things of this nature. Further work will go towards this end. --- stand/lua/menu.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/stand/lua/menu.lua b/stand/lua/menu.lua index e0e7c6c3c055..9e057a1b1800 100644 --- a/stand/lua/menu.lua +++ b/stand/lua/menu.lua @@ -291,11 +291,13 @@ function menu.run(m) screen.defcursor() local alias_table = drawer.drawscreen(m) - menu.autoboot() + -- Might return nil, that's ok + local autoboot_key = menu.autoboot() cont = true while cont do - local key = io.getchar() + local key = autoboot_key or io.getchar() + autoboot_key = nil -- Special key behaviors if (key == core.KEY_BACKSPACE or key == core.KEY_DELETE) and @@ -360,13 +362,13 @@ end function menu.autoboot() if menu.already_autoboot then - return + return nil end menu.already_autoboot = true local ab = loader.getenv("autoboot_delay") if ab ~= nil and ab:lower() == "no" then - return + return nil elseif tonumber(ab) == -1 then core.boot() end @@ -395,7 +397,7 @@ function menu.autoboot() print(" " .. " ") screen.defcursor() - return + return ch end end