blob: 819f477f9721edc68e3415ef9a75867e48e8c374 [file]
#ifndef _RIVE_GAMEPAD_INPUT_KIND_HPP_
#define _RIVE_GAMEPAD_INPUT_KIND_HPP_
#include <cstdint>
namespace rive
{
/// Values for \c GamepadInputBase::kind() — which gamepad event kind a single
/// `GamepadInput` filters. `button` / `axis` mirror `GamepadInputChangeKind`
/// (see \c gamepad_snapshot.hpp) so the value can be compared directly against
/// `GamepadEventInvocation::change.kind`.
enum class GamepadInputKind : uint32_t
{
button = 0,
axis = 1,
connected = 2,
disconnected = 3,
};
/// Values for \c GamepadInputBase::mapping() — how `inputIndex` is interpreted
/// for `button` / `axis` kinds.
enum class GamepadInputMapping : uint32_t
{
/// `inputIndex` is a W3C standard slot (matches the corresponding
/// `StandardGamepadButton` / `StandardGamepadAxis` enum value).
standard = 0,
/// `inputIndex` is the raw W3C index into the buttons/axes arrays.
index = 1,
};
} // namespace rive
#endif