summaryrefslogtreecommitdiffstats
path: root/src/core/hid
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-01-28 00:44:04 +0100
committerGitHub <noreply@github.com>2022-01-28 00:44:04 +0100
commit0dec42431fe0511e8277a95fb872c8af67450837 (patch)
treed2e4a7350ca7362b01e5ff6a16fd25f3fbdb279c /src/core/hid
parentMerge pull request #7783 from lioncash/abi-cexpr (diff)
parentinput_common: Add option to configure gyro threshold (diff)
downloadyuzu-0dec42431fe0511e8277a95fb872c8af67450837.tar
yuzu-0dec42431fe0511e8277a95fb872c8af67450837.tar.gz
yuzu-0dec42431fe0511e8277a95fb872c8af67450837.tar.bz2
yuzu-0dec42431fe0511e8277a95fb872c8af67450837.tar.lz
yuzu-0dec42431fe0511e8277a95fb872c8af67450837.tar.xz
yuzu-0dec42431fe0511e8277a95fb872c8af67450837.tar.zst
yuzu-0dec42431fe0511e8277a95fb872c8af67450837.zip
Diffstat (limited to '')
-rw-r--r--src/core/hid/emulated_controller.cpp1
-rw-r--r--src/core/hid/motion_input.cpp4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp
index d12037b11..a7cdf45e6 100644
--- a/src/core/hid/emulated_controller.cpp
+++ b/src/core/hid/emulated_controller.cpp
@@ -749,6 +749,7 @@ void EmulatedController::SetMotion(const Common::Input::CallbackStatus& callback
raw_status.gyro.y.value,
raw_status.gyro.z.value,
});
+ emulated.SetGyroThreshold(raw_status.gyro.x.properties.threshold);
emulated.UpdateRotation(raw_status.delta_timestamp);
emulated.UpdateOrientation(raw_status.delta_timestamp);
force_update_motion = raw_status.force_update;
diff --git a/src/core/hid/motion_input.cpp b/src/core/hid/motion_input.cpp
index 6e126be19..05042fd99 100644
--- a/src/core/hid/motion_input.cpp
+++ b/src/core/hid/motion_input.cpp
@@ -10,7 +10,7 @@ namespace Core::HID {
MotionInput::MotionInput() {
// Initialize PID constants with default values
SetPID(0.3f, 0.005f, 0.0f);
- SetGyroThreshold(0.00005f);
+ SetGyroThreshold(0.007f);
}
void MotionInput::SetPID(f32 new_kp, f32 new_ki, f32 new_kd) {
@@ -31,7 +31,7 @@ void MotionInput::SetGyroscope(const Common::Vec3f& gyroscope) {
gyro_bias = (gyro_bias * 0.9999f) + (gyroscope * 0.0001f);
}
- if (gyro.Length2() < gyro_threshold) {
+ if (gyro.Length() < gyro_threshold) {
gyro = {};
} else {
only_accelerometer = false;