FYI, just finished making the USBasp firmware WCID compliant. The hard work was done by Marius Greuel. I changed his code as to not alter V-USB at all.
In essence, you can use V-USB trunk to make a WCID compliant USB device . Just add the usbDescriptorDevice, OS_EXTENDED_COMPAT_IDa and OS_STRING_DESCRIPTOR the usbFunctionDescriptor function and in usbFunctionSetup handle the OS feature request as in the source code.
In usbconfig.h change the #define USB_CFG_DESCR_PROPS_DEVICE from 0 to USB_PROP_LENGTH(18) and #define USB_CFG_DESCR_PROPS_UNKNOWN from 0 to (USB_PROP_IS_DYNAMIC) .
The repo is https://github.com/dioannidis/us... .