diff options
| author | Narr the Reg <juangerman-13@hotmail.com> | 2023-02-09 19:05:20 -0600 |
|---|---|---|
| committer | Narr the Reg <juangerman-13@hotmail.com> | 2023-02-09 19:07:50 -0600 |
| commit | 5e9fa5def5cf5ae3f00cc354a0b1363123dc6930 (patch) | |
| tree | 90a707a21b66803010bbe707c36563e1ff583559 /src/core/hid/motion_input.h | |
| parent | c27006e99d8cba4386a88b3fe5141eac7ef7deeb (diff) | |
core: hid: Use gyro thresholds modes set by the game
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; |
