Skip to content

Milestone 01 — Working Xbox Controller Detection

Choose a tag to compare

Milestone 01 — Working Xbox Controller Detection

Known-good branch:

research/controller-api-2025-06-19

Known-good commit:

d5c8a21

GitHub Actions run:

https://github.com/UnderarmCape/controllersupport-RecoilEngine-attempt-01/actions/runs/26261215514

Artifact ZIP:

recoil-controller-amd64-windows-d5c8a21e2704a4dd16c1d0e3e9abe7527dd5f5d5.zip

Confirmed working

  • BAR launches with the modified Recoil 2025.06.19-compatible engine.
  • Temporary BAR common/constants.lua version shim is still required for local testing.
  • Spring.GetAvailableControllers() exists and returns a controller.
  • Spring.GetControllerState(instanceId) exists and returns live controller state.
  • Xbox controller is detected as Controller (Xbox One For Windows).
  • Axis motion events are received in the engine.
  • Button down/up events are received in the engine.
  • Controller Diagnostics widget displays live controller state.

Evidence from infolog

[ControllerDiag], Controller state:, instanceId=0 name=Controller (Xbox One For Windows) axes=neutral buttons=none
[ControllerInput] AxisMotion: instanceId=0 axisId=0 value=...
[ControllerInput] AxisMotion: instanceId=0 axisId=1 value=...
[ControllerInput] ButtonDown: instanceId=0 buttonId=10 value=1
[ControllerInput] ButtonUp: instanceId=0 buttonId=10 value=0