micropython/micropython — pull request #957 by iabdalkader (2014-11-03 19:30:25+00:00)
Title: Set Class,Subclass,Protocol in USB Device Descriptor

Composite Devices with IADs should use those values, see [USB Interface Association Descriptor](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540054(v=vs.85).aspx):

>The USB-IF core team has devised a special class and protocol code set that notifies the operating system that one or more IADs are present in device firmware. A device's device descriptor must have the values that appear in the following table or else the operating system will not detect the device's IADs or group the device's interfaces properly.

And

>These code values also alert versions of Windows that do not support IADs to install a special-purpose bus driver that correctly enumerates the device. Without these codes in the device descriptor, the system might fail to enumerate the device, or the device might not work properly