diff options
Diffstat (limited to 'quantum/joystick.h')
-rw-r--r-- | quantum/joystick.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/quantum/joystick.h b/quantum/joystick.h index 9156491aca..5d81b14ef2 100644 --- a/quantum/joystick.h +++ b/quantum/joystick.h @@ -1,15 +1,22 @@ #pragma once -#include "quantum.h" - #include <stdint.h> +#include "gpio.h" #ifndef JOYSTICK_BUTTON_COUNT # define JOYSTICK_BUTTON_COUNT 8 +#elif JOYSTICK_BUTTON_COUNT > 32 +# error Joystick feature only supports up to 32 buttons #endif #ifndef JOYSTICK_AXES_COUNT # define JOYSTICK_AXES_COUNT 4 +#elif JOYSTICK_AXES_COUNT > 6 +# error Joystick feature only supports up to 6 axes +#endif + +#if JOYSTICK_AXES_COUNT == 0 && JOYSTICK_BUTTON_COUNT == 0 +# error Joystick feature requires at least one axis or button #endif #ifndef JOYSTICK_AXES_RESOLUTION @@ -58,5 +65,7 @@ typedef struct { extern joystick_t joystick_status; -// to be implemented in the hid protocol library -void send_joystick_packet(joystick_t *joystick); +void joystick_flush(void); + +void register_joystick_button(uint8_t button); +void unregister_joystick_button(uint8_t button); |