我實施具有以下接口的自定義HID設備之間的區別:USB HID「獲取輸入報告」和「輸入報告」
0x06, 0xA0, 0xFF, // Usage Page (Vendor Defined 0xFFA0)
0x09, 0x01, // Usage (0x01)
0xA1, 0x01, // Collection (Application)
0x85, 0x01, // Report ID (1)
0x15, 0x00, // Logical Minimum (0)
0x26, 0x01, 0x00, // Logical Maximum (1)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x01, // Report ID (1)
0x15, 0x00, // Logical Minimum (0)
0x26, 0x01, 0x00, // Logical Maximum (1)
0x75, 0x01, // Report Size (1)
0x95, 0x02, // Report Count (2)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x75, 0x06, // Report Size (6)
0x95, 0x01, // Report Count (1)
0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x85, 0x03, // Report ID (1)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0xFF, // Logical Maximum (65535)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
當我通過USB插頭的邏輯此設備插入計算機分析我看到它枚舉,然後東西(我不知道是什麼,什麼想法?)使用HID報告描述智能搶了一堆報道:
(control)(endpoint 0) Get Input Report[1]
(control)(endpoint 0) Get Feature Report[1]
「獲取輸入報告」條目困惑我的我認爲輸入報告是通過中斷傳送發送的。如果我使用USBHID的hid_write,我看到以下條目,所以我必須通過左右中斷傳輸發送輸入報告,至少有一半吧...:
(interrupt)(endpoint 1) Input Report[1]"
我一直無法找到一個描述之間的差異信息控制「獲得輸入報告」並中斷「輸入報告」傳輸,我希望你們中的一位知道這些傳輸。
爲什麼控件「得到輸入報告」存在?
爲什麼不只是規範要求每個「輸入報告」ID條目存在「獲取功能報告」條目?
爲什麼使用針對輸入報告的控件傳輸與中斷傳輸相比,爲每個定義的輸入/特性報告提取輸入/功能報告?