Descrittori di report di esempio (pen-sample-report-descriptors)
Questo argomento presenta un descrittore di report di esempio e alcuni estratti di descrittore di esempio per un dispositivo penna di 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, ovvero seriale, parallelo e ibrido. Non rispettando questa guida potrebbe non generare un errore HLK, ma potrebbe causare gravi problemi di compatibilità.
Descrittore di report di esempio
Di seguito è riportato un descrittore di report per una raccolta integrata di Windows Pen di primo livello.
// Integrated Windows Pen TLC
0x05, 0x0d, // USAGE_PAGE (Digitizers)
0x09, 0x02, // USAGE (Pen)
0xa1, 0x01, // COLLECTION (Application)
0x85, REPORTID_PEN, // REPORT_ID (Pen)
0x09, 0x20, // USAGE (Stylus)
0xa1, 0x00, // COLLECTION (Physical)
0x09, 0x42, // USAGE (Tip Switch)
0x09, 0x44, // USAGE (Barrel Switch)
0x09, 0x3c, // USAGE (Invert)
0x09, 0x45, // USAGE (Eraser Switch)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x75, 0x01, // REPORT_SIZE (1)
0x95, 0x04, // REPORT_COUNT (4)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x95, 0x01, // REPORT_COUNT (1)
0x81, 0x03, // INPUT (Cnst,Var,Abs)
0x09, 0x32, // USAGE (In Range)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x95, 0x02, // REPORT_COUNT (2)
0x81, 0x03, // INPUT (Cnst,Var,Abs)
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x09, 0x30, // USAGE (X)
0x75, 0x10, // REPORT_SIZE (16)
0x95, 0x01, // REPORT_COUNT (1)
0xa4, // PUSH
0x55, 0x0d, // UNIT_EXPONENT (-3)
0x65, 0x13, // UNIT (Inch,EngLinear)
0x35, 0x00, // PHYSICAL_MINIMUM (0)
0x46, 0x3a, 0x20, // PHYSICAL_MAXIMUM (8250)
0x26, 0xf8, 0x52, // LOGICAL_MAXIMUM (21240)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x09, 0x31, // USAGE (Y)
0x46, 0x2c, 0x18, // PHYSICAL_MAXIMUM (6188)
0x26, 0x6c, 0x3e, // LOGICAL_MAXIMUM (15980)
0x81, 0x02, // INPUT (Data,Var,Abs)
0xb4, // POP
0x05, 0x0d, // USAGE_PAGE (Digitizers)
0x09, 0x30, // USAGE (Tip Pressure)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x75, 0x08, // REPORT_SIZE (8)
0x09, 0x3d, // USAGE (X Tilt)
0x15, 0x81, // LOGICAL_MINIMUM (-127)
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x09, 0x3e, // USAGE (Y Tilt)
0x15, 0x81, // LOGICAL_MINIMUM (-127)
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
0x81, 0x02, // INPUT (Data,Var,Abs)
0xc0, // END_COLLECTION
0xc0 // END_COLLECTION
Estratto descrittore di report di esempio - (report funzionalità modalità latenza)
Di seguito è riportato un estratto del descrittore di report dalla raccolta di primo livello integrata di Windows Pen, per il supporto facoltativo (ma altamente consigliato) del report sulle funzionalità della modalità di latenza.
0x05, 0x0d, // USAGE_PAGE (Digitizer)
0x85, REPORTID_LATENCY, // REPORT_ID (Latency)
0x09, 0x60, // USAGE(Latency Mode)
0x75, 0x01, // REPORT_SIZE (1)
0x95, 0x01, // REPORT_COUNT (1)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0x95, 0x07, // REPORT_COUNT (7)
0xb1, 0x03, // FEATURE (Cnst,Var,Abs)
Estratto descrittore di report di esempio - (Report funzionalità stato certificazione dispositivo)
Di seguito è riportato un estratto del descrittore di report dalla raccolta di primo livello integrata di Windows Pen, per il supporto facoltativo (ma altamente consigliato) del report sulle funzionalità di stato della certificazione del dispositivo.
0x06, 0x00, 0xff, // USAGE_PAGE (Vendor Defined)
0x85, REPORTID_PENHQA, // REPORT_ID (PTPHQA)
0x09, 0xC5, // USAGE (Vendor Usage 0xC5)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (0xff)
0x75, 0x08, // REPORT_SIZE (8)
0x96, 0x00, 0x01, // REPORT_COUNT (0x100 (256))
0xb1, 0x02, // FEATURE (Data,Var,Abs)