/* If there is a raw key pending, return it; otherwise return -1. */ static int grub_keyboard_getkey (void) { grub_uint8_t key; if (! KEYBOARD_ISREADY (grub_inb (KEYBOARD_REG_STATUS))) return -1; key = grub_inb (KEYBOARD_REG_DATA); /* FIXME */ grub_keyboard_isr (key); if (! KEYBOARD_ISMAKE (key)) return -1; return (KEYBOARD_SCANCODE (key)); }
/* If there is a raw key pending, return it; otherwise return -1. */ static int grub_keyboard_getkey (void) { int key; int is_break = 0; key = fetch_key (&is_break); if (key == -1) return -1; if (grub_keyboard_isr (key, is_break)) return -1; if (is_break) return -1; return key; }