4#include <unordered_map>
5#include <unordered_set>
10#ifndef CONTROLLERBUTTONS_T
11#define CONTROLLERBUTTONS_T uint16_t
37 std::unordered_map<
CONTROLLERBUTTONS_T, std::unordered_set<KbScancode>> defaultKeyboardKeyToButtonMappings,
38 std::unordered_map<
StickIndex, std::vector<std::pair<Direction, KbScancode>>>
39 defaultKeyboardKeyToAxisDirectionMappings,
41 defaultSDLButtonToButtonMappings,
42 std::unordered_map<
StickIndex, std::vector<std::pair<Direction, SDL_GameControllerButton>>>
43 defaultSDLButtonToAxisDirectionMappings,
44 std::unordered_map<
CONTROLLERBUTTONS_T, std::vector<std::pair<SDL_GameControllerAxis, int32_t>>>
45 defaultSDLAxisDirectionToButtonMappings,
46 std::unordered_map<
StickIndex, std::vector<std::pair<
Direction, std::pair<SDL_GameControllerAxis, int32_t>>>>
47 defaultSDLAxisDirectionToAxisDirectionMappings);
63 std::unordered_map<StickIndex, std::vector<std::pair<Direction, KbScancode>>>
70 std::unordered_map<CONTROLLERBUTTONS_T, std::unordered_set<SDL_GameControllerButton>>
77 std::unordered_map<StickIndex, std::vector<std::pair<Direction, SDL_GameControllerButton>>>
84 std::unordered_map<CONTROLLERBUTTONS_T, std::vector<std::pair<SDL_GameControllerAxis, int32_t>>>
91 std::unordered_map<StickIndex, std::vector<std::pair<Direction, std::pair<SDL_GameControllerAxis, int32_t>>>>
100 std::unordered_map<
CONTROLLERBUTTONS_T, std::unordered_set<KbScancode>> defaultKeyboardKeyToButtonMappings);
107 std::unordered_map<
StickIndex, std::vector<std::pair<Direction, KbScancode>>>
108 defaultKeyboardKeyToAxisDirectionMappings);
116 defaultSDLButtonToButtonMappings);
123 std::unordered_map<
StickIndex, std::vector<std::pair<Direction, SDL_GameControllerButton>>>
124 defaultSDLButtonToAxisDirectionMappings);
131 std::unordered_map<
CONTROLLERBUTTONS_T, std::vector<std::pair<SDL_GameControllerAxis, int32_t>>>
132 defaultSDLAxisDirectionToButtonMappings);
139 std::unordered_map<
StickIndex, std::vector<std::pair<
Direction, std::pair<SDL_GameControllerAxis, int32_t>>>>
140 defaultSDLAxisDirectionToAxisDirectionMappings);
143 std::unordered_map<CONTROLLERBUTTONS_T, std::unordered_set<KbScancode>> mDefaultKeyboardKeyToButtonMappings;
144 std::unordered_map<StickIndex, std::vector<std::pair<Direction, KbScancode>>>
145 mDefaultKeyboardKeyToAxisDirectionMappings;
146 std::unordered_map<CONTROLLERBUTTONS_T, std::unordered_set<SDL_GameControllerButton>>
147 mDefaultSDLButtonToButtonMappings;
148 std::unordered_map<StickIndex, std::vector<std::pair<Direction, SDL_GameControllerButton>>>
149 mDefaultSDLButtonToAxisDirectionMappings;
150 std::unordered_map<CONTROLLERBUTTONS_T, std::vector<std::pair<SDL_GameControllerAxis, int32_t>>>
151 mDefaultSDLAxisDirectionToButtonMappings;
152 std::unordered_map<StickIndex, std::vector<std::pair<Direction, std::pair<SDL_GameControllerAxis, int32_t>>>>
153 mDefaultSDLAxisDirectionToAxisDirectionMappings;
Holds the default input-to-button and input-to-axis mappings for a controller.
Definition ControllerDefaultMappings.h:25
virtual void SetDefaultSDLAxisDirectionToAxisDirectionMappings(std::unordered_map< StickIndex, std::vector< std::pair< Direction, std::pair< SDL_GameControllerAxis, int32_t > > > > defaultSDLAxisDirectionToAxisDirectionMappings)
Replaces the default SDL-axis-direction-to-axis-direction mappings.
ControllerDefaultMappings(std::unordered_map< CONTROLLERBUTTONS_T, std::unordered_set< KbScancode > > defaultKeyboardKeyToButtonMappings, std::unordered_map< StickIndex, std::vector< std::pair< Direction, KbScancode > > > defaultKeyboardKeyToAxisDirectionMappings, std::unordered_map< CONTROLLERBUTTONS_T, std::unordered_set< SDL_GameControllerButton > > defaultSDLButtonToButtonMappings, std::unordered_map< StickIndex, std::vector< std::pair< Direction, SDL_GameControllerButton > > > defaultSDLButtonToAxisDirectionMappings, std::unordered_map< CONTROLLERBUTTONS_T, std::vector< std::pair< SDL_GameControllerAxis, int32_t > > > defaultSDLAxisDirectionToButtonMappings, std::unordered_map< StickIndex, std::vector< std::pair< Direction, std::pair< SDL_GameControllerAxis, int32_t > > > > defaultSDLAxisDirectionToAxisDirectionMappings)
Constructs a ControllerDefaultMappings with fully specified default tables.
std::unordered_map< StickIndex, std::vector< std::pair< Direction, std::pair< SDL_GameControllerAxis, int32_t > > > > GetDefaultSDLAxisDirectionToAxisDirectionMappings()
Returns the default SDL-axis-direction-to-axis-direction mappings.
~ControllerDefaultMappings()
std::unordered_map< StickIndex, std::vector< std::pair< Direction, KbScancode > > > GetDefaultKeyboardKeyToAxisDirectionMappings()
Returns the default keyboard-key-to-axis-direction mappings.
virtual void SetDefaultSDLAxisDirectionToButtonMappings(std::unordered_map< CONTROLLERBUTTONS_T, std::vector< std::pair< SDL_GameControllerAxis, int32_t > > > defaultSDLAxisDirectionToButtonMappings)
Replaces the default SDL-axis-direction-to-button mappings.
std::unordered_map< CONTROLLERBUTTONS_T, std::unordered_set< KbScancode > > GetDefaultKeyboardKeyToButtonMappings()
Returns the default keyboard-key-to-button mappings.
virtual void SetDefaultSDLButtonToAxisDirectionMappings(std::unordered_map< StickIndex, std::vector< std::pair< Direction, SDL_GameControllerButton > > > defaultSDLButtonToAxisDirectionMappings)
Replaces the default SDL-button-to-axis-direction mappings.
virtual void SetDefaultKeyboardKeyToAxisDirectionMappings(std::unordered_map< StickIndex, std::vector< std::pair< Direction, KbScancode > > > defaultKeyboardKeyToAxisDirectionMappings)
Replaces the default keyboard-key-to-axis-direction mappings.
ControllerDefaultMappings()
Constructs a ControllerDefaultMappings with empty default tables.
virtual void SetDefaultKeyboardKeyToButtonMappings(std::unordered_map< CONTROLLERBUTTONS_T, std::unordered_set< KbScancode > > defaultKeyboardKeyToButtonMappings)
Replaces the default keyboard-key-to-button mappings.
std::unordered_map< StickIndex, std::vector< std::pair< Direction, SDL_GameControllerButton > > > GetDefaultSDLButtonToAxisDirectionMappings()
Returns the default SDL-button-to-axis-direction mappings.
std::unordered_map< CONTROLLERBUTTONS_T, std::unordered_set< SDL_GameControllerButton > > GetDefaultSDLButtonToButtonMappings()
Returns the default SDL-button-to-button mappings.
std::unordered_map< CONTROLLERBUTTONS_T, std::vector< std::pair< SDL_GameControllerAxis, int32_t > > > GetDefaultSDLAxisDirectionToButtonMappings()
Returns the default SDL-axis-direction-to-button mappings.
virtual void SetDefaultSDLButtonToButtonMappings(std::unordered_map< CONTROLLERBUTTONS_T, std::unordered_set< SDL_GameControllerButton > > defaultSDLButtonToButtonMappings)
Replaces the default SDL-button-to-button mappings.
Core namespace for the libultraship engine framework.
Definition gfx_direct3d_common.h:14
Direction
Identifies the direction component of an axis mapping.
Definition ControllerAxisDirectionMapping.h:18
StickIndex
Identifies which analog stick an axis mapping applies to.
Definition ControllerAxisDirectionMapping.h:15