Is HID PID fully implemented on Windows / Linux (i.e. does it load a generic driver like USB ACM or USB HID mouse / keyboard). I remember that I looked into this, but couldn't find any recent devices that use this.
Yes, both windows and linux have generic driver support for USB force feedback devices. All the firmware needs to do is provide the appropriate HID descriptor. The tricky bit is that the windows driver doesn't fully comply with the protocol spec, though. So, vendors that rely on the generic driver implement their firmware to be out of spec so that their products work in windows. The linux driver is rather pedantic about the spec, and errors out during initialization if the firmware doesn't conform to it.
In order to get my wheel working on linux, I had to modify the arduino library to comply with the spec. It was clearly written to work with windows. I haven't tried it on windows yet, but I suspect that it wouldn't work. There are smaller wheel vendors with stale customer support tickets regarding linux incompatibility.
I assume this is one of the reasons that larger companies like Logitech provide their own custom drivers, despite being 90% compatible with the generic HID spec.
I'm loosely involved with the HapticsIF (https://hapticsif.org). They are working towards a new haptic usage page. If I remember the sentiment of those meetings correctly, USB PID was considered very old and not easy to work with. Besides that a more recent haptics Usage page was considered limiting (only for single effects).
sgtnoodle|4 years ago
In order to get my wheel working on linux, I had to modify the arduino library to comply with the spec. It was clearly written to work with windows. I haven't tried it on windows yet, but I suspect that it wouldn't work. There are smaller wheel vendors with stale customer support tickets regarding linux incompatibility.
I assume this is one of the reasons that larger companies like Logitech provide their own custom drivers, despite being 90% compatible with the generic HID spec.
If you're curious, I forked the arduino library with my fixes: https://github.com/sgtnoodle/ArduinoJoystickWithFFBLibrary
glassconclusion|4 years ago
I'm loosely involved with the HapticsIF (https://hapticsif.org). They are working towards a new haptic usage page. If I remember the sentiment of those meetings correctly, USB PID was considered very old and not easy to work with. Besides that a more recent haptics Usage page was considered limiting (only for single effects).