I've had reWASD for a while before keyboard and mouse device mapping was added as a feature.
I've only begun to truly appreciate this feature recently as a way of configuring my mouse in much better ways than its vendor software can (SteelSeries Rival 500 btw).
I made an always-on config for mapping my mouse for everyday shortcuts making use of the Shift Layer feature which nothing similar was natively available in the mouse software.
My issue is that even though I am not mapping any controller buttons to my mouse, it still seems to create a virtual controller.
This causes issues when playing some games where they would only search and capture the first indexed controller, which in many cases would be my mouse since it would be auto-mapped at startup and my controller is disconnected to save battery. Some games would just ignore later indexed controllers requiring me to unmap my mouse config before reconnecting my controller.
Is there any way to prevent virtual controller creation?
My workarounds currently are:
I've only begun to truly appreciate this feature recently as a way of configuring my mouse in much better ways than its vendor software can (SteelSeries Rival 500 btw).
I made an always-on config for mapping my mouse for everyday shortcuts making use of the Shift Layer feature which nothing similar was natively available in the mouse software.
My issue is that even though I am not mapping any controller buttons to my mouse, it still seems to create a virtual controller.
This causes issues when playing some games where they would only search and capture the first indexed controller, which in many cases would be my mouse since it would be auto-mapped at startup and my controller is disconnected to save battery. Some games would just ignore later indexed controllers requiring me to unmap my mouse config before reconnecting my controller.
Is there any way to prevent virtual controller creation?
My workarounds currently are:
- Unmap mouse > connect my controller > remap my mouse. The mouse's virtual controller will be XInput controller index 1 (where 0 is the first) and reconnecting my controller will (usually) be the true first controller
- This does not seem to always work after a while. It seems that higher indexed controllers may shift down over time. Also, games that do not rely on this index to find controller order may choose the wrong one as player 1.
- Use HidGuardian to hide (virtual?) "Controller (XBOX 360 For Windows)" devices indexed 1 or higher. Not sure if these share the same HID as real X360 controllers.
- I noticed that multiple virtual X360 controllers get an increased index value at the end of the HID when multiple are connected, making this possible
- This one is iffy: increasing indexes don't always behave properly and situations where I do local multiplayer on my machine require extra work
- An example of how indexing is weird is that it seems to index based on the number of active XInput devices rather than devices with the same HID
- So 1st controller = "X360HID-0", plugged in HORI Battle Pad (XInput controller) = "BattlePadHID", mouse remap = "X360HID-2" -- for some reason
- An example of how indexing is weird is that it seems to index based on the number of active XInput devices rather than devices with the same HID
Comment