libjoybus
Joybus implementation for 32-bit MCUs
Loading...
Searching...
No Matches
n64_controller.h
Go to the documentation of this file.
6
7#pragma once
8
9#include <stdint.h>
10
18#define JOYBUS_N64_BUTTON_RIGHT (1 << 0)
19#define JOYBUS_N64_BUTTON_LEFT (1 << 1)
20#define JOYBUS_N64_BUTTON_DOWN (1 << 2)
21#define JOYBUS_N64_BUTTON_UP (1 << 3)
22#define JOYBUS_N64_BUTTON_START (1 << 4)
23#define JOYBUS_N64_BUTTON_Z (1 << 5)
24#define JOYBUS_N64_BUTTON_B (1 << 6)
25#define JOYBUS_N64_BUTTON_A (1 << 7)
26#define JOYBUS_N64_BUTTON_C_RIGHT (1 << 8)
27#define JOYBUS_N64_BUTTON_C_LEFT (1 << 9)
28#define JOYBUS_N64_BUTTON_C_DOWN (1 << 10)
29#define JOYBUS_N64_BUTTON_C_UP (1 << 11)
30#define JOYBUS_N64_BUTTON_R (1 << 12)
31#define JOYBUS_N64_BUTTON_L (1 << 13)
32#define JOYBUS_N64_RST (1 << 15)
33#define JOYBUS_N64_BUTTON_MASK 0x3FFF
34
44 uint16_t buttons;
45
47 int8_t stick_x;
48
50 int8_t stick_y;
51} __attribute__((packed));
N64 controller input state.
Definition n64_controller.h:42
uint16_t buttons
Button state.
Definition n64_controller.h:44
int8_t stick_x
Stick x-axis position, nominally -80..80.
Definition n64_controller.h:47
int8_t stick_y
Stick y-axis position, nominally -80..80.
Definition n64_controller.h:50