nefarius/DsHidMini

Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers

C#

1,815

1,776 commits

updated Sep 24, 2026

See the code

README

[!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.


DsHidMini logoDsHidMini

Build status GitHub All Releases GitHub issues Discord Website

Virtual HID Mini user-mode driver for Sony DualShock 3/SIXAXIS and Navigation controllers, plus the ShanWan PS1/PS2 USB adapter, on Windows 10/11.

Version 3 (Stable)

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.

Repository activity

Repository activity

Summary

DsHidMini is a self-contained user-mode driver for Windows 10/11 that presents Sony DualShock 3/SIXAXIS and Navigation controllers, and the ShanWan PS1/PS2 USB adapter, 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.

Features

  • 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

Unsupported hardware

The PlayStation Move Motion Controller is not in scope. See the issue tracker for known bugs and in-progress work.

Repository layout

PathDescription
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.

Building

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.

Licensing

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.

Documentation

Project page — user guides, HID modes, installation.

Installation

Pre-built binaries and instructions: releases. Installation steps: How to Install.

Support

Community support guidelines.

Sponsors

JetBrains

Sources & credits

Contributors

nefarius

1,592 commits

Kanuan

152 commits

dependabot[bot]

28 commits

nefarius/DsHidMini

Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers

C#

1,815

1,776 commits

updated Sep 24, 2026

See the code

README

[!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.


DsHidMini logoDsHidMini

Build status GitHub All Releases GitHub issues Discord Website

Virtual HID Mini user-mode driver for Sony DualShock 3/SIXAXIS and Navigation controllers, plus the ShanWan PS1/PS2 USB adapter, on Windows 10/11.

Version 3 (Stable)

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.

Repository activity

Repository activity

Summary

DsHidMini is a self-contained user-mode driver for Windows 10/11 that presents Sony DualShock 3/SIXAXIS and Navigation controllers, and the ShanWan PS1/PS2 USB adapter, 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.

Features

  • 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

Unsupported hardware

The PlayStation Move Motion Controller is not in scope. See the issue tracker for known bugs and in-progress work.

Repository layout

PathDescription
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.

Building

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.

Licensing

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.

Documentation

Project page — user guides, HID modes, installation.

Installation

Pre-built binaries and instructions: releases. Installation steps: How to Install.

Support

Community support guidelines.

Sponsors

JetBrains

Sources & credits

Contributors

nefarius

1,592 commits

Kanuan

152 commits

dependabot[bot]

28 commits

Languages

C#

52.4%

C

35.3%

PowerShell

7.6%

C++

3.8%