H. William Welliver III wrote:
On Jun 9, 2012, at 12:58 PM, Stephen R. van den Berg wrote:
I briefly checked, and as far as I can see, libusb-1.0 is the *only* usb library/interface being offered which is cross-OS. This does not mean that in the future, something else might arise which offers the same, but I'd consider it extremely unlikely. So, we could name it libUSB or similar, but for brevity, USB sounded better.
I wasn't necessarily suggesting I had a better idea, or even really disagree with using USB, and agree that libUSB is kind of an ugly name, but calling it USB suggests that it may be canonical, when there are a number of (pretty important) holes in its functionality that someone else might need to fill with an overlapping bit of code: HID devices, as an obvious example, and something I've been dabbling with in my spare time.
Forgive my ignorance here (perhaps), but as far as I can determine (without actually having written a driver that accesses a HID over USB), the libusb-1.0 interface offered is so generic that it can be used for any USB device, including HIDs.
What would be nice if there were a way to have providers that can be registered and then used (much like the Sql.Provider namespace). If the USB module consisted solely of classes and didn't have any module.pmod magic, one could use join-nodes to blend them together, but then they'd need to be in different module roots.
I'd say there is nothing stopping you from adding USB.HID() or other convenience methods/classes that help you in dealing with HIDs across USB. No need for fancy registering.