Required descriptors
This topic describes the required descriptors that a Windows pointer device must provide.
Required operating system descriptors
If your device uses the internal USB bus, you must enable the USB selective suspend feature for your human interface device (HID) device by using the USB Microsoft OS Descriptors. With a properly formatted Microsoft OS extended property descriptor, the USB selective suspend feature can be enabled automatically whenever the HID device is connected.
For more details about how the Microsoft OS extended property descriptor can be used to automatically enable selective suspend, see Microsoft OS Descriptors.
Required USB HID descriptor
The following table shows the required USB HID descriptor. For more information, see section 6.2.1 in Device Class Definition for Human Interface Devices (HID) Version 1.11.
Member | Size in bytes | Description |
---|---|---|
bLength |
1 |
Size of the descriptor |
bDescriptorType |
1 |
Type of descriptor |
bcdHID |
2 |
HID version number |
bCountryCode |
1 |
Country code |
bNumDescriptors |
1 |
Number of descriptors |
bDescriptorType |
1 |
Descriptor type |
bDescriptorLength |
2 |
Length of the descriptor |
Required I2C HID descriptor
The following table shows the required I2C HID descriptor.
Member | Size in bytes | Description |
---|---|---|
bLength |
2 |
The length of the complete HID descriptor, in bytes |
bcdVersion |
2 |
The version number, in binary coded decimal (BCD) format |
dwReportDescLength |
2 |
The length of the Report descriptor, in bytes |
wReportDescRegister |
2 |
The register index containing the Report descriptor |
wInputRegister |
2 |
The register number to read the input report, in unsigned bytes |
wOutputRegister |
2 |
The register number to send the output, in unsigned bytes |
wVendorID |
2 |
USB-IF assigned Vendor ID |
wDeviceID |
2 |
Device ID |
wRevisionID |
2 |
Firmware version number |
Required device attributes
The following HID properties must be provided in the device attributes. The reporting of these device attributes is bus specific. Consult the HID specific guidance for your choice of bus.
Member | Description |
---|---|
bSize |
Size of the Device descriptor |
wVendorID |
Vendor Id |
wProduct |
Product Id |
Version Number |
Firmware version number |
Required HID strings
The following strings must be supported by devices that support Windows pointer functionality:
- Manufacturer Name
- Product String
For more information, see section E.11 in Device Class Definition for Human Interface Devices (HID) Version 1.11.