XInput controller mapping for 5.3

On Alpha 4.5, we have switched to using XInput compliant means of handling controllers and gamepads.

This means that not all controllers are natively supported on StepMania 5.3 without additional configuration. However, there are several means of doing so, including one built directly into the game itself.

Controller Mapping menu

This tool is available from the input options menu on Alpha 4.5. Highlight and select buttons on the gamepad graphic with the keyboard, and then press the button on your controller that want mapped to that specific input. This display uses an Xbox controller, as XInput is largely designed around them.

Before you do anything there, be sure to go to the input test to make sure SM can see controller inputs at all - you can’t map what you can’t detect!

Once this process is completed, you will then be able to go to the Configure Key/Joy Mappings menu as usual, to configure the bindings.

This process generates a mapping string - which is stored in manualmappings.txt in the Data folder in your StepMania installation directory.

It is highly recommended that you share the content of this file, and information on the controller with us, either on the Discord or in this thread. We can add them directly to the built-in controller database on future builds, so that you (or others with the same controller) don’t have to configure it manually again.

SDL2 Gamepad Tool

A second way of generating the mappings is with SDL2 Gamepad Tool. Run through the process, and add the generated mapping string to gamecontrollerdb.txt in the Data folder, like so (for example):

03000000a30600000d5f000000000000,Saitek P2600 Rumble Force Pad,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b6,righttrigger:b7,

As before, we recommend that you share the mapping strings with us so that they can be included in the gamecontrollerdb file on future builds.

UPDATE : We opened a Google Form where you can share the mapping strings with us:

Controller Mapping Form

We encourage everybody to submit their mapping strings there, so future build can automatically include it.

~Outfox Server Moderation


Here is the mapping of “Cyber Groove” bundled dancepad (in Windows, the pad is called HAPPY BOY)

Note: button layout is based on PlayStation DualShock instead of Xbox Controller, because it uses circle/cross/triangle/square icon instead of A/B/X/Y.

03000000b40400000900000000000000,HAPPY BOY USB,y:b0,dpdown:b1,dpright:b2,back:b3,dpleft:b4,dpup:b5,b:b6,a:b7,start:b8,x:b9,platform:Windows,
1 Like

update broke cobalt flux pad
top diagonal inputs do not register in game but fine in windows
game sees it as a standard ps3 controller, nothing special
downgraded and now its working again

sdl2 info

030000004c0500006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Windows,

You may need to remap the pad, downgrading is not really a ‘fix’ here. The whole point of the Xinput menu is to identify problem pads so we can map them properly lol.

Are you in the discord server? I can help you remap it so it does work properly.


got here the mapping for L-tek 4 panel pad (polish pad)

030000006766000006c0000000000000,Mata taneczna L-TEK,dpleft:b0,dpright:b1,dpup:b2,dpdown:b3,platform:Windows,

mapped it to the d-pad so if there are problems with jumps I’ll remap it if needed

Precision Dance Pad Omega TX. I had to use the external tool because the game wasn’t recording the up and left values, even though it clearly recognized some input was pressed while mapping.

0300000053ff00000313000000000000,Precision Dance Pad OmegaTX,platform:Windows,a:b7,b:b6,x:b5,y:b4,back:b8,start:b9,dpup:b0,dpdown:b1,dpleft:b2,dpright:b3,