Merge pull request #10174 from german77/motriod
input_common: Add experimental motion to button
This commit is contained in:
		| @@ -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; | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user