On the release page, there is this comment:



Quote Caveat for Windows: To use the GUI client on Windows, you must first install a generic USB driver to allow libusb to access the device. An easy tool for doing this is zadig.exe. This will however prevent Windows from using the usb interface with that driver as HID input (that is to say, either typing (Interface 0) or mouse movement (Interface 1) will be lost).

What does this mean? Does this mean I would need to uninstall the generic USB driver before I could use the ErgoDox or my trackball?



No, it would affect only the keyboard itself. Here's the issue: Windows has a limitation that you can't send USB vendor commands (what the firmware uses for configuration) to a standard HID device like a keyboard or mouse. So to use the configuration software on Windows, you have to replace the standard HID driver with a generic driver allowing vendor commands. The problem with doing this though is that suddenly you can no longer use the device that you reinstalled the driver of for its standard purpose (i.e typing or mouse movement). Fortunately, the keyboard firmware presents a composite device with two interfaces - a keyboard and a mouse (for mousekey support). Replacing the driver on the mouse interface loses mouse key support, but overall that's not a very big loss.There's a way to fix the issue: if I change the firmware to use HID feature reports for its configuration interface instead of vendor commands, it'll work without any special driver on Windows. This is definitely on my todo list, but I haven't gotten around to it yet - I use a Mac, so it doesn't personally affect me. If I get a few Windows users asking for the feature, I'll try and get around to it soon(There's a second, much hackier way to fix the issue: make the keyboard report a third completely fake interface, and just install the generic driver on that. I've pushed a completely untested branch with this to github here