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