typedef enum thumbstick_mode_t;
// Parameters
// Implicit and derived constants
uint16_t rawX;
uint16_t rawY;
uint16_t distX;
uint16_t distY;
uint16_t thumbstickLogTimer;
typedef struct thumbstick_config_t;
typedef struct thumbstick_vector_t;
typedef struct thumbstick_direction_t;
typedef struct thumbstick_state_t;
uint16_t thumbstickTimer;
uint16_t thumbstickScrollTimer;
thumbstick_state_t thumbstick_state;
void ;
thumbstick_mode_t ;
void ;
void ;
// Axis-level wrapper to read raw value, do logging and calculate speed
int16_t ;
// Get mouse speed
int16_t ;
// Fix direction within one of 8 axes (or 4 if 8-axis is disabled)
thumbstick_direction_t ;
void ;
void ;