For those wanting to develop with USB, a brilliant resource is USB in a NutShell,
My ventures showed while USB is very easy at the user level, it’s far from it at the developer level. Its really a specialty in it’s own right. My first venture into this area was developing a set of rudder pedals. It took a long time to work out how, but now this web site has great information on how. It’s a hard slog. Just stick to it. Get a USB sniffer and give it a go.