#ifndef MOUSE_H_INCLUDED
#define MOUSE_H_INCLUDED


#define MOUSE_AXIS_VALUES           255
#define MOUSE_AXIS_MIN_VALUE        -127
#define MOUSE_AXIS_MAX_VALUE         127

// Our PointerV device type for PointerReason_Report. Must be DISTINCT from
// any real mouse's selected type (Global/Pointer.h defines 0..16) so the
// kernel adds our movement without suppressing the real mouse - see
// doc.MouseKeyboard. Not registered with OS_Pointer; used only as R1 when
// pushing relative movement.
#define POINTER_DEVICE_JOYSTICK     0x80

extern int32_t mouse_previous_select;
extern int32_t mouse_previous_menu;
extern int32_t mouse_previous_adjust;

int mouse_active(uint32_t i);
void update_mouse(uint32_t i);

#endif
