1 #pragma once 2 3 #include <SDL.h> 4 5 #include "all.h" 6 #include "./controller_buttons.h" 7 8 namespace dvl { 9 10 struct ControllerButtonEvent { 11 ControllerButton button; 12 bool up; 13 }; 14 15 // NOTE: Not idempotent because of how it handles axis triggers. 16 // Must be called exactly once per SDL input event. 17 ControllerButtonEvent ToControllerButtonEvent(const SDL_Event &event); 18 19 bool IsControllerButtonPressed(ControllerButton button); 20 21 bool HandleControllerAddedOrRemovedEvent(const SDL_Event &event); 22 23 } // namespace dvl 24