1
我試圖將一些使用HidD_GetInputReport的Windows代碼移植到使用libusb的linux中。從我可以告訴我需要打電話給usb_control_msg,但我有問題搞清楚要通過什麼參數。移植Windows的USB HID代碼libusb
我後來的報告ID是0x01。這是我到目前爲止。
#define HID_GET_REPORT 0x01
#define HID_REPORT_TYPE_INPUT 0x01
#define INTERFACE_NUMBER 0x00
int reportId = 0x01;
int bytesSent = usb_control_msg(
devHandle,
USB_ENDPOINT_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
HID_GET_REPORT,
(HID_REPORT_TYPE_INPUT << 8) | reportId,
INTERFACE_NUMBER,
buf,
sizeof(buf),
10000);
我真的不知道HID_GET_REPORT,HID_REPORT_TYPE_INPUT和INTERFACE_NUMBER。我在網上找到了一個例子。更改各種值會導致不同的返回碼,但這些碼不會在任何地方記錄。
我想知道哪個頭文件包含並導出usb_control_msg。它是libusb-win32-src-1.2.6.0 \ src \ lusb0_usb.h嗎?謝謝 – Frank