@@ -100,17 +100,16 @@ std::vector<std::shared_ptr<ControllerButtonMapping>>
100
100
ButtonMappingFactory::CreateDefaultSDLButtonMappings (uint8_t portIndex, CONTROLLERBUTTONS_T bitmask) {
101
101
std::vector<std::shared_ptr<ControllerButtonMapping>> mappings;
102
102
103
+ auto defaultButtonsForBitmask = Context::GetInstance ()
104
+ ->GetControlDeck ()
105
+ ->GetControllerDefaultMappings ()
106
+ ->GetDefaultSDLButtonToButtonMappings ()[bitmask];
107
+
108
+ for (const auto & sdlGamepadButton : defaultButtonsForBitmask) {
109
+ mappings.push_back (std::make_shared<SDLButtonToButtonMapping>(portIndex, bitmask, sdlGamepadButton));
110
+ }
111
+
103
112
switch (bitmask) {
104
- case BTN_A:
105
- mappings.push_back (std::make_shared<SDLButtonToButtonMapping>(portIndex, BTN_A, SDL_CONTROLLER_BUTTON_A));
106
- break ;
107
- case BTN_B:
108
- mappings.push_back (std::make_shared<SDLButtonToButtonMapping>(portIndex, BTN_B, SDL_CONTROLLER_BUTTON_B));
109
- break ;
110
- case BTN_L:
111
- mappings.push_back (
112
- std::make_shared<SDLButtonToButtonMapping>(portIndex, BTN_L, SDL_CONTROLLER_BUTTON_LEFTSHOULDER));
113
- break ;
114
113
case BTN_R:
115
114
mappings.push_back (std::make_shared<SDLAxisDirectionToButtonMapping>(portIndex, BTN_R,
116
115
SDL_CONTROLLER_AXIS_TRIGGERRIGHT, 1 ));
@@ -119,10 +118,6 @@ ButtonMappingFactory::CreateDefaultSDLButtonMappings(uint8_t portIndex, CONTROLL
119
118
mappings.push_back (std::make_shared<SDLAxisDirectionToButtonMapping>(portIndex, BTN_Z,
120
119
SDL_CONTROLLER_AXIS_TRIGGERLEFT, 1 ));
121
120
break ;
122
- case BTN_START:
123
- mappings.push_back (
124
- std::make_shared<SDLButtonToButtonMapping>(portIndex, BTN_START, SDL_CONTROLLER_BUTTON_START));
125
- break ;
126
121
case BTN_CUP:
127
122
mappings.push_back (
128
123
std::make_shared<SDLAxisDirectionToButtonMapping>(portIndex, BTN_CUP, SDL_CONTROLLER_AXIS_RIGHTY, -1 ));
@@ -139,22 +134,6 @@ ButtonMappingFactory::CreateDefaultSDLButtonMappings(uint8_t portIndex, CONTROLL
139
134
mappings.push_back (std::make_shared<SDLAxisDirectionToButtonMapping>(portIndex, BTN_CRIGHT,
140
135
SDL_CONTROLLER_AXIS_RIGHTX, 1 ));
141
136
break ;
142
- case BTN_DUP:
143
- mappings.push_back (
144
- std::make_shared<SDLButtonToButtonMapping>(portIndex, BTN_DUP, SDL_CONTROLLER_BUTTON_DPAD_UP));
145
- break ;
146
- case BTN_DDOWN:
147
- mappings.push_back (
148
- std::make_shared<SDLButtonToButtonMapping>(portIndex, BTN_DDOWN, SDL_CONTROLLER_BUTTON_DPAD_DOWN));
149
- break ;
150
- case BTN_DLEFT:
151
- mappings.push_back (
152
- std::make_shared<SDLButtonToButtonMapping>(portIndex, BTN_DLEFT, SDL_CONTROLLER_BUTTON_DPAD_LEFT));
153
- break ;
154
- case BTN_DRIGHT:
155
- mappings.push_back (
156
- std::make_shared<SDLButtonToButtonMapping>(portIndex, BTN_DRIGHT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT));
157
- break ;
158
137
}
159
138
160
139
return mappings;
0 commit comments