Allow configuration of the boot menu prompt and boot menu key (via the romfile interface). Some machines don't have an F12 key, so make this configurable.
Signed-off-by: Kevin O'Connor kevin@koconnor.net --- src/boot.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/boot.c b/src/boot.c index d421a65..7bcb4b6 100644 --- a/src/boot.c +++ b/src/boot.c @@ -413,14 +413,16 @@ interactive_bootmenu(void) while (get_keystroke(0) >= 0) ;
- printf("\nPress F12 for boot menu.\n\n"); + char *bootmsg = romfile_loadfile("etc/boot-menu-message", NULL); + int menukey = romfile_loadint("etc/boot-menu-key", 0x86); + printf(bootmsg ?: "\nPress F12 for boot menu.\n\n"); + free(bootmsg);
u32 menutime = romfile_loadint("etc/boot-menu-wait", DEFAULT_BOOTMENU_WAIT); enable_bootsplash(); int scan_code = get_keystroke(menutime); disable_bootsplash(); - if (scan_code != 0x86) - /* not F12 */ + if (scan_code != menukey) return;
while (get_keystroke(0) >= 0)
Can the message have some color codes?
"\nPress <white>F12</white> for boot menu.\n\n"
So that it is possible to brighten/darken/highlight/emphasize certain parts of text strings.
Also with the boot being so fast, it is easy to miss the window of press. I hope it is possible to hold down the F12 key and that should work too, so you don't have to repeatedly press it 10 times a second. :p
On Fri, Aug 2, 2013 at 8:18 PM, Kevin O'Connor kevin@koconnor.net wrote:
Allow configuration of the boot menu prompt and boot menu key (via the romfile interface). Some machines don't have an F12 key, so make this configurable.
Signed-off-by: Kevin O'Connor kevin@koconnor.net
src/boot.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/boot.c b/src/boot.c index d421a65..7bcb4b6 100644 --- a/src/boot.c +++ b/src/boot.c @@ -413,14 +413,16 @@ interactive_bootmenu(void) while (get_keystroke(0) >= 0) ;
- printf("\nPress F12 for boot menu.\n\n");
char *bootmsg = romfile_loadfile("etc/boot-menu-message", NULL);
int menukey = romfile_loadint("etc/boot-menu-key", 0x86);
printf(bootmsg ?: "\nPress F12 for boot menu.\n\n");
free(bootmsg);
u32 menutime = romfile_loadint("etc/boot-menu-wait",
DEFAULT_BOOTMENU_WAIT); enable_bootsplash(); int scan_code = get_keystroke(menutime); disable_bootsplash();
- if (scan_code != 0x86)
/* not F12 */
if (scan_code != menukey) return;
while (get_keystroke(0) >= 0)
-- 1.7.11.7
SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios