summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-01-08 09:06:15 +0100
committerGitHub <noreply@github.com>2022-01-08 09:06:15 +0100
commit26f4e92c1fa5486f4047990ee7351f18f7fe4f1c (patch)
tree592c31594566b2f933f358b79a7b44380fa2515b
parentMerge pull request #7658 from ameerj/sparse-fixes (diff)
parentcore/hid: Set minimum gyro threshold (diff)
downloadyuzu-26f4e92c1fa5486f4047990ee7351f18f7fe4f1c.tar
yuzu-26f4e92c1fa5486f4047990ee7351f18f7fe4f1c.tar.gz
yuzu-26f4e92c1fa5486f4047990ee7351f18f7fe4f1c.tar.bz2
yuzu-26f4e92c1fa5486f4047990ee7351f18f7fe4f1c.tar.lz
yuzu-26f4e92c1fa5486f4047990ee7351f18f7fe4f1c.tar.xz
yuzu-26f4e92c1fa5486f4047990ee7351f18f7fe4f1c.tar.zst
yuzu-26f4e92c1fa5486f4047990ee7351f18f7fe4f1c.zip
-rw-r--r--src/core/hid/motion_input.cpp1
-rw-r--r--src/input_common/input_engine.cpp12
2 files changed, 11 insertions, 2 deletions
diff --git a/src/core/hid/motion_input.cpp b/src/core/hid/motion_input.cpp
index a23f192d7..43152492e 100644
--- a/src/core/hid/motion_input.cpp
+++ b/src/core/hid/motion_input.cpp
@@ -10,6 +10,7 @@ namespace Core::HID {
MotionInput::MotionInput() {
// Initialize PID constants with default values
SetPID(0.3f, 0.005f, 0.0f);
+ SetGyroThreshold(0.001f);
}
void MotionInput::SetPID(f32 new_kp, f32 new_ki, f32 new_kd) {
diff --git a/src/input_common/input_engine.cpp b/src/input_common/input_engine.cpp
index 9c17ca4f7..b57330e51 100644
--- a/src/input_common/input_engine.cpp
+++ b/src/input_common/input_engine.cpp
@@ -298,8 +298,16 @@ void InputEngine::TriggerOnMotionChange(const PadIdentifier& identifier, int mot
if (!configuring || !mapping_callback.on_data) {
return;
}
- if (std::abs(value.gyro_x) < 0.6f && std::abs(value.gyro_y) < 0.6f &&
- std::abs(value.gyro_z) < 0.6f) {
+ bool is_active = false;
+ if (std::abs(value.accel_x) > 1.5f || std::abs(value.accel_y) > 1.5f ||
+ std::abs(value.accel_z) > 1.5f) {
+ is_active = true;
+ }
+ if (std::abs(value.gyro_x) > 0.6f || std::abs(value.gyro_y) > 0.6f ||
+ std::abs(value.gyro_z) > 0.6f) {
+ is_active = true;
+ }
+ if (!is_active) {
return;
}
mapping_callback.on_data(MappingData{