Warning
No other official website exists for this project besides this GitHub repository (github.com/nefarius/DsHidMini) and sites hosted on *.nefarius.at (e.g. docs.nefarius.at, discord.nefarius.at).
Anyone claiming otherwise is a scammer and a fraud. Do not trust other websites, download links, or people claiming to represent this project. Please be wary and only use the sources listed above.
Virtual HID Mini user-mode driver for Sony DualShock 3/SIXAXIS and Navigation controllers, plus PS1/PS2 USB adapters (ShanWan and DualShock 3 identity), on Windows 10/11.
Version 3 is the current stable release. Get the latest build from releases. Highlights include a modern installer and configuration app, ARM64 and Windows 11 support, calibrated motion telemetry, LED/dead-zone/rumble customization, and Xbox One emulation. Support and updates are available on Discord or Mastodon.
DsHidMini is a self-contained user-mode driver for Windows 10/11 that presents Sony DualShock 3/SIXAXIS and Navigation controllers, and PS1/PS2 USB adapters (ShanWan and DualShock 3 identity), as configurable, standard-compliant HID devices. Games and apps can use DirectInput, Raw Input, the HID API, or XInput (via the optional XInput Bridge). The driver supports USB and Bluetooth through BthPS3; the ControlApp configures modes and device behavior. Full documentation: docs.nefarius.at/projects/DsHidMini.
- Bluetooth with BthPS3 (v2.0.144+); configurable pairing, idle disconnect, and quick-disconnect combo (defaults: 5 minutes and L1 + R1 + PS held for 1 second)
- HID modes: single Gamepad (including pressure-sensitive buttons), split/multi device, Sony sixaxis emulation, DualShock 4 (for DS4Windows), Xbox / XInput for modern games, and Common Gamepad (CGP) — a single DirectInput-friendly device without pressure-sensitive button sliders, for older games with limited axis support (see issue #68)
- Rumble exposed as Force Feedback
- LEDs — player-index and bar-graph battery modes, charging animation, custom static/flashing patterns, and application-controlled output
- Motion — calibrated accelerometer and single-axis gyroscope processing, live telemetry, and a ControlApp viewer; Bluetooth reuses calibration cached by the controller's USB instance (implementation notes)
- Device management — controller identification and capability reporting, pairing to the current host, Bluetooth disconnect, runtime rumble/LED controls, and wired USB power-off
- Compatibility: PCSX2, RPCS3, DS4Windows (v2.2.10+), RetroArch, x360ce, Dolphin, DuckStation; see issue #40 for XInput/DS4 notes
- Navigation Controller — supported (#48); one LED, no rumble; see docs/NAVIGATION_CONTROLLER.md
- ShanWan PS1/PS2 USB adapter (
VID_2563/PID_0575) — buttons, hat, sticks, pressure, and rumble; no LEDs or motion; see docs/THIRD_PARTY_HID_ADAPTER.md - DS3-identity PS1/PS2 USB adapter (
VID_054C/PID_0268,bMaxPacketSize0 8; Ejoyous and resold firmware) — DS3 protocol, rumble; no LEDs, motion, or Bluetooth; see docs/DS3_IDENTITY_ADAPTER.md
- The PlayStation Move Motion Controller is not in scope.
- Twin USB Joystick / GreenAsia-PantherLord PS1/PS2 adapter (
VID_0810/PID_0001) — left to the Windows inbox HID driver; ControlApp warns when one is present. See docs/TWIN_USB_ADAPTER.md.
See the issue tracker for known bugs and in-progress work.
| Path | Description |
|---|---|
| driver/ | UMDF driver: HID modes, USB/Bth, config, build (WDK, DMF) |
| XInputBridge/ | XInput proxy DLL (XInput1_3.dll), extended API for DS3 pressure data |
| setup/ | MSI installer (WixSharp). Release procedure: docs/RELEASE.md |
| ControlApp/ | Configuration and motion-viewer app (WPF, .NET 10) |
| SDK/Nefarius.DsHidMini.IPC/ | .NET IPC SDK for reports, motion telemetry, and runtime commands |
| DSHMC/ | Deprecated legacy control utility. Use ControlApp/ |
| docs/ | R&D notes; official docs at docs.nefarius.at |
For how the driver works (UMDF, DMF, config) and build prerequisites (Visual Studio, WDK, DMF), see driver/README.md. For the XInput Bridge build, see XInputBridge/README.md.
From the repository root, run .\build.cmd Compile. The NUKE build prepares
DMF and rebuilds the solution; pass --configuration Release for a release
build. Component-specific targets and tests are documented in
driver/README.md and
XInputBridge/README.md. Tagged production releases
(Partner Center CAB, attested drivers, MSI) are documented in
docs/RELEASE.md.
This solution contains BSD-3-Clause and other licensed components; see the individual LICENSE files. Community project, not affiliated with Sony Interactive Entertainment Inc. "PlayStation", "PSP", "PS2", "PS one", "DUALSHOCK", and "SIXAXIS" are registered trademarks of Sony Interactive Entertainment Inc.
Project page — user guides, HID modes, installation.
Pre-built binaries and instructions: releases. Installation steps: How to Install.
- Related: ScpToolkit, FireShock, AirBender, WireShock, EmuController, USB_Host_Shield_2.0 PS3 Info
- Dependencies: DMF, cJSON, HIDAPI
- References: Eleccelerator DualShock 3, HID Usage Tables, The HID Page, CircumSpector/Research Sony DS3, linux hid-sony
- DevOps: GitHub Actions, NUKE
