26#define B8_HIF_PAD_STATUS_START (1 << 0)
27#define B8_HIF_PAD_STATUS_SELECT (1 << 1)
28#define B8_HIF_PAD_STATUS_LEFT (1 << 2)
29#define B8_HIF_PAD_STATUS_UP (1 << 3)
30#define B8_HIF_PAD_STATUS_RIGHT (1 << 4)
31#define B8_HIF_PAD_STATUS_DOWN (1 << 5)
32#define B8_HIF_PAD_STATUS_BTN_A (1 << 6)
33#define B8_HIF_PAD_STATUS_BTN_B (1 << 7)
36#define B8_HIF_PAD_STATUS_BTN_X B8_HIF_PAD_STATUS_BTN_A
37#define B8_HIF_PAD_STATUS_BTN_Z B8_HIF_PAD_STATUS_BTN_B
39#define B8_HIF_ADDR (0xffffa000)
74#define B8_HIF_PAD(n) _B8_REG(B8_HIF_ADDR + (n)*4)
75#define B8_HIF_PAD0 B8_HIF_PAD(0)
76#define B8_HIF_PAD1 B8_HIF_PAD(1)
77#define B8_HIF_PAD2 B8_HIF_PAD(2)
78#define B8_HIF_PAD3 B8_HIF_PAD(3)
81#define B8_HIF_TOUCH_CTRL _B8_REG(B8_HIF_ADDR + 0x40)
82#define B8_HIF_TOUCH_CONNECT _B8_REG(B8_HIF_ADDR + 0x44)
85#define B8_HIF_KB_ADDR (B8_HIF_ADDR + 0x20)
86#define B8_HIF_KB_RX _B8_REG(B8_HIF_KB_ADDR + 0x00)
87#define B8_HIF_KB_LEN _B8_REG(B8_HIF_KB_ADDR + 0x08)
90#define B8_HIF_KB_STATUS _B8_REG(B8_HIF_KB_ADDR + 0x10)
91#define B8_HIF_KB_STATUS_ALT (1 << 0)
92#define B8_HIF_KB_STATUS_SHIFT (1 << 1)
93#define B8_HIF_KB_STATUS_META (1 << 2)
94#define B8_HIF_KB_STATUS_CONTROL (1 << 3)
97#define B8_HIF_KB_CODE_BACKSPACE (8)
98#define B8_HIF_KB_CODE_TAB (9)
99#define B8_HIF_KB_CODE_ENTER (10)
100#define B8_HIF_KB_CODE_ESCAPE (27)
101#define B8_HIF_KB_CODE_ARROW_LEFT (128)
102#define B8_HIF_KB_CODE_ARROW_RIGHT (129)
103#define B8_HIF_KB_CODE_ARROW_UP (130)
104#define B8_HIF_KB_CODE_ARROW_DOWN (131)
113 B8_HIF_EV_TOUCH_START = 0xf0,
114 B8_HIF_EV_TOUCH_MOVE,
115 B8_HIF_EV_TOUCH_CANCEL,
117 B8_HIF_EV_MOUSE_DOWN,
118 B8_HIF_EV_MOUSE_MOVE,
120 B8_HIF_EV_MOUSE_HOVER_MOVE,
136#define B8_HIF_MAX_TOUCH_EVENTS (32)
struct _b8HifEvents b8HifEvents
Structure representing a collection of HIF events.
struct _b8HifEvent b8HifEvent
Structure representing a single HIF event.
struct _b8HifMouseStatus b8HifMouseStatus
Structure representing the current mouse or touch panel status.
const b8HifMouseStatus * b8HifGetMouseStatus(void)
Retrieve the current mouse or touch panel status.
Definition hif.c:164
int b8HifGetEvents(b8HifEvents *result)
Retrieve the current HIF events.
Definition hif.c:25
b8HifEventType
Enumeration of HIF event types.
Definition hif.h:112
Peripheral register map definitions for the BEEP-8 system.
Structure representing a single HIF event.
Definition hif.h:129
s16 yp
Definition hif.h:132
b8HifEventType type
Definition hif.h:130
s16 xp
Definition hif.h:131
Structure representing a collection of HIF events.
Definition hif.h:147
size_t num
Definition hif.h:148
b8HifEvent events[B8_HIF_MAX_TOUCH_EVENTS]
Definition hif.h:149
Structure representing the current mouse or touch panel status.
Definition hif.h:193
s16 mouse_y
Definition hif.h:195
s16 mouse_x
Definition hif.h:194
u8 is_dragging
Definition hif.h:196