summaryrefslogtreecommitdiff
path: root/src/input_common/main.cpp
diff options
context:
space:
mode:
authorGravatar Narr the Reg2022-03-04 11:47:13 -0600
committerGravatar Narr the Reg2022-03-21 19:39:33 -0600
commitee532e5c01f97f30078202ae87a5b2a71e9ce1e4 (patch)
tree55e544838b029e4a78a61e38cb085f5668400837 /src/input_common/main.cpp
parentMerge pull request #8048 from ameerj/include-purge (diff)
downloadyuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.tar.gz
yuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.tar.xz
yuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.zip
input_common: Map sticks correctly when mapped sideways
Diffstat (limited to 'src/input_common/main.cpp')
-rw-r--r--src/input_common/main.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp
index 28769c6d8..21834fb6b 100644
--- a/src/input_common/main.cpp
+++ b/src/input_common/main.cpp
@@ -241,6 +241,28 @@ struct InputSubsystem::Impl {
241 return Common::Input::ButtonNames::Invalid; 241 return Common::Input::ButtonNames::Invalid;
242 } 242 }
243 243
244 bool IsStickInverted(const Common::ParamPackage& params) {
245 const std::string engine = params.Get("engine", "");
246 if (engine == mouse->GetEngineName()) {
247 return mouse->IsStickInverted(params);
248 }
249 if (engine == gcadapter->GetEngineName()) {
250 return gcadapter->IsStickInverted(params);
251 }
252 if (engine == udp_client->GetEngineName()) {
253 return udp_client->IsStickInverted(params);
254 }
255 if (engine == tas_input->GetEngineName()) {
256 return tas_input->IsStickInverted(params);
257 }
258#ifdef HAVE_SDL2
259 if (engine == sdl->GetEngineName()) {
260 return sdl->IsStickInverted(params);
261 }
262#endif
263 return false;
264 }
265
244 bool IsController(const Common::ParamPackage& params) { 266 bool IsController(const Common::ParamPackage& params) {
245 const std::string engine = params.Get("engine", ""); 267 const std::string engine = params.Get("engine", "");
246 if (engine == mouse->GetEngineName()) { 268 if (engine == mouse->GetEngineName()) {
@@ -384,6 +406,13 @@ bool InputSubsystem::IsController(const Common::ParamPackage& params) const {
384 return impl->IsController(params); 406 return impl->IsController(params);
385} 407}
386 408
409bool InputSubsystem::IsStickInverted(const Common::ParamPackage& params) const {
410 if (params.Has("axis_x") && params.Has("axis_y")) {
411 return impl->IsStickInverted(params);
412 }
413 return false;
414}
415
387void InputSubsystem::ReloadInputDevices() { 416void InputSubsystem::ReloadInputDevices() {
388 impl->udp_client.get()->ReloadSockets(); 417 impl->udp_client.get()->ReloadSockets();
389} 418}