|
| static std::shared_ptr< ControllerButtonMapping > | CreateButtonMappingFromConfig (uint8_t portIndex, std::string id, std::shared_ptr< ConsoleVariable > consoleVariable, std::shared_ptr< ControlDeck > controlDeck, std::shared_ptr< Window > window) |
| | Deserializes a button mapping from the configuration string.
|
| |
| static std::vector< std::shared_ptr< ControllerButtonMapping > > | CreateDefaultKeyboardButtonMappings (uint8_t portIndex, CONTROLLERBUTTONS_T bitmask, std::shared_ptr< ConsoleVariable > consoleVariable, std::shared_ptr< ControlDeck > controlDeck, std::shared_ptr< Window > window) |
| | Creates default keyboard mappings for the given button bitmask.
|
| |
| static std::vector< std::shared_ptr< ControllerButtonMapping > > | CreateDefaultSDLButtonMappings (uint8_t portIndex, CONTROLLERBUTTONS_T bitmask, std::shared_ptr< ConsoleVariable > consoleVariable, std::shared_ptr< ControlDeck > controlDeck) |
| | Creates default SDL mappings for the given button bitmask.
|
| |
| static std::shared_ptr< ControllerButtonMapping > | CreateButtonMappingFromSDLInput (uint8_t portIndex, CONTROLLERBUTTONS_T bitmask, std::shared_ptr< ConsoleVariable > consoleVariable, std::shared_ptr< ControlDeck > controlDeck) |
| | Creates a button mapping from live SDL input for interactive binding.
|
| |
| static std::shared_ptr< ControllerButtonMapping > | CreateButtonMappingFromMouseWheelInput (uint8_t portIndex, CONTROLLERBUTTONS_T bitmask, std::shared_ptr< ConsoleVariable > consoleVariable, std::shared_ptr< ControlDeck > controlDeck) |
| | Creates a button mapping from mouse wheel input for interactive binding.
|
| |
Factory for creating ControllerButtonMapping instances.
ButtonMappingFactory provides static helpers to create ControllerButtonMapping instances that map physical input sources (keyboard, mouse, SDL gamepad) to game controller buttons. It supports deserializing button mappings from persisted configuration, generating default keyboard and SDL mappings, and creating mappings from live SDL or mouse-wheel input during interactive binding.
All factory methods require a ConsoleVariable and ControlDeck to track state and configuration. Keyboard methods also require a Window for key-capture state.
Typical usage (within ControlDeck or ConfigUI):
portIndex, mappingId, consoleVariable, controlDeck, window);