Skip to main content

GP2040-CE Usage

Select the button labels to be displayed in the usage guide:

GP2040

caution

The v0.5+ release has some breaking changes to boards other than the Raspberry Pi Pico. If you are using such a board, do not update from an older version unless you have a backup .uf2 from a known good version, or you know what you're doing.

Buttons

GP2040-CE uses generic button labeling for gamepad state, which is then converted to the appropriate input type before sending. This table provides a map of GP2040-CE buttons to the supported input types and layouts:

GP2040-CEXInputSwitchPS4PS3DirectInputArcade
B1ABCrossCross2K1
B2BACircleCircle3K2
B3XYSquareSquare1P1
B4YXTriangleTriangle4P2
L1LBLL1L15P4
R1RBRR1R16P3
L2LTZLL2L27K4
R2RTZRR2R28K3
S1BackMinusShareSelect9Coin
S2StartPlusOptionsStart10Start
L3LSLSL3L311LS
R3RSRSR3R312RS
A1GuideHomePSPS13Home
A2-CaptureTouchpad-14-

If your controller is missing dedicated buttons for any specific inputs, check the Hotkeys page on how to map a button combination that will emulate those missing inputs.

note

Unlike other controllers, Keyboard gets different keys for directional buttons. You can change the key mappings for Keyboard mode in Webconfig mode > Configuration > Keyboard Mapping

DirectionKeyboard
UpUp Arrow
DownDown Arrow
LeftLeft Arrow
RightRight Arrow

Bootsel Mode

Bootsel Mode is the state of the board where firmware can be flashed onto the board. You will need to use this whenever there is an update or as part of the troubleshooting process.

You can boot into Bootsel Mode by either holding S1 + S2 + Up buttons while plugging in the controller or by booting into the Web Configurator and then restarting in Bootsel Mode.

WebConfig Mode

WebConfig Mode is the state of the board where built-in web browser-based configuration application is launched. From here, you can customize and configure your controller as needed. For more information, click here for more information.

You can boot into WebConfig Mode by holding the S2 button while plugging in the controller.

Input Modes

GP2040-CE is compatible with a number of systems and input modes. To change the input mode, hold one of the following buttons as the controller is plugged in:

Input ModeButton Held
Nintendo SwitchB1
XInputB2
DirectInput/PS3B3
PS4B4
KeyboardR2
note

Input mode is saved across power cycles.

Hotkeys

A number of useful hotkeys exist that change the functionality of GP2040 without needing to access the Web Configurator. Commonly used hotkeys include changing the directions to emulate a digital DPad, Left analog joystick, Right analog joystick or to change Simultaneous Opposite Cardinal Direction (SOCD) cleaning modes. Different SOCD cleaning modes will ensure the controller obeys certain directional input rules when sending inputs to the computer or game console.

A number of hotkeys are enabled by default and if you are encountering issues with unexpected behavior on your controller, verify that you did not accidentally trigger a hotkey.

Hotkeys Enabled By DefaultInputs
Home ButtonS1 + S2 + Up
Dpad DigitalS1 + S2 + Down
Dpad Left AnalogS1 + S2 + Left
Dpad Right AnalogS2 + A1 + Right
SOCD Up PriorityS2 + A1 + Up
SOCD NeutralS2 + A1 + Down
SOCD Last WinsS2 + A1 + Left
SOCD Invert Y AxisS2 + A1 + Right
note

Selected D-Pad mode and SOCD cleaning mode are saved across power cycles.

Add-Ons and Additional Features

There are a number of add-ons that expand the functionality of GP2040-CE, such as analog joystick emulation and turbo functions. Due to the large number of add-ons created by the community, they are located in a separate documentation page. Navigate to Add-Ons page for more information on the individual add-ons.