Index: drivers/adb_kbd.c
===================================================================
--- drivers/adb_kbd.c (revision 1041)
+++ drivers/adb_kbd.c (working copy)
@@ -43,10 +43,13 @@
static void keyboard_read(void);
+static void keyboard_get_key_map(void);
+
NODE_METHODS( keyboard ) = {
{ "open", keyboard_open },
{ "close", keyboard_close },
{ "read", keyboard_read },
+ { "get-key-map", keyboard_get_key_map },
};
/* VT100 escape sequences */
@@ -566,3 +569,18 @@
}
PUSH(i);
}
+
+static unsigned char fake_keymap[32] = {
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
+};
+
+static void keyboard_get_key_map(void)
+{
+ /* This is a bit of a hack since BootX requires a get-key-map word.
+ In the future this should be changed to give the actual current keymap,
+ but since this only effects keyboard input in BootX it isn't a priority. */
+ PUSH( (int)fake_keymap );
+}