diff options
Diffstat (limited to '')
-rw-r--r-- | src/input_common/main.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index a4d7ed645..21834fb6b 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -3,7 +3,6 @@ // Refer to the license.txt file included. #include <memory> -#include <thread> #include "common/input.h" #include "common/param_package.h" #include "input_common/drivers/gc_adapter.h" @@ -242,6 +241,28 @@ struct InputSubsystem::Impl { return Common::Input::ButtonNames::Invalid; } + bool IsStickInverted(const Common::ParamPackage& params) { + const std::string engine = params.Get("engine", ""); + if (engine == mouse->GetEngineName()) { + return mouse->IsStickInverted(params); + } + if (engine == gcadapter->GetEngineName()) { + return gcadapter->IsStickInverted(params); + } + if (engine == udp_client->GetEngineName()) { + return udp_client->IsStickInverted(params); + } + if (engine == tas_input->GetEngineName()) { + return tas_input->IsStickInverted(params); + } +#ifdef HAVE_SDL2 + if (engine == sdl->GetEngineName()) { + return sdl->IsStickInverted(params); + } +#endif + return false; + } + bool IsController(const Common::ParamPackage& params) { const std::string engine = params.Get("engine", ""); if (engine == mouse->GetEngineName()) { @@ -385,6 +406,13 @@ bool InputSubsystem::IsController(const Common::ParamPackage& params) const { return impl->IsController(params); } +bool InputSubsystem::IsStickInverted(const Common::ParamPackage& params) const { + if (params.Has("axis_x") && params.Has("axis_y")) { + return impl->IsStickInverted(params); + } + return false; +} + void InputSubsystem::ReloadInputDevices() { impl->udp_client.get()->ReloadSockets(); } |