Playstation and other game controllers support in XInput.dll

p_jaholkowski 41 Reputation points
2022-10-05T12:13:23.31+00:00

From years as I remember people tried to use Playstation controllers in games which reads game controller input through XInput.dll module (which does not support Playstation controllers). There is some mind-breaking operation with XInput.dll replacement which is loaded instead of original XInput.dll and has ability to read playstation controllers. As I recently found it would not be necessary if XInput was implemented correclty. At https://learn.microsoft.com/en-us/windows/win32/xinput/xinput-versions we have described XInput versions of that library which we can found of in "C:\Windows\System32" and "C:'Windows\SysWOW64". However it does not list all XInput versions. On Windows 10 there is also "XInputUap.dll" which implements reading of playstation controllers and is used by UWP apps. As I found it has disadvantage of not reading Xbox-360 controller when process which loads XInputUap.dll is not running with administrator rights.

So let's summarize:

Implementation of support for Playstation controllers is available inside Windows 10 but ordinary Windows user which does not know about that fact (because how could he) has to install third party software to make it work with XInput game controlling. Whole thing could be fixed if IAT table of loaded XInput.dll of old game builds before XInputUap.dll existence is replaced with jumps to alternative function addresses with the same name from XInputUap.dll.

Windows development | Windows API - Win32
{count} votes

1 answer

Sort by: Most helpful
  1. Xiaopo Yang - MSFT 12,731 Reputation points Microsoft External Staff
    2022-10-06T02:49:26.877+00:00

    As XInput Game Controller APIs said, XInput Game Controller API enables applications to receive input from the Xbox Controller for Windows. The document hasn't yet stated XInput Game Controller API supports Playstation formally. It's not recommended to use in product as if it supports.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.