Hi, I am involved with the vJoy project and we have been looking for a technique which would allow us to hide physical controllers from games, so that they only see the remapped vJoy version instead.
I am not a user of IM, don't have a PS4 pad, but from looking at your site, it seems that you have a solution, called "exclusive mode"?
I don't suppose anyone could point us in the right direction as to how it is done could you?
Oh and by the way, are you guys aware that vJoy is now able to create virtual XInput devices?
If you are putting dev effort into developing virtual device systems, it may be better to pool resources with Shaul @ vJoy, or even just make IM a vJoy feeder?
We connect to input devices using the HID input libraries. These libraries allow a parameter that define whether the device should be locked and exclusive meaning only the calling application can access it (thus hiding from all other "properly" coded applications), or if the device is shared.
I make the comment about "properly" coded applications, because some applications ignore the fact that a device has an exclusive flag set and hang in a loop where they try to access an inaccessible device. Teamspeak 3 has this issue.
We currently use the Scarlet Crush library for 360 output emulation which is pretty complete, there is no real reason for us to switch as the xinput standard is pretty fixed in stone and non changing. We do however welcome all 3rd party development for plugins for the IM 2 initiative which we hope will be an any-to-any device type of framework.