diff options
author | bunnei <bunneidev@gmail.com> | 2022-01-28 00:44:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-28 00:44:04 +0100 |
commit | 0dec42431fe0511e8277a95fb872c8af67450837 (patch) | |
tree | d2e4a7350ca7362b01e5ff6a16fd25f3fbdb279c /src/core/hid | |
parent | Merge pull request #7783 from lioncash/abi-cexpr (diff) | |
parent | input_common: Add option to configure gyro threshold (diff) | |
download | yuzu-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.cpp | 1 | ||||
-rw-r--r-- | src/core/hid/motion_input.cpp | 4 |
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; |