1#ifndef KEYBOARD_H 2#define KEYBOARD_H 3 4 5#include <SupportDefs.h> 6 7 8union key { 9 uint32 d0; 10 struct { 11 uint8 modifiers; // not always present! 12 uint8 bios; // scan code 13 uint8 dummy; 14 uint8 ascii; 15 } code; 16}; 17 18#define BIOS_KEY_UP 0x48 19#define BIOS_KEY_DOWN 0x50 20#define BIOS_KEY_LEFT 0x4b 21#define BIOS_KEY_RIGHT 0x4d 22// XXX: FIXME 23#define BIOS_KEY_HOME 0x47 24#define BIOS_KEY_END 0x4f 25#define BIOS_KEY_PAGE_UP 0x49 26#define BIOS_KEY_PAGE_DOWN 0x51 27 28#ifdef __cplusplus 29extern "C" { 30#endif 31 32extern void clear_key_buffer(void); 33extern union key wait_for_key(void); 34extern uint32 check_for_boot_keys(void); 35 36#ifdef __cplusplus 37} 38#endif 39 40#endif /* KEYBOARD_H */ 41