Detecting which make of gamepad is connected

Is there any way for me to detect which kind of gamepad is connected to the game and being used? I want to change the prompt buttons based on what the last-received input type was.

For instance, if a player used a keyboard, it would show:

[Enter] Go, [Backspace] Go Back

and if the player used an Xbox controller,

[A] Go, [B] Go Back

and if the player used a PS controller,

[X] Go, [O] Go Back


Is this possible?

1 Like

I would also like to know this, it would be very useful.

Hi everyone,

The button mappings for game controllers are agnostic, It should be labeled as Face Button (Up,Down,Left,Right). These will work for both PS4 and Xbox, etc.

Yes, but that’s not the point of the question at all.

The point is that those buttons have different labels on the physical controller. It’s not very neat to have “Press A” written when the “Face Button Bottom” has “X” written on it. The point of this question is to determine the make of the controller not so the controls themselves can be recalibrated, but so the visual UI can reflect what the user is holding.

1 Like

Hi everyone,

I did much more digging on this and it looks like this will have to be implemented via c++, though unfortunately I don’t have a good answer as to how to go about doing so. Once you have implemented the code to detect your controller and controller type, it shouldn’t be difficult to create a palette/texture swap to represent the various buttons that will be used per controller type.

,

Is there anymore information you can provide about this? We’re trying to detect what type of controller is being used on a desktop PC so that we can show the correct button icons, found this thread but it doesn’t really provide any information, just that its possible.

I have entered a feature request here to have the originating controller exposed to FKey.

Possible solution posted here.
link text

The issue page says “We’re unable to find any record of this issue.” Is the request still present in the tracking system?