Required HID Descriptors (touchpad-required-hid-descriptors)
This topic presents the required HID descriptors (and device attributes) for a Windows Precision Touchpad device in Windows 10 and later operating systems.
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 I²C HID Descriptor
The following table shows the required I²C HID descriptor.
Member | Size in bytes | Description |
---|---|---|
wHIDDescLength | 2 | The length of the complete HID descriptor (in Bytes). |
bcdVersion | 2 | The version number, in binary coded decimal (BCD) format. |
wReportDescLength | 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). |
wMaxInputLength | 2 | The length of the largest input report to be read from the input register. |
wOutputRegister | 2 | The register number to send the output (in unsigned Bytes). |
wMaxOutputLength | 2 | The length of the largest output report to be sent. |
wCommandRegister | 2 | The register number to send command requests (in unsigned Bytes). |
wDataRegister | 2 | The register number to exchange data with command requests (in unsigned Bytes). |
wVendorID | 2 | USB-IF assigned Vendor ID. |
wDeviceID | 2 | Device ID. |
wVersionID | 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 | USB | I²C |
---|---|---|---|
wVendorID | Vendor ID | idVendor in USB Device Descriptor | wVendorID in I²C HID Descriptor (see the preceding table). |
wProduct | Product ID | idProduct in USB Device Descriptor | wDeviceID in I²C HID Descriptor (see the preceding table). |
wVersionID | Firmware version number | bcdDevice in USB Device Descriptor | wVersionID I²C HID Descriptor (see the preceding table). |