xref: /haiku/src/system/boot/platform/bios_ia32/keyboard.h (revision 5af32e752606778be5dd7379f319fe43cb3f6b8c)
1*5af32e75SAxel Dörfler #ifndef KEYBOARD_H
2*5af32e75SAxel Dörfler #define KEYBOARD_H
3*5af32e75SAxel Dörfler 
4*5af32e75SAxel Dörfler 
5*5af32e75SAxel Dörfler #include <SupportDefs.h>
6*5af32e75SAxel Dörfler 
7*5af32e75SAxel Dörfler 
8*5af32e75SAxel Dörfler union key {
9*5af32e75SAxel Dörfler 	uint16 ax;
10*5af32e75SAxel Dörfler 	struct {
11*5af32e75SAxel Dörfler 		uint8 ascii;
12*5af32e75SAxel Dörfler 		uint8 bios;
13*5af32e75SAxel Dörfler 	} code;
14*5af32e75SAxel Dörfler };
15*5af32e75SAxel Dörfler 
16*5af32e75SAxel Dörfler #define BIOS_KEY_UP 		0x48
17*5af32e75SAxel Dörfler #define BIOS_KEY_DOWN		0x50
18*5af32e75SAxel Dörfler #define BIOS_KEY_LEFT		0x4b
19*5af32e75SAxel Dörfler #define BIOS_KEY_RIGHT		0x4d
20*5af32e75SAxel Dörfler #define BIOS_KEY_HOME		0x47
21*5af32e75SAxel Dörfler #define BIOS_KEY_END		0x4f
22*5af32e75SAxel Dörfler #define BIOS_KEY_PAGE_UP	0x49
23*5af32e75SAxel Dörfler #define BIOS_KEY_PAGE_DOWN	0x51
24*5af32e75SAxel Dörfler 
25*5af32e75SAxel Dörfler #ifdef __cplusplus
26*5af32e75SAxel Dörfler extern "C" {
27*5af32e75SAxel Dörfler #endif
28*5af32e75SAxel Dörfler 
29*5af32e75SAxel Dörfler extern void clear_key_buffer(void);
30*5af32e75SAxel Dörfler extern union key wait_for_key(void);
31*5af32e75SAxel Dörfler extern uint32 check_for_boot_keys(void);
32*5af32e75SAxel Dörfler 
33*5af32e75SAxel Dörfler #ifdef __cplusplus
34*5af32e75SAxel Dörfler }
35*5af32e75SAxel Dörfler #endif
36*5af32e75SAxel Dörfler 
37*5af32e75SAxel Dörfler #endif	/* KEYBOARD_H */
38