Some tutorials for working with event creation and delegation in C#.
See the tutorials so far on https://jeremycode.wordpress.com/
They cover the research and decision making process when trying to get events from a joystick without opening a game engine window, or resorting to investigating the USB stack. In my situation, I need to be able to use multiple types of usb controllers, and be able to route them to other functionality, besides joystick control. When I complete the process of describing the events in the class, I will have something suitable for this purpose.