diff options
author | Ameer <aj662@drexel.edu> | 2020-07-07 05:01:57 +0200 |
---|---|---|
committer | Ameer <aj662@drexel.edu> | 2020-07-07 05:01:57 +0200 |
commit | e3253b5f1896605f94d661cae1a7333522b6aee8 (patch) | |
tree | 491bece04d0603617e429e816f85281a3c601b22 /src | |
parent | Recalibrate reconnected controllers (diff) | |
download | yuzu-e3253b5f1896605f94d661cae1a7333522b6aee8.tar yuzu-e3253b5f1896605f94d661cae1a7333522b6aee8.tar.gz yuzu-e3253b5f1896605f94d661cae1a7333522b6aee8.tar.bz2 yuzu-e3253b5f1896605f94d661cae1a7333522b6aee8.tar.lz yuzu-e3253b5f1896605f94d661cae1a7333522b6aee8.tar.xz yuzu-e3253b5f1896605f94d661cae1a7333522b6aee8.tar.zst yuzu-e3253b5f1896605f94d661cae1a7333522b6aee8.zip |
Diffstat (limited to '')
-rw-r--r-- | src/input_common/gcadapter/gc_adapter.cpp | 39 | ||||
-rw-r--r-- | src/input_common/gcadapter/gc_poller.cpp | 7 |
2 files changed, 31 insertions, 15 deletions
diff --git a/src/input_common/gcadapter/gc_adapter.cpp b/src/input_common/gcadapter/gc_adapter.cpp index f173a018a..b43b73759 100644 --- a/src/input_common/gcadapter/gc_adapter.cpp +++ b/src/input_common/gcadapter/gc_adapter.cpp @@ -386,35 +386,50 @@ const std::array<GCState, 4>& Adapter::GetPadState() const { } int Adapter::GetOriginValue(int port, int axis) { + // TODO: perhaps place stick statuses into an array in PadStatus const PadAxes padaxis = static_cast<PadAxes>(axis); - if (padaxis == PadAxes::StickX) + if (padaxis == PadAxes::StickX) { return origin_status[port].stick_x; - if (padaxis == PadAxes::StickY) + } + if (padaxis == PadAxes::StickY) { return origin_status[port].stick_y; - if (padaxis == PadAxes::SubstickX) + } + if (padaxis == PadAxes::SubstickX) { return origin_status[port].substick_x; - if (padaxis == PadAxes::SubstickY) + } + if (padaxis == PadAxes::SubstickY) { return origin_status[port].substick_x; - if (padaxis == PadAxes::TriggerLeft) + } + if (padaxis == PadAxes::TriggerLeft) { return origin_status[port].trigger_left; - if (padaxis == PadAxes::TriggerRight) + } + if (padaxis == PadAxes::TriggerRight) { return origin_status[port].trigger_right; + } + return 0; } const int Adapter::GetOriginValue(int port, int axis) const { const PadAxes padaxis = static_cast<PadAxes>(axis); - if (padaxis == PadAxes::StickX) + if (padaxis == PadAxes::StickX) { return origin_status[port].stick_x; - if (padaxis == PadAxes::StickY) + } + if (padaxis == PadAxes::StickY) { return origin_status[port].stick_y; - if (padaxis == PadAxes::SubstickX) + } + if (padaxis == PadAxes::SubstickX) { return origin_status[port].substick_x; - if (padaxis == PadAxes::SubstickY) + } + if (padaxis == PadAxes::SubstickY) { return origin_status[port].substick_x; - if (padaxis == PadAxes::TriggerLeft) + } + if (padaxis == PadAxes::TriggerLeft) { return origin_status[port].trigger_left; - if (padaxis == PadAxes::TriggerRight) + } + if (padaxis == PadAxes::TriggerRight) { return origin_status[port].trigger_right; + } + return 0; } } // namespace GCAdapter diff --git a/src/input_common/gcadapter/gc_poller.cpp b/src/input_common/gcadapter/gc_poller.cpp index c9bb7e571..ed99f98b4 100644 --- a/src/input_common/gcadapter/gc_poller.cpp +++ b/src/input_common/gcadapter/gc_poller.cpp @@ -155,10 +155,11 @@ public: // division is not by a perfect 128 to account for some variance in center location // e.g. my device idled at 131 in X, 120 in Y, and full range of motion was in range // [20-230] - if (axis % 2 == 0) + if (axis % 2 == 0) { return (gcadapter->GetPadState()[port].axes.at(axis) - origin_value_x) / 95.0f; - else + } else { return (gcadapter->GetPadState()[port].axes.at(axis) - origin_value_y) / 95.0f; + } } std::pair<float, float> GetAnalog(int axis_x, int axis_y) const { @@ -208,10 +209,10 @@ private: const int axis_x; const int axis_y; const float deadzone; + GCAdapter::Adapter* gcadapter; const float origin_value_x; const float origin_value_y; mutable std::mutex mutex; - GCAdapter::Adapter* gcadapter; }; /// An analog device factory that creates analog devices from GC Adapter |