What type of HID device are you having problems with?
My understanding is that something like Windows will load drivers for one reported interface even if it doesn't know anything about the other one. It's definitely been the case with other products (like the Nucleo boards, where even without drivers you still get the mass storage interface).
But you're saying that even if you install the ST drivers that'll handle the virtual COM port, the second you enable HID as well, VCP stops working too?
It could potentially be some issue with Espruino's Device Qualifier. At the moment it seems to do the totally standard thing of saying 'each interface defines what it is', but I guess it's possible that for no-driver operation it should instead be saying 'I'm a mouse'.
It's a hard one - if you can find out what needs changing I can have a go at implementing it, but I have a lot of work on at the moment so I can't spend days implementing stuff just because it might save you a bit of time.
You can always compile your own version of the NEW_USB branch - instructions are on GitHub. Once you're doing that you can tweak the device descriptors just by changing this file - to the point where you could even pull out the USB CDC interface.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
What type of HID device are you having problems with?
My understanding is that something like Windows will load drivers for one reported interface even if it doesn't know anything about the other one. It's definitely been the case with other products (like the Nucleo boards, where even without drivers you still get the mass storage interface).
But you're saying that even if you install the ST drivers that'll handle the virtual COM port, the second you enable HID as well, VCP stops working too?
It could potentially be some issue with Espruino's Device Qualifier. At the moment it seems to do the totally standard thing of saying 'each interface defines what it is', but I guess it's possible that for no-driver operation it should instead be saying 'I'm a mouse'.
It's a hard one - if you can find out what needs changing I can have a go at implementing it, but I have a lot of work on at the moment so I can't spend days implementing stuff just because it might save you a bit of time.
You can always compile your own version of the NEW_USB branch - instructions are on GitHub. Once you're doing that you can tweak the device descriptors just by changing this file - to the point where you could even pull out the USB CDC interface.