summaryrefslogtreecommitdiff
path: root/libusb/os/windows_usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'libusb/os/windows_usb.c')
-rw-r--r--libusb/os/windows_usb.c11
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)) ) {