Summary
In 1.5.9, DualShock 4 emulation from Moonlight is recognized by Steam (via Steam Input) and the Eden emulator, but apps that read raw HID/XInput — browsers, Epic Games Launcher, GTA V — still do not see the emulated gamepad.
The emulated DualShock 4 does not appear in the Windows gamepad enumeration either: joy.cpl shows no entry for it. Steam Input and Eden pick it up through a non-standard path, which is why everything else (browsers via the Gamepad API, Epic, GTA V) does not.
This is the same symptom reported in #514, which was closed on the basis that 1.5.9 would bring regular DualSense and DualShock 4 support via the new gamepad driver. The 1.5.9 release is a partial fix: it covers the Steam Input / per-game shim path, but the emulated device is not registered as a standard HID / XInput gamepad on the host.
Steps to reproduce
- Install Duo 1.5.9 on host, connect from Moonlight client with a DualShock 4 controller.
- Set the emulated gamepad type to DualShock 4 (the new default).
- Open
joy.cpl on the host — the emulated DS4 is not listed.
- Launch each of the following on the host:
- Steam → controller works (via Steam Input)
- Eden emulator → controller works
- A web browser (e.g. a gamepad test page using the Gamepad API) → no controller detected
- Epic Games Launcher → no controller detected
- GTA V → no controller detected
Expected
The emulated DualShock 4 is registered with the standard Windows HID / XInput gamepad stack and is visible in joy.cpl and to all apps that enumerate gamepads — not only to apps that go through Steam Input or emulator-specific shims.
Actual
The emulated DS4 is invisible to the standard Windows gamepad stack (no entry in joy.cpl). Only Steam Input and Eden see it. Raw HID / XInput consumers do not.
Environment
- Duo version: 1.5.9
- OS: Windows (10/11, please specify)
- Client: Moonlight (any recent build)
- Physical controller: DualShock 4
Related
Summary
In 1.5.9, DualShock 4 emulation from Moonlight is recognized by Steam (via Steam Input) and the Eden emulator, but apps that read raw HID/XInput — browsers, Epic Games Launcher, GTA V — still do not see the emulated gamepad.
The emulated DualShock 4 does not appear in the Windows gamepad enumeration either:
joy.cplshows no entry for it. Steam Input and Eden pick it up through a non-standard path, which is why everything else (browsers via the Gamepad API, Epic, GTA V) does not.This is the same symptom reported in #514, which was closed on the basis that 1.5.9 would bring regular DualSense and DualShock 4 support via the new gamepad driver. The 1.5.9 release is a partial fix: it covers the Steam Input / per-game shim path, but the emulated device is not registered as a standard HID / XInput gamepad on the host.
Steps to reproduce
joy.cplon the host — the emulated DS4 is not listed.Expected
The emulated DualShock 4 is registered with the standard Windows HID / XInput gamepad stack and is visible in
joy.cpland to all apps that enumerate gamepads — not only to apps that go through Steam Input or emulator-specific shims.Actual
The emulated DS4 is invisible to the standard Windows gamepad stack (no entry in
joy.cpl). Only Steam Input and Eden see it. Raw HID / XInput consumers do not.Environment
Related