#ifndef MOUSE_H_INCLUDED
#define MOUSE_H_INCLUDED

//#define MOUSE_AXIS_VALUES           1024
//#define MOUSE_AXIS_MIN_VALUE        -511
//#define MOUSE_AXIS_MAX_VALUE         511
#define MOUSE_AXIS_VALUES           255
#define MOUSE_AXIS_MIN_VALUE        -127
#define MOUSE_AXIS_MAX_VALUE         127

extern int32_t mouse_joy;
extern osbool mouse_enabled;
extern const char *mouse_type;
extern os_pointer_type initial_pointer_type;
extern int32_t mouse_rel_x;
extern int32_t mouse_rel_y;
extern int32_t mouse_select;
extern int32_t mouse_menu;
extern int32_t mouse_adjust;
extern int32_t mouse_previous_select;
extern int32_t mouse_previous_menu;
extern int32_t mouse_previous_adjust;
extern int32_t mouse_previous_pc_x;
extern int32_t mouse_previous_pc_y;

extern osbool pointerv_claimed;

extern void pointerv_hook(void);
int32_t pointerv_hook_handler(_kernel_swi_regs *r, void *pw);

void update_mouse(uint32_t i);

#endif
