summaryrefslogtreecommitdiffstats
path: root/src/input_common
diff options
context:
space:
mode:
authorAmeer <aj662@drexel.edu>2020-07-07 05:01:57 +0200
committerAmeer <aj662@drexel.edu>2020-07-07 05:01:57 +0200
commite3253b5f1896605f94d661cae1a7333522b6aee8 (patch)
tree491bece04d0603617e429e816f85281a3c601b22 /src/input_common
parentRecalibrate reconnected controllers (diff)
downloadyuzu-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 'src/input_common')
-rw-r--r--src/input_common/gcadapter/gc_adapter.cpp39
-rw-r--r--src/input_common/gcadapter/gc_poller.cpp7
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