Skip to content

DualShock 4 emulation in 1.5.9 not visible to raw HID/XInput apps (browsers, Epic, GTA V) #536

Description

@catan271

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

  1. Install Duo 1.5.9 on host, connect from Moonlight client with a DualShock 4 controller.
  2. Set the emulated gamepad type to DualShock 4 (the new default).
  3. Open joy.cpl on the host — the emulated DS4 is not listed.
  4. 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions