I'll get right into it
I am planning on starting a project. I want to create a driver/software that allows the user to map the buttons on any usb game controller to a virtual controller. That virtual controller will act as a real controller for programs such as emulators and other games. I also want the software to detect when controllers are plugged in and setup a virtual controller from a user set profile.
This will hopefully allow me to build an flawless experience where the user can plug in a controller and that controller will automatically be setup with the user not having to rebind all the different keys in games/emulator settings.
Now in this thread I only want to discuss where to look to find the right documentation to do this. I'm not concerned with the actual implmentation, just the right APIs, I know it involves windows driver programming and xinput and direct input. Other than the msdn website documentation (I always find navigating that website to be difficult), where should I look?
I know I will need to do the following.
mount a virtual usb hid device (to act as a virtual controller)
detect both xinput and directinput (so all controllers can be reconsidered and moved)
I want to reduce lag as much as possible, so I was think of programming a driver (which I've never done before)
Any advice would be great
And if this is the wrong topic to for the forum please let me know