Sfoglia il codice sorgente

input_common: Use accelerometer data for mapping

german77 4 anni fa
parent
commit
4b4af29f86
1 ha cambiato i file con 10 aggiunte e 2 eliminazioni
  1. 10 2
      src/input_common/input_engine.cpp

+ 10 - 2
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{