Steam client version (build number or date): [add Steam version]
Distribution (e.g. Ubuntu): Ubuntu 24.04.3 LTS
Opted into Steam client beta?: [Yes/No]
Have you checked for system updates?: Yes
Steam Logs: [attach steam-logs.tar.gz]
GPU: [Nvidia/Intel/AMD]
Desktop/session: XFCE / X11
Controller: PDP Faceoff Deluxe+ Audio Wired Controller for Nintendo Switch
USB VID/PID: 0e6f:0184
SDL GUID: 030012626f0e00008401000011010000
Please describe your issue in as much detail as possible:
Steam detects my PDP Faceoff Deluxe+ controller, but assigns a completely incorrect button mapping.
In Steam's Settings → Controller → Test Device Inputs, for example:
A does not register
B registers as A
X registers as Y
L registers as X
R does not register
Left stick click registers as Minus
Right stick click registers as Plus
Plus and Minus do not register
Screenshot registers as left stick click
Rear buttons are also incorrectly mapped
The analog sticks themselves work correctly.
Linux appears to receive the controller inputs correctly. jstest reports four working axes, with the right stick correctly using axes 2 and 3.
SDL2 also has a correct mapping for this exact controller:
030012626f0e00008401000011010000,Faceoff Deluxe Nintendo Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,
However, when Steam starts normally, it generates this mapping in ~/.local/share/Steam/config/config.vdf:
030000006f0e00008401000011010000,PDP Faceoff Deluxe+ Audio Wired Controller for Nintendo Switch,a:b0,b:b1,x:b3,y:b4,back:b10,guide:b12,start:b11,leftstick:b13,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a2,righttrigger:a3,platform:Linux,
In particular, Steam's generated mapping contains:
lefttrigger:a2
righttrigger:a3
But a2 and a3 are actually the controller's right analog stick axes. ZL and ZR are digital buttons b6 and b7.
Manually deleting or correcting the mapping in config.vdf does not fix the problem, because Steam regenerates the incorrect mapping when it starts.
I can reliably work around the problem by completely exiting Steam and launching it with SDL's correct mapping explicitly supplied:
SDL_GAMECONTROLLERCONFIG='030012626f0e00008401000011010000,Faceoff Deluxe Nintendo Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,' steam
After launching Steam this way, Steam's own Test Device Inputs screen reports all controller inputs correctly.
Expected behavior: Steam should use the correct SDL mapping for this controller.
Actual behavior: Steam generates an incorrect mapping for 0e6f:0184. Supplying the correct mapping through SDL_GAMECONTROLLERCONFIG fixes the issue.
Steps for reproducing this issue:
Connect a PDP Faceoff Deluxe+ Audio Wired Controller for Nintendo Switch (0e6f:0184).
Start Steam normally and open Settings → Controller → Test Device Inputs.
Observe that many buttons are incorrectly mapped.
Completely exit Steam.
Start Steam with the correct mapping using SDL_GAMECONTROLLERCONFIG as shown above.
Open Test Device Inputs again and observe that all inputs are now mapped correctly.
Hello @visageeee, this reads more like an upstream SDL issue than a Steam Input issue. Can you test what happens with SDL(3)'s tools and run your findings past the SDL maintainers?
Your system information
steam-logs.tar.gz]0e6f:0184030012626f0e00008401000011010000Please describe your issue in as much detail as possible:
Steam detects my PDP Faceoff Deluxe+ controller, but assigns a completely incorrect button mapping.
In Steam's Settings → Controller → Test Device Inputs, for example:
The analog sticks themselves work correctly.
Linux appears to receive the controller inputs correctly.
jstestreports four working axes, with the right stick correctly using axes 2 and 3.SDL2 also has a correct mapping for this exact controller:
However, when Steam starts normally, it generates this mapping in
~/.local/share/Steam/config/config.vdf:In particular, Steam's generated mapping contains:
But
a2anda3are actually the controller's right analog stick axes. ZL and ZR are digital buttonsb6andb7.Manually deleting or correcting the mapping in
config.vdfdoes not fix the problem, because Steam regenerates the incorrect mapping when it starts.I can reliably work around the problem by completely exiting Steam and launching it with SDL's correct mapping explicitly supplied:
After launching Steam this way, Steam's own Test Device Inputs screen reports all controller inputs correctly.
Expected behavior: Steam should use the correct SDL mapping for this controller.
Actual behavior: Steam generates an incorrect mapping for
0e6f:0184. Supplying the correct mapping throughSDL_GAMECONTROLLERCONFIGfixes the issue.Steps for reproducing this issue:
0e6f:0184).SDL_GAMECONTROLLERCONFIGas shown above.