summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2023-05-06 21:40:20 -0700
committerGravatar GitHub2023-05-06 21:40:20 -0700
commit82188b2f7943e5304ae3ae058bdd34c60d8be3a6 (patch)
tree9d885f3d15f2c9a4e0fa60e816349d61f094a32e
parentMerge pull request #10171 from german77/powera (diff)
parentinput_common: Add experimental motion to button (diff)
downloadyuzu-82188b2f7943e5304ae3ae058bdd34c60d8be3a6.tar.gz
yuzu-82188b2f7943e5304ae3ae058bdd34c60d8be3a6.tar.xz
yuzu-82188b2f7943e5304ae3ae058bdd34c60d8be3a6.zip
Merge pull request #10174 from german77/motriod
input_common: Add experimental motion to button
-rw-r--r--src/core/hid/input_converter.cpp7
-rw-r--r--src/input_common/input_mapping.cpp3
2 files changed, 10 insertions, 0 deletions
diff --git a/src/core/hid/input_converter.cpp b/src/core/hid/input_converter.cpp
index a38e3bb3f..53b00b1f9 100644
--- a/src/core/hid/input_converter.cpp
+++ b/src/core/hid/input_converter.cpp
@@ -62,6 +62,9 @@ Common::Input::ButtonStatus TransformToButton(const Common::Input::CallbackStatu
62 case Common::Input::InputType::Button: 62 case Common::Input::InputType::Button:
63 status = callback.button_status; 63 status = callback.button_status;
64 break; 64 break;
65 case Common::Input::InputType::Motion:
66 status.value = std::abs(callback.motion_status.gyro.x.raw_value) > 1.0f;
67 break;
65 default: 68 default:
66 LOG_ERROR(Input, "Conversion from type {} to button not implemented", callback.type); 69 LOG_ERROR(Input, "Conversion from type {} to button not implemented", callback.type);
67 break; 70 break;
@@ -227,6 +230,10 @@ Common::Input::TriggerStatus TransformToTrigger(const Common::Input::CallbackSta
227 status = callback.trigger_status; 230 status = callback.trigger_status;
228 calculate_button_value = false; 231 calculate_button_value = false;
229 break; 232 break;
233 case Common::Input::InputType::Motion:
234 status.analog.properties.range = 1.0f;
235 raw_value = callback.motion_status.accel.x.raw_value;
236 break;
230 default: 237 default:
231 LOG_ERROR(Input, "Conversion from type {} to trigger not implemented", callback.type); 238 LOG_ERROR(Input, "Conversion from type {} to trigger not implemented", callback.type);
232 break; 239 break;
diff --git a/src/input_common/input_mapping.cpp b/src/input_common/input_mapping.cpp
index 9361b00c5..8c2ee4eb3 100644
--- a/src/input_common/input_mapping.cpp
+++ b/src/input_common/input_mapping.cpp
@@ -82,6 +82,9 @@ void MappingFactory::RegisterButton(const MappingData& data) {
82 new_input.Set("axis", data.index); 82 new_input.Set("axis", data.index);
83 new_input.Set("threshold", 0.5f); 83 new_input.Set("threshold", 0.5f);
84 break; 84 break;
85 case EngineInputType::Motion:
86 new_input.Set("motion", data.index);
87 break;
85 default: 88 default:
86 return; 89 return;
87 } 90 }