| #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 |