I found this program/API
http://vjoystick.sourceforge.net/site/index.php/77-vjoy/84-homepage-v200
As I understand I can use this to emulate a lot of devices (like gamepads, joysticks, steering wheels). I am not sure if I am right (if not feel free to correct me) but this is how it works:
The virtual device always controls the game/program/system.
And there must be something that controls this virtual device (let's call it "external controller").
This external controller might be:
Real controller (gamepad, joystick, steering wheel). You can map real buttons and other things to virtual ones.
Keyboard, mouse. You can map the keyboard or mouse to the virtual device. For example, you can map mouse movements to steering wheel movements to control cars with a mouse. To do this you use the "feeder" application.
You can write your own feeder application using C++ or C# (there are some APIs, SDK, and documentation). So this is the same as point 2 but you can write your own feeder instead of using the ready program.
If I am wrong, correct me.
And my question is: what is vXBox?
I see this sentence: "vJoy does not emulate Xbox devices." But I found a lot of examples how to create a virtual gamepad and use it on PC.
So why using vXBox? Maybe this is the software that can emulate Xbox console, not gamepad? Am I right?
http://vjoystick.sourceforge.net/joomla256.02/index.php/vxbox