项目作者: ViGEm

项目描述 :
Windows Bluetooth Host Driver for Sony DualShock Controllers
高级语言: C
项目地址: git://github.com/ViGEm/WireShock.git
创建时间: 2020-03-21T12:29:43Z
项目社区:https://github.com/ViGEm/WireShock

开源协议:MIT License

下载


WireShock

Windows Bluetooth Host Driver for Sony DualShock Controllers


This was a research project and an attempt of porting over the Bluetooth host stack from the C#-implementation used in ScpToolkit to a native C Windows kernel-mode bus driver. It has been discontinued in favour of better solutions. The code will stay up for anyone to use as either an inspiration or a negative example 😜 Do bear in mind, that the code may contain unaddressed issues! Compile and use at your own risk! No support or binaries provided!


Summary

WireShock is a Windows kernel-mode driver implementing a custom Windows Bluetooth Stack handling wireless communication with Sony DualShock 3 and 4 controllers. It acts as a function driver for a variety of USB host radios (see WireShock.inf) and a bus driver to expose connected controllers as HID devices to the system (see WireShockHidDevice.inf).

Architecture

Since the Sony DualShock 3 utilizes a butchered non-standard Bluetooth protocol incompatible with standard HID profiles a custom Bluetooth stack is required to establish a connection on the Windows platform. WireShock implements a compatible Bluetooth stack and also acts as a bus emulator allowing for multiple devices to connect and transmit. It’s designed to work with most USB Bluetooth host devices obeying at least Core Version 2.1 + EDR standards.

The actual input and output reports are exposed by HID-compliant child PDOs using a custom report format to additionally present pressure axes to DirectInput.

Supported systems

The driver is built for Windows 7/8/8.1/10 (x86 and amd64).

Sources