I'm trying to write a voice control addon for a gamepad to be used with DirectInput. Basically, with the current functionality our application can only read whatever input the user is physically pressing on the gamepad at that time. We're playing with advanced alternative input methods such as voice commands but the application is not open source so it can only use controllers. Basically, what we'd like to be able to do is create a new HID driver and install the device into windows, settings the application to use it. Then, I'd like to hook all input from the 'real' physical controller and replicate it and send it along as if it came from the 'virtual' controller. I'd also like to have the 'virtual' controller's driver using a named pipe in memory (or other means) to watch for additional 'events' to send. So while holding both directional axis controls and pressing both hats, all of those inputs would reach the target, but we'd also like to be able to say "2" out loud and have the virtual gamepad send the same event inbound as if 2 was actually pressed. Before I set out to create this, has it been done already? Or is my plan not really possible due to any limitations I missed?
Note - I don't want to expand the functions of the gamepad, just have an alternative way of triggering events you can already do on it physically, using voice instead.