PadBench

Help
Open the tester

How it works

Recognising controllers

Every pad says who it is: a vendor id and a product id, for its maker and its product, and a name. PadBench looks them up in its list of controllers to name the pad, draw it in its layout and label its buttons as they are printed.

Ids and names

The list comes from SDL's lists of controllers, the community's SDL_GameControllerDB, the list of USB ids, and PadBench's own records of the pads it has studied. Every visitor loads the same file, whatever they connect, so loading it says nothing about your pad.

Browsers pass on what they can: Chrome and Firefox give the ids and the name, and Safari only the name. On Windows, both give an Xbox pad, or any pad in XInput mode, neither, so PadBench can say only that it is an XInput pad. The name shown is PadBench's own for the model, not the long or generic one many pads report, such as Wireless Controller.

What a pad presents as

Many pads borrow another product's ids, so that games and consoles take them: a third-party pad presents as an Xbox 360 controller, an arcade stick as a DualShock 4, and a GP2040-CE board as a different pad in each of its modes. Borrowed ids name no model by themselves. Under the pad's name, the stage then says what it presents as, such as a Razer Panthera, and the name it reports may still say which pad it is.

A pad with modes is, to every computer, the pad it presents as in each, so one board can show as an Xbox pad, and as a Switch pad after a change of mode. That is how such pads work, and seeing it is how you know the change took.

Which pad is this?

When the ids and the name fit several models, the pad's Controller tab asks Which pad is this?, offering up to five, narrowed by what you have pressed: a pad whose touchpad you clicked is one with a touchpad. Where more than five fit, or the pad reports neither ids nor a name, it asks with a search over every model instead.

Your answer names the pad from then on, its layout and labels with it, and this browser remembers it for a pad with those ids, while it reports the same name. A pad that reports neither, such as an Xbox pad in Chrome on Windows, is remembered only while it stays connected. None of these stops the asking, and Not this pad? asks again. If your pad isn't listed, tell us through Feedback.

Numbered controls

A pad PadBench has no decoder for, read through its own descriptor, reports its controls by number, and a map says which number is which control: one from the pad's record, one every pad with its ids shares, one from SDL_GameControllerDB, or one from your own guided capture. A pad none of them covers is drawn as a pad, its buttons numbered B0, B1 and on, and its axes A0, A1 and on, and a notice offers the guided capture that names them.

Some browsers give pads only numbered buttons, in an order of their own, as Firefox on the Mac has. There a pad keeps its numbers, unless its record has a map for that browser.

Read more in Recordings and captures

en