11#define JOYBUS_GCN_BUTTON_A (1 << 0)
12#define JOYBUS_GCN_BUTTON_B (1 << 1)
13#define JOYBUS_GCN_BUTTON_X (1 << 2)
14#define JOYBUS_GCN_BUTTON_Y (1 << 3)
15#define JOYBUS_GCN_BUTTON_START (1 << 4)
16#define JOYBUS_GCN_NEED_ORIGIN (1 << 5)
17#define JOYBUS_GCN_ERROR_LATCH (1 << 6)
18#define JOYBUS_GCN_ERROR (1 << 7)
19#define JOYBUS_GCN_BUTTON_LEFT (1 << 8)
20#define JOYBUS_GCN_BUTTON_RIGHT (1 << 9)
21#define JOYBUS_GCN_BUTTON_DOWN (1 << 10)
22#define JOYBUS_GCN_BUTTON_UP (1 << 11)
23#define JOYBUS_GCN_BUTTON_Z (1 << 12)
24#define JOYBUS_GCN_BUTTON_R (1 << 13)
25#define JOYBUS_GCN_BUTTON_L (1 << 14)
26#define JOYBUS_GCN_USE_ORIGIN (1 << 15)
27#define JOYBUS_GCN_BUTTON_MASK 0x7F1F
59} __attribute__((packed));
joybus_gcn_motor_state
GameCube controller motor states.
Definition gamecube.h:84
@ JOYBUS_GCN_MOTOR_RUMBLE
Start the rumble motor.
Definition gamecube.h:89
@ JOYBUS_GCN_MOTOR_STOP_HARD
Stop the rumble motor immediately.
Definition gamecube.h:92
@ JOYBUS_GCN_MOTOR_STOP
Stop the rumble motor.
Definition gamecube.h:86
joybus_gcn_analog_mode
Analog modes for packing GameCube controller input state.
Definition gamecube.h:64
@ JOYBUS_GCN_ANALOG_MODE_3
Substick X/Y and triggers full precision, analog A/B omitted.
Definition gamecube.h:75
@ JOYBUS_GCN_ANALOG_MODE_0
Substick X/Y full precision, triggers and analog A/B truncated to 4 bits.
Definition gamecube.h:66
@ JOYBUS_GCN_ANALOG_MODE_1
Triggers full precision, substick X/Y and analog A/B truncated to 4 bits.
Definition gamecube.h:69
@ JOYBUS_GCN_ANALOG_MODE_4
Substick X/Y and analog A/B full precision, triggers omitted.
Definition gamecube.h:78
@ JOYBUS_GCN_ANALOG_MODE_2
Analog A/B full precision, substick X/Y and triggers truncated to 4 bits.
Definition gamecube.h:72