/FireShock

Windows USB Driver for Sony DualShock Controllers

Primary LanguageCMIT LicenseMIT

Icon

FireShock

Windows USB Driver for Sony DualShock Controllers

Summary

FireShock consists of a custom USB user-mode driver and a user-mode dispatch service handling wired communication with Sony DualShock 3 and 4 controllers. It allows 3rd party developers to handle controller inputs and outputs via a simple plug-in system.

How it works

Once installed the fireshock.dll user-mode driver will be loaded on any compatible DualShock 3 or 4 controller connected to the system via USB. It replaces the default HIDUSB.SYS driver with WinUSB.sys.

If a DualShock 3 gets connected to the USB hub, the filter will send a "magic" start packet to the control endpoint so the controller will continuously start sending HID input reports via the interrupt in endpoint on interface 0. If an interrupt in transfer arrives, the contents of the transfer buffer (the HID report) get streamed to any user-mode application calling ReadFile(...) on the device. If a packet war written to the device via WriteFile(...), the request gets converted into an output report and redirected to the control endpoint.

Supported systems

The driver is built for and tested with Windows 8.1 up to Windows 10 (x86 and amd64).

Download

Latest stable builds (signed)

Latest CI builds (unsigned)

x86

x64

Sources