Skip to content
This repository has been archived by the owner on Jul 27, 2023. It is now read-only.
/ FireShock Public archive

Windows USB Driver for Sony DualShock 3 Controllers

License

Notifications You must be signed in to change notification settings

nefarius/FireShock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FireShock

Windows USB Driver for Sony DualShock Controllers

Build status GitHub All Releases


⚠️ This project is no longer maintained. It has been superseded by DsHidMini. ⚠️


Summary

FireShock consists of a custom USB user-mode driver and a user-mode dispatch service handling wired communication with Sony DualShock 3 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 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.

How to use

Important: this is not an HID/XInput compatible driver, you need the Shibari companion application and follow its setup instructions to get the controller recognized by games!

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)

Sources