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