xref: /haiku/src/system/boot/platform/amiga_m68k/keyboard.h (revision 6ed98199f1c531edac39c0b6d8e33e4d387ec36e)
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