Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo argomento presenta un descrittore di report di esempio e alcuni estratti di descrittore di esempio per un dispositivo controller radiale Windows.
Nota
Anche se gli utilizzi specifici del fornitore possono essere usati a qualsiasi livello del report, devono essere usati in modo che possano essere implementati equamente in tutti i metodi di report, vale a dire seriali, paralleli e ibridi. Non rispettando questa guida potrebbe non generare un errore HLK, ma potrebbe causare gravi problemi di compatibilità.
Descrittore di report di input di esempio
Di seguito è riportato un descrittore di report di esempio per una raccolta di livello superiore del controller radiale Windows integrata.
// 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
Descrittore di report delle funzionalità di feedback aptico di esempio
Di seguito è riportato un frammento di descrittore di report per una raccolta di feedback aptico da includere in una raccolta radiale integrata del controller radiale windows di primo livello.
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