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