Windows 星形控制器範例報表描述元
本主題提供範例報表描述元,以及 Windows 星形控制器裝置的一些範例描述元摘錄。
注意
雖然廠商的特定使用方式可以在報表的任何層級使用,但必須以可在所有報告方法上平均實作的方式使用,也就是序列、平行和混合式。 不符合此指引可能不會造成 HLK 失敗,但可能會導致嚴重的相容性問題。
範例輸入報表描述元
以下是整合式 Windows 星形控制器最上層集合的範例報表描述元。
// Integrated Radial Controller TLC
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x09, 0x0e, // USAGE (System Multi-Axis Controller)
0xa1, 0x01, // COLLECTION (Application)
0x85, 0x01, // REPORT_ID (Radial Controller)
0x05, 0x0d, // USAGE_PAGE (Digitizers)
0x09, 0x21, // USAGE (Puck)
0xa1, 0x00, // COLLECTION (Physical)
0x05, 0x09, // USAGE_PAGE (Buttons)
0x09, 0x01, // USAGE (Button 1)
0x95, 0x01, // REPORT_COUNT (1)
0x75, 0x01, // REPORT_SIZE (1)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x09, 0x37, // USAGE (Dial)
0x95, 0x01, // REPORT_COUNT (1)
0x75, 0x0f, // REPORT_SIZE (15)
0x55, 0x0f, // UNIT_EXPONENT (-1)
0x65, 0x14, // UNIT (Degrees, English Rotation)
0x36, 0xf0, 0xf1, // PHYSICAL_MINIMUM (-3600)
0x46, 0x10, 0x0e, // PHYSICAL_MAXIMUM (3600)
0x16, 0xf0, 0xf1, // LOGICAL_MINIMUM (-3600)
0x26, 0x10, 0x0e, // LOGICAL_MAXIMUM (3600)
0x81, 0x06, // INPUT (Data,Var,Rel)
0x09, 0x30, // USAGE (X)
0x75, 0x10, // REPORT_SIZE (16)
0x55, 0x0d, // UNIT_EXPONENT (-3)
0x65, 0x13, // UNIT (Inch,EngLinear)
0x35, 0x00, // PHYSICAL_MINIMUM (0)
0x46, 0xc0, 0x5d, // PHYSICAL_MAXIMUM (24000)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x7f, // LOGICAL_MAXIMUM (32767)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x09, 0x31, // USAGE (Y)
0x46, 0xb0, 0x36, // PHYSICAL_MAXIMUM (14000)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x05, 0x0d, // USAGE_PAGE (Digitizers)
0x09, 0x48, // USAGE (Width)
0x36, 0xb8, 0x0b, // PHYSICAL_MINIMUM (3000)
0x46, 0xb8, 0x0b, // PHYSICAL_MAXIMUM (3000)
0x16, 0xb8, 0x0b, // LOGICAL_MINIMUM (3000)
0x26, 0xb8, 0x0b, // LOGICAL_MAXIMUM (3000)
0x81, 0x03 // INPUT (Cnst,Var,Abs)
0xc0, // END_COLLECTION
0xc0, // END_COLLECTION
範例觸覺意見反應功能報告描述元
以下是要包含在整合式 Windows 星形控制器最上層集合中的觸覺意見反應集合的報告描述元程式碼片段。
0x85, 0x02, // REPORT_ID (Haptic Feedback)
0x05, 0x0e, // USAGE_PAGE (Haptics)
0x09, 0x01, // USAGE (Simple Haptic Controller)
0xa1, 0x02, // COLLECTION (Logical)
0x09, 0x20, // USAGE (Auto Trigger)
0x16, 0x00, 0x10, // LOGICAL_MINIMUM (0x1000)
0x26, 0x04, 0x10, // LOGICAL_MAXIMUM (0x1004)
0x95, 0x01, // REPORT_COUNT (1)
0x75, 0x10, // REPORT_SIZE (16)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0x09, 0x21, // USAGE (Manual Trigger)
0x91, 0x02, // OUTPUT (Data,Var,Abs)
0x09, 0x22, // USAGE (Auto Trigger Associated Control)
0x17, 0x37, 0x00, 0x01, 0x00, // LOGICAL_MINIMUM (0x00010037)
0x27, 0x37, 0x00, 0x01, 0x00, // LOGICAL_MAXIMUM (0x00010037)
0x95, 0x01, // REPORT_COUNT (1)
0x75, 0x20, // REPORT_SIZE (32)
0xb1, 0x03, // FEATURE (Cnst,Var,Abs)
0x09, 0x23, // USAGE (Intensity)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
0x75, 0x08, // REPORT_SIZE (8)
0x91, 0x02, // OUTPUT (Data,Var,Abs)
0x09, 0x23, // USAGE (Intensity)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0x09, 0x24, // USAGE (Repeat Count)
0x91, 0x02, // OUTPUT (Data,Var,Abs)
0x09, 0x24, // USAGE (Repeat Count)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0x09, 0x25, // USAGE (Retrigger Period)
0x91, 0x02, // OUTPUT (Data,Var,Abs)
0x09, 0x25, // USAGE (Retrigger Period)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0x09, 0x28, // USAGE (Waveform Cutoff Time)
0x26, 0xff, 0x7f, // LOGICAL_MAXIMUM (32,767)
0x75, 0x10, // REPORT_SIZE (16)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0x05, 0x0e, // USAGE_PAGE (Haptics)
0x09, 0x10, // USAGE (Waveform List)
0xa1, 0x02, // COLLECTION (Logical)
0x05, 0x0A, // USAGE_PAGE (Ordinal)
0x09, 0x03, // USAGE (Ordinal 3)
0x95, 0x01, // REPORT_COUNT (1)
0x75, 0x08, // REPORT_SIZE (8)
0x15, 0x03, // LOGICAL_MINIMUM (3)
0x25, 0x03, // LOGICAL_MAXIMUM (3)
0x36, 0x03, 0x10, // PHYSICAL_MINIMUM (0x1003)
0x46, 0x03, 0x10, // PHYSICAL_MAXIMUM (0x1003)
0xb1, 0x03, // FEATURE (Cnst,Var,Abs)
0x09, 0x04, // USAGE (Ordinal 4)
0x15, 0x04, // LOGICAL_MINIMUM (4)
0x25, 0x04, // LOGICAL_MAXIMUM (4)
0x36, 0x04, 0x10, // PHYSICAL_MINIMUM (0x1004)
0x46, 0x04, 0x10, // PHYSICAL_MAXIMUM (0x1004)
0xb1, 0x03 // FEATURE (Cnst,Var,Abs)
0xc0, // END_COLLECTION
0x05, 0x0e, // USAGE_PAGE (Haptics)
0x09, 0x11, // USAGE (Duration List)
0xa1, 0x02, // COLLECTION (Logical)
0x05, 0x0a // USAGE_PAGE (Ordinal)
0x09, 0x03, // USAGE (Ordinal 3)
0x09, 0x04, // USAGE (Ordinal 4)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x0f, // LOGICAL_MAXIMUM (4095)
0x95, 0x02, // REPORT_COUNT (2)
0x75, 0x08, // REPORT_SIZE (8)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0xc0, // END_COLLECTION