diff options
| author | 2023-05-06 21:40:20 -0700 | |
|---|---|---|
| committer | 2023-05-06 21:40:20 -0700 | |
| commit | 82188b2f7943e5304ae3ae058bdd34c60d8be3a6 (patch) | |
| tree | 9d885f3d15f2c9a4e0fa60e816349d61f094a32e /src | |
| parent | Merge pull request #10171 from german77/powera (diff) | |
| parent | input_common: Add experimental motion to button (diff) | |
| download | yuzu-82188b2f7943e5304ae3ae058bdd34c60d8be3a6.tar.gz yuzu-82188b2f7943e5304ae3ae058bdd34c60d8be3a6.tar.xz yuzu-82188b2f7943e5304ae3ae058bdd34c60d8be3a6.zip | |
Merge pull request #10174 from german77/motriod
input_common: Add experimental motion to button
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hid/input_converter.cpp | 7 | ||||
| -rw-r--r-- | src/input_common/input_mapping.cpp | 3 |
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 | } |