diff options
author | bunnei <bunneidev@gmail.com> | 2022-04-21 22:21:59 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-21 22:21:59 -0700 |
commit | 764e5c7fe50bbbc64898fb657cfc5b1f8360454b (patch) | |
tree | ee42eede68cb935595769104e0b94d55b1530141 /src/input_common/drivers/udp_client.cpp | |
parent | a1ee9799bcd6cbf7c68733136fe7acbebf33a71a (diff) | |
parent | ee532e5c01f97f30078202ae87a5b2a71e9ce1e4 (diff) |
Merge pull request #7978 from german77/sideway
input_common: Map sticks correctly when mapped sideways
Diffstat (limited to 'src/input_common/drivers/udp_client.cpp')
-rw-r--r-- | src/input_common/drivers/udp_client.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/input_common/drivers/udp_client.cpp b/src/input_common/drivers/udp_client.cpp index 9780ead10d..825262a07f 100644 --- a/src/input_common/drivers/udp_client.cpp +++ b/src/input_common/drivers/udp_client.cpp @@ -547,6 +547,22 @@ Common::Input::ButtonNames UDPClient::GetUIName(const Common::ParamPackage& para return Common::Input::ButtonNames::Invalid; } +bool UDPClient::IsStickInverted(const Common::ParamPackage& params) { + if (!params.Has("guid") || !params.Has("port") || !params.Has("pad")) { + 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::LeftStickY && x_axis != PadAxes::RightStickY) { + return false; + } + if (y_axis != PadAxes::LeftStickX && y_axis != PadAxes::RightStickX) { + return false; + } + return true; +} + void TestCommunication(const std::string& host, u16 port, const std::function<void()>& success_callback, const std::function<void()>& failure_callback) { |