This repo contains info on various game controlles. USB dumps were made via Wireshark.
HID descriptors were decoded via RDD! HID Report Descriptor Decoder tool:
rexx rd.rex -d -b -x -f "hid_report_descriptor.bin" -o "hid_report_descriptor.txt"
This info may be userfull for writing gamepad mappings for these controllers or making your own HID game controller.
Human Interface Devices (HID) Information from usb.org:
The Device Class Definition for HID 1.11 is intended to supplement the USB Specification and provide HID manufacturers with the information necessary to build USB-compatible devices. It also specifies how the HID class driver should extract data from USB devices. The primary and underlying goals of the HID class definition are to:
- be as compact as possible to save device data space
- allow the software application to skip unknown information
- be extensible and robust
- support nesting and collections
- be self-describing to allow generic software applications
The HID Usage Tables 1.21 document defines constants that can be interpreted by an application to identify the purpose and meaning of a data field in a HID report. Usages are also used to define the meaning of groups of related data items. This is accomplished by the hierarchical assignment of usage information to collections. Usages identify the purpose of a collection and the items it contains. Each Input, Output, Feature, and/or Collection data item within a Collection item can be assigned a purpose with its own usage item. Usages assigned to a collection apply to the items within the collection.
The Device Class Definition For Pid 1.0 Provides Information For The Development Of Physical Interface Devices. These Devices Include Force Feedback Joysticks, Steering Wheels, Etc. It Allows Peripheral And Driver Developers To Use A Common Set Of Hid Report Descriptors, Device Usages And Reports To Describe The Characteristics Of A Pid Class Device.
Bluetooth Profiles Specifications from bluetooth.com:
This profile defines how devices with Bluetooth wireless communications can use the HID Specification initially to discover the feature set of a Bluetooth HID device, and then communicate with the Bluetooth HID device. This profile further defines how a device with Bluetooth wireless communications can support HID services over the Bluetooth protocol stack using the Logical Link Control and Adaptation Protocol (L2CAP) layer.
This service exposes HID reports and other HID data intended for HID Hosts and HID Devices.
This profile defines how a device with Bluetooth low energy wireless communications can support HID services over the Bluetooth low energy protocol stack using the Generic Attribute Profile.