libdragon
libdragon copied to clipboard
Joypad APIs for individual buttons
Introduces convenience functions to assist with dynamic button mapping.
- Adds
joypad_button_tenum tojoypad.h: Button constants mapped to bit positions 0-15 - Adds accessor functions for getting individual buttons using
joypad_button_t:joypad_get_button(port, button): current statejoypad_get_button_pressed(port, button): just pressed this framejoypad_get_button_released(port, button): just released this framejoypad_get_button_held(port, button): held across frames
- Adds
joypad_get_axisfunction for dynamic analog mapping
Example usage:
struct InputMap {
joypad_button_t jump;
joypad_button_t attack;
}
struct InputMap inputMap = {
.jump = JOYPAD_BUTTON_A,
.attack = JOYPAD_BUTTON_B
};
bool jumping = joypad_get_button_pressed(port, inputMap.jump);
bool attacking = joypad_get_button_pressed(port, inputMap.attack);