8BitDo Controller Mappings

Two common 8BitDo layouts: XInput-style and Nintendo/Switch-style.

Mapping 1: 8BitDo XInput / Xbox-Style

Physical ButtonGamepad LabelCommon Index
AFace BottomButton 0
BFace RightButton 1
XFace LeftButton 2
YFace TopButton 3
LBLeft ShoulderButton 4
RBRight ShoulderButton 5
LTLeft TriggerButton 6
RTRight TriggerButton 7
Select / ViewSelectButton 8
Start / MenuStartButton 9
Left Stick PressL3Button 10
Right Stick PressR3Button 11
D-Pad UpDPad UpButton 12
D-Pad DownDPad DownButton 13
D-Pad LeftDPad LeftButton 14
D-Pad RightDPad RightButton 15

Mapping 2: 8BitDo Nintendo / Switch-Style

Physical ButtonGamepad LabelCommon Index
BFace BottomButton 0
AFace RightButton 1
YFace LeftButton 2
XFace TopButton 3
LLeft ShoulderButton 4
RRight ShoulderButton 5
ZLLeft TriggerButton 6
ZRRight TriggerButton 7
MinusSelectButton 8
PlusStartButton 9
Left Stick PressL3Button 10
Right Stick PressR3Button 11
D-Pad UpDPad UpButton 12
D-Pad DownDPad DownButton 13
D-Pad LeftDPad LeftButton 14
D-Pad RightDPad RightButton 15

Axes

StickAxisMeaning
Left Stick XAxis 0Left / Right
Left Stick YAxis 1Up / Down
Right Stick XAxis 2Left / Right
Right Stick YAxis 3Up / Down

Alternate Joystick Configs

ConfigLeft StickRight Stick
Standard X: Axis 0
Y: Axis 1
X: Axis 2
Y: Axis 3
8BitDo Alternate X: Axis 0
Y: Axis 1
X: Axis 3
Y: Axis 4
Browser / Driver Alternate X: Axis 0
Y: Axis 1
X: Axis 2
Y: Axis 5

Some 8BitDo modes expose the right stick differently depending on firmware, connection mode, browser, and driver stack. Treat the joystick config as separate from the face-button layout.