diff --git a/src/core/hid/input_converter.cpp b/src/core/hid/input_converter.cpp
index a38e3bb3f2..53b00b1f92 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
     case Common::Input::InputType::Button:
         status = callback.button_status;
         break;
+    case Common::Input::InputType::Motion:
+        status.value = std::abs(callback.motion_status.gyro.x.raw_value) > 1.0f;
+        break;
     default:
         LOG_ERROR(Input, "Conversion from type {} to button not implemented", callback.type);
         break;
@@ -227,6 +230,10 @@ Common::Input::TriggerStatus TransformToTrigger(const Common::Input::CallbackSta
         status = callback.trigger_status;
         calculate_button_value = false;
         break;
+    case Common::Input::InputType::Motion:
+        status.analog.properties.range = 1.0f;
+        raw_value = callback.motion_status.accel.x.raw_value;
+        break;
     default:
         LOG_ERROR(Input, "Conversion from type {} to trigger not implemented", callback.type);
         break;
diff --git a/src/input_common/input_mapping.cpp b/src/input_common/input_mapping.cpp
index 9361b00c59..8c2ee4eb30 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) {
         new_input.Set("axis", data.index);
         new_input.Set("threshold", 0.5f);
         break;
+    case EngineInputType::Motion:
+        new_input.Set("motion", data.index);
+        break;
     default:
         return;
     }