I am writing a tool to configure a MIDI controller via HID with a focus on Linux but I also want to support macOS and Windows.
While everything works well with the libusb backend on Linux and Mac OS, the HID messages the software receives from the device are incomplete on Windows. The device usually sends byte arrays beginning with 0x01 (IDs of pushed buttons if a button is pushed) and 0xaa (knob values)
While hid_read recognizes the "knob value" messages well, the "button push" messages are completely missing. Wireshark also does not recognize any data coming from the device if a button is pushed.
Does anybody know why the behavior is different if using Windows and the usbhid.sys driver and if there are any extra steps to do to make it work under Windows properly?
Hello,
I am writing a tool to configure a MIDI controller via HID with a focus on Linux but I also want to support macOS and Windows.
While everything works well with the libusb backend on Linux and Mac OS, the HID messages the software receives from the device are incomplete on Windows. The device usually sends byte arrays beginning with 0x01 (IDs of pushed buttons if a button is pushed) and 0xaa (knob values)
While hid_read recognizes the "knob value" messages well, the "button push" messages are completely missing. Wireshark also does not recognize any data coming from the device if a button is pushed.
Does anybody know why the behavior is different if using Windows and the usbhid.sys driver and if there are any extra steps to do to make it work under Windows properly?