Jazz2::UI::ControlScheme class

Provides access to a user configured control scheme.

Public static variables

static std::int32_t MaxSupportedPlayers constexpr
Maximum number of supported local players.
static std::int32_t MaxConnectedGamepads constexpr
Maximum number of supported connected gamepads.

Public static functions

static void Reset()
Resets all bindings to default.
static auto FetchProcessedInput(std::int32_t playerIndex, const BitArray& pressedKeys, const ArrayView<const JoyMappedState*> joyStates, bool analogAsButtons = true) -> ProcessedInput
Fetches processed standard input for specified player according to the current bindings.
static auto FetchNativation(const BitArray& pressedKeys, const ArrayView<const JoyMappedState*> joyStates, NavigationFlags flags = NavigationFlags::AllowAll) -> std::uint32_t
Fetches navigation input according to the current bindings.
static auto GetAllMappings() -> ArrayView<ControlSchemeMapping>
Returns the entire mapping configuration.
static auto GetMappings(std::int32_t playerIdx) -> ArrayView<ControlSchemeMapping>
Returns a mapping configuration for a given player index.
static auto GetGamepadForPlayer(std::int32_t playerIdx) -> std::int32_t
Returns a gamepad index for a given player index.
static auto CreateTarget(Keys key) -> MappingTarget
Creates mapping target for a given key.
static auto CreateTarget(std::uint32_t gamepadIndex, ButtonName button) -> MappingTarget
Creates mapping target for a given gamepad button.
static auto CreateTarget(std::uint32_t gamepadIndex, AxisName axis, bool negative = false) -> MappingTarget
Creates mapping target for a given gamepad axis.

Constructors, destructors, conversion operators

ControlScheme() deleted
~ControlScheme() deleted