From ee532e5c01f97f30078202ae87a5b2a71e9ce1e4 Mon Sep 17 00:00:00 2001 From: Narr the Reg <juangerman-13@hotmail.com> Date: Fri, 4 Mar 2022 11:47:13 -0600 Subject: input_common: Map sticks correctly when mapped sideways --- src/input_common/drivers/gc_adapter.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/input_common/drivers/gc_adapter.cpp') diff --git a/src/input_common/drivers/gc_adapter.cpp b/src/input_common/drivers/gc_adapter.cpp index 155caae424..8abd41726e 100644 --- a/src/input_common/drivers/gc_adapter.cpp +++ b/src/input_common/drivers/gc_adapter.cpp @@ -524,4 +524,20 @@ Common::Input::ButtonNames GCAdapter::GetUIName(const Common::ParamPackage& para return Common::Input::ButtonNames::Invalid; } +bool GCAdapter::IsStickInverted(const Common::ParamPackage& params) { + if (!params.Has("port")) { + return false; + } + + const auto x_axis = static_cast<PadAxes>(params.Get("axis_x", 0)); + const auto y_axis = static_cast<PadAxes>(params.Get("axis_y", 0)); + if (x_axis != PadAxes::StickY && x_axis != PadAxes::SubstickY) { + return false; + } + if (y_axis != PadAxes::StickX && y_axis != PadAxes::SubstickX) { + return false; + } + return true; +} + } // namespace InputCommon -- cgit v1.2.3-70-g09d2