aboutsummaryrefslogtreecommitdiff
path: root/src/input_common/input_engine.cpp
diff options
context:
space:
mode:
authorgerman77 <juangerman-13@hotmail.com>2022-01-06 18:06:05 -0600
committergerman77 <juangerman-13@hotmail.com>2022-01-06 20:05:49 -0600
commit4b4af29f860fb2fdecb76d705265b0bc2bcc7254 (patch)
tree594014b77dd97a2846fa598b3621903aaf573c7c /src/input_common/input_engine.cpp
parent7116a7d28bb7f0b4ecdf937d20635382e91f4b93 (diff)
input_common: Use accelerometer data for mapping
Diffstat (limited to 'src/input_common/input_engine.cpp')
-rw-r--r--src/input_common/input_engine.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/input_common/input_engine.cpp b/src/input_common/input_engine.cpp
index 9c17ca4f77..b57330e51d 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{