Skip to content

Latest commit

 

History

1,853 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 PS1/PS2 USB adapters (ShanWan and DualShock 3 identity), 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 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.

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
  • 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

Unsupported hardware

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

Repository layout

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.

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

About

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

Resources

Stars

1.8k stars

Watchers

30 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages