Merge pull request #10174 from german77/motriod

input_common: Add experimental motion to button
merge-requests/60/head
bunnei 2023-05-06 21:40:20 +07:00 committed by GitHub
commit 82188b2f79
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 0 deletions

@ -62,6 +62,9 @@ Common::Input::ButtonStatus TransformToButton(const Common::Input::CallbackStatu
case Common::Input::InputType::Button: case Common::Input::InputType::Button:
status = callback.button_status; status = callback.button_status;
break; break;
case Common::Input::InputType::Motion:
status.value = std::abs(callback.motion_status.gyro.x.raw_value) > 1.0f;
break;
default: default:
LOG_ERROR(Input, "Conversion from type {} to button not implemented", callback.type); LOG_ERROR(Input, "Conversion from type {} to button not implemented", callback.type);
break; break;
@ -227,6 +230,10 @@ Common::Input::TriggerStatus TransformToTrigger(const Common::Input::CallbackSta
status = callback.trigger_status; status = callback.trigger_status;
calculate_button_value = false; calculate_button_value = false;
break; break;
case Common::Input::InputType::Motion:
status.analog.properties.range = 1.0f;
raw_value = callback.motion_status.accel.x.raw_value;
break;
default: default:
LOG_ERROR(Input, "Conversion from type {} to trigger not implemented", callback.type); LOG_ERROR(Input, "Conversion from type {} to trigger not implemented", callback.type);
break; break;

@ -82,6 +82,9 @@ void MappingFactory::RegisterButton(const MappingData& data) {
new_input.Set("axis", data.index); new_input.Set("axis", data.index);
new_input.Set("threshold", 0.5f); new_input.Set("threshold", 0.5f);
break; break;
case EngineInputType::Motion:
new_input.Set("motion", data.index);
break;
default: default:
return; return;
} }