#pragma once #include #include "controller_buttons.h" #include "utils/static_vector.hpp" namespace devilution { struct ControllerButtonEvent { ControllerButtonEvent(ControllerButton button, bool up) : button(button) , up(up) { } ControllerButton button; bool up; }; // Must be called exactly once at the start of each SDL input event. void UnlockControllerState(const SDL_Event &event); StaticVector ToControllerButtonEvents(const SDL_Event &event); bool IsControllerButtonPressed(ControllerButton button); bool IsControllerButtonComboPressed(ControllerButtonCombo combo); bool HandleControllerAddedOrRemovedEvent(const SDL_Event &event); } // namespace devilution