#include "input.h" #include "lzr.h" static const unsigned int keys[5] = {LZR_BUTTON_LEFT, LZR_BUTTON_RIGHT, LZR_BUTTON_UP, LZR_BUTTON_DOWN, LZR_BUTTON_O}; static int states[5] = {0}; void input_update(void) { int i = 5; while (i-- > 0) if (LZR_ButtonDown(keys[i])) states[i] = (states[i] == KS_UP) ? (KS_PRESSED) : (KS_DOWN); else states[i] = KS_UP; } int input_up(unsigned int k) { if (k >= 5) return 0; return states[k] == KS_UP; } int input_down(unsigned int k) { if (k >= 5) return 0; return states[k] == KS_DOWN || states[k] == KS_PRESSED; } int input_pressed(unsigned int k) { if (k >= 5) return 0; return states[k] == KS_PRESSED; }