aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown <mcb30@etherboot.org>2009-01-25 21:12:48 +0000
committerMichael Brown <mcb30@etherboot.org>2009-01-25 21:12:48 +0000
commitf1d17ae2bef41d7f40a863b331d219f7dd2bf82c (patch)
tree91262eebf4c1e0304cfae2cfe6992a647ae00c39
parentce9690ca39207262d5d5540f23b3fc4788005ccc (diff)
downloadipxe-f1d17ae2bef41d7f40a863b331d219f7dd2bf82c.tar.gz
[bios] Add F8 function key as a recognised BIOS keycode
-rw-r--r--src/arch/i386/firmware/pcbios/bios_console.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/arch/i386/firmware/pcbios/bios_console.c b/src/arch/i386/firmware/pcbios/bios_console.c
index dcb0462a9..913637723 100644
--- a/src/arch/i386/firmware/pcbios/bios_console.c
+++ b/src/arch/i386/firmware/pcbios/bios_console.c
@@ -193,13 +193,14 @@ static const char *ansi_input = "";
* dense range, so subtracting a constant and treating them as offsets
* into an array works efficiently.
*/
-#define BIOS_KEY_MIN 0x47
+#define BIOS_KEY_MIN 0x42
/** Offset into list of interesting BIOS scancodes */
#define BIOS_KEY(scancode) ( (scancode) - BIOS_KEY_MIN )
/** Mapping from BIOS scan codes to ANSI escape sequences */
static const char *ansi_sequences[] = {
+ [ BIOS_KEY ( 0x42 ) ] = "[19~", /* F8 (required for PXE) */
[ BIOS_KEY ( 0x47 ) ] = "[H", /* Home */
[ BIOS_KEY ( 0x48 ) ] = "[A", /* Up arrow */
[ BIOS_KEY ( 0x4b ) ] = "[D", /* Left arrow */
@@ -222,6 +223,7 @@ static const char * scancode_to_ansi_seq ( unsigned int scancode ) {
sizeof ( ansi_sequences[0] ) ) ) {
return ansi_sequences[bios_key];
}
+ DBG ( "Unrecognised BIOS scancode %02x\n", scancode );
return NULL;
}