diff options
author | bunnei <bunneidev@gmail.com> | 2023-02-12 09:19:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-12 09:19:22 +0100 |
commit | 8b74047b1b4eac10c6152a18920d0a8e1861fecd (patch) | |
tree | 74a64e8a680771cede461bb0945fa4242deae2ed /src/core/hid/motion_input.h | |
parent | Merge pull request #9746 from ameerj/ogl-msaa-texcache (diff) | |
parent | core: hid: Use gyro thresholds modes set by the game (diff) | |
download | yuzu-8b74047b1b4eac10c6152a18920d0a8e1861fecd.tar yuzu-8b74047b1b4eac10c6152a18920d0a8e1861fecd.tar.gz yuzu-8b74047b1b4eac10c6152a18920d0a8e1861fecd.tar.bz2 yuzu-8b74047b1b4eac10c6152a18920d0a8e1861fecd.tar.lz yuzu-8b74047b1b4eac10c6152a18920d0a8e1861fecd.tar.xz yuzu-8b74047b1b4eac10c6152a18920d0a8e1861fecd.tar.zst yuzu-8b74047b1b4eac10c6152a18920d0a8e1861fecd.zip |
Diffstat (limited to 'src/core/hid/motion_input.h')
-rw-r--r-- | src/core/hid/motion_input.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/hid/motion_input.h b/src/core/hid/motion_input.h index f5fd90db5..9180bb9aa 100644 --- a/src/core/hid/motion_input.h +++ b/src/core/hid/motion_input.h @@ -11,6 +11,15 @@ namespace Core::HID { class MotionInput { public: + static constexpr float ThresholdLoose = 0.01f; + static constexpr float ThresholdStandard = 0.007f; + static constexpr float ThresholdThight = 0.002f; + + static constexpr float IsAtRestRelaxed = 0.05f; + static constexpr float IsAtRestLoose = 0.02f; + static constexpr float IsAtRestStandard = 0.01f; + static constexpr float IsAtRestThight = 0.005f; + explicit MotionInput(); MotionInput(const MotionInput&) = default; @@ -26,6 +35,9 @@ public: void SetGyroBias(const Common::Vec3f& bias); void SetGyroThreshold(f32 threshold); + /// Applies a modifier on top of the normal gyro threshold + void SetUserGyroThreshold(f32 threshold); + void EnableReset(bool reset); void ResetRotations(); @@ -74,6 +86,9 @@ private: // Minimum gyro amplitude to detect if the device is moving f32 gyro_threshold = 0.0f; + // Multiplies gyro_threshold by this value + f32 user_gyro_threshold = 0.0f; + // Number of invalid sequential data u32 reset_counter = 0; |