Observed
On the Steam Controller (2026, USB-C direct via PID 0x1302), three specific inputs report phantom activity at the same time, continually:
- Left joystick — analog axis jitter
- Dpad down — button-pressed events firing
- A button — button-pressed events firing
The noise is intermittent and doesn't follow a consistent pattern — it's not a steady drip, it's not synchronized to any obvious external event. But when it does fire, all three light up together.
Why this is suspicious
The fact that these three specifically cluster — instead of random noise across every input — strongly suggests a parsing / decoding issue rather than electrical noise from the controller. Real hardware noise would be more uniform (e.g. just the stick drifting, or all buttons twitching). Three unrelated inputs firing together points to either:
- A shared decode path in `packages/core/src/drivers/steam-controller-driver.js` parseReport where one byte / bit is being read into multiple slots
- Misaligned byte offsets — e.g. the bytes the driver reads for the left stick happen to overlap something that toggles when A or dpad-down is actually pressed
- An init-time race where the report buffer hasn't fully populated, so we're reading stale bytes that look like "A + dpad-down pressed"
Worth verifying that the Steam Controller's STATE report byte layout for these three slots is genuinely independent and that the driver isn't aliasing them.
To reproduce
- Plug in the 2026 Steam Controller via USB-C direct (not via Puck), confirm it enumerates as PID `0x1302`
- Open the visualizer with the steam-controller profile selected, idle (don't touch any inputs)
- Watch the HUD / 3D animation — phantom A presses, dpad-down presses, and left-stick movement fire intermittently with no input
Not reproducible on demand (no consistent trigger pattern), but happens continually during normal use.
Investigation ideas
- Raw HID dump while idle. Add a temporary `console.log(Array.from(data))` at the top of `SteamControllerDriver.parseReport` and capture ~30 seconds of idle frames. Diff the bytes between "phantom-fire" frames and "clean" frames to localize which byte(s) actually toggle.
- Cross-check the byte offsets for left-stick axes (currently bytes 9-12 IIRC), A button (`btn0` bit), and dpad-down (`btn1 & 0x04`) against the known Steam Controller STATE report layout. Look for accidental overlap.
- Test through a different USB cable / port. Rules out cable-level electrical noise as a confounder before chasing parsing bugs.
- Compare against the Puck path (`0x1300` / `0x1301`) if connectable — if the phantom inputs disappear there, it's the direct-USB parser; if they persist, it's something earlier in the chain.
Acceptance criteria
Refs
Observed
On the Steam Controller (2026, USB-C direct via PID 0x1302), three specific inputs report phantom activity at the same time, continually:
The noise is intermittent and doesn't follow a consistent pattern — it's not a steady drip, it's not synchronized to any obvious external event. But when it does fire, all three light up together.
Why this is suspicious
The fact that these three specifically cluster — instead of random noise across every input — strongly suggests a parsing / decoding issue rather than electrical noise from the controller. Real hardware noise would be more uniform (e.g. just the stick drifting, or all buttons twitching). Three unrelated inputs firing together points to either:
Worth verifying that the Steam Controller's STATE report byte layout for these three slots is genuinely independent and that the driver isn't aliasing them.
To reproduce
Not reproducible on demand (no consistent trigger pattern), but happens continually during normal use.
Investigation ideas
Acceptance criteria
Refs