j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
"get-key-map" is a Forth word that provides a map of all the keys currently pressed on the keyboard. Since it is only used by BootX to determine if one of the shortcuts for verbose or single user mode is pressed. It is a waste of time to provide a full implementation. This just hands out a dummy key map which specifies verbose mode.
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 ); +}
Attachments: