diff options
Diffstat (limited to 'libusb/os/windows_usb.c')
-rw-r--r-- | libusb/os/windows_usb.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libusb/os/windows_usb.c b/libusb/os/windows_usb.c index 7ca245c..176c5db 100644 --- a/libusb/os/windows_usb.c +++ b/libusb/os/windows_usb.c @@ -1021,6 +1021,8 @@ enum libusb_hid_report_type { if (dev_interface_details == NULL) break; +// usbi_dbg("processing: %s", dev_interface_details->DevicePath); + // HID devices (and possibly other classes) have an extra indirection // for an USB path we can recognize if (j == HID_DEVICE_INTERFACE_GUID_INDEX) { @@ -1053,6 +1055,15 @@ enum libusb_hid_report_type { driver[0] = 0; } +// usbi_dbg("driver: %s", driver); + // Temporary fix for composite mouse and hid keyboards + // TODO: something better + if (safe_strcmp(driver, "kbdhid") == 0) { + strcpy(driver, "HidUsb"); + } else if (safe_strcmp(driver, "mouhid") == 0) { + strcpy(driver, "HidUsb"); + } + for (api=USB_API_WINUSB; api<USB_API_MAX; api++) { if ( (safe_strcmp(driver, usb_api_backend[api].driver_name) == 0) || (guid_eq(&class_guid, usb_api_backend[api].class_guid)) ) { |