0

Since I find the default gamepad handling of Windows to be lacking, I'd like to write a custom interface for that purpose. Basically, I want to add a layer between the plugged in gamepads and the Windows gamecontroller management. While I'm not sure how to tackle this problem, these are the steps I was thinking off so far:

  • Disconnect any plugged in gamepads from Windows' gamecontroller management
  • Create virtual gamecontroller (perhaps with vJoy/pyvjoy)
  • Read inputs from the plugged in gamepads and apply them to the virtual gamecontrollers

However, apart from the second bullet point I don't know whether (and how) these are doable. Are there any APIs that can interact with devices the way that I need to? Do I need to get into driver programming and rewrite gamepad drivers?

I know this is a broad question to a very narrow topic, but I'm kind of at a loss where to get started. Any help would be much appreciated.

Kefir
  • 85
  • 1
  • 1
  • 5

1 Answers1

1

HIDGuardian covers your first bullet point:

https://github.com/nefarius/ViGEm/tree/master/Sys/HidGuardian

HIDGuardian is used by InputMapper to hide the physical gamepad when a virtual gamepad has been created for the device. This prevents applications from seeing input from the same gamepad twice.

nondebug
  • 761
  • 3
  • 5