You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
755 B

#pragma once
#include <SDL.h>
#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<ControllerButtonEvent, 4> ToControllerButtonEvents(const SDL_Event &event);
bool IsControllerButtonPressed(ControllerButton button);
bool IsControllerButtonComboPressed(ControllerButtonCombo combo);
bool HandleControllerAddedOrRemovedEvent(const SDL_Event &event);
} // namespace devilution