I use a third-party controller (in my example it's Saitek P990). I was fine using it for quite some time because the games I played didn't detect my joystick at all and I was able to use it with either x360ce or World of Joysticks xInput Emulator which worked fine.
A certain game (CrossCode in this example), however, detects my P990 gamepad and works like expected except for the right thumbstick, -- vertical moves horizontal axis and horizontal movement does nothing. The game has no way of remapping joystick bindings in-game.
I tried fixing this with my usual method of virtual emulation. The x360ce method does nothing and next, I try the WoJ method. This time, I find that the game takes input from all joysticks simultaneously, thus a single button press results in a double-press in-game, and right thumbstick has a weird behavior. There is no way to select which gamepad the game should use in options. The game simply detects input from both P990 and emulated gamepad simultaneously.
Using JoyID to switch the gamepad ID# reveals that the game uses all 16 ID numbers, and doesn't prioritize one over another, -- it simply uses all of them.
To disable the game taking input from the physical gamepad, I tried disabling the driver in windows device manager, but as I expected, it disables it for the emulator as well.
Using tools like JoyToKey or vJoy is again no luck because the game still takes input from the physical joystick.
Is there a way to disable a joystick for one program and enable it for another? Is there something else I could try?