{
  "_attribution": "Data from https://mygearcheck.com/ (CC BY 4.0). Please link back when you use it.",
  "dataset": "gamepad-mappings",
  "version": "1.0.0",
  "license": "CC BY 4.0",
  "documentation": "https://mygearcheck.com/data/gamepad-mappings",
  "source": {
    "spec": "https://w3c.github.io/gamepad/",
    "reviewed": "2026-08-05",
    "note": "The index and position fields come from the W3C specification. The xbox, dualsense and switchPro fields are a positional translation to the labels printed on those controllers."
  },
  "appliesWhen": "navigator.getGamepads() reports mapping === \"standard\"",
  "driftThreshold": {
    "value": 0.1,
    "note": "MyGearCheck's own threshold for calling a resting stick value drift. Not defined by any specification or manufacturer."
  },
  "buttons": [
    {
      "index": 0,
      "position": "Bottom button in right cluster",
      "xbox": "A",
      "dualsense": "Cross",
      "switchPro": "B"
    },
    {
      "index": 1,
      "position": "Right button in right cluster",
      "xbox": "B",
      "dualsense": "Circle",
      "switchPro": "A"
    },
    {
      "index": 2,
      "position": "Left button in right cluster",
      "xbox": "X",
      "dualsense": "Square",
      "switchPro": "Y"
    },
    {
      "index": 3,
      "position": "Top button in right cluster",
      "xbox": "Y",
      "dualsense": "Triangle",
      "switchPro": "X"
    },
    {
      "index": 4,
      "position": "Top left front button",
      "xbox": "LB",
      "dualsense": "L1",
      "switchPro": "L"
    },
    {
      "index": 5,
      "position": "Top right front button",
      "xbox": "RB",
      "dualsense": "R1",
      "switchPro": "R"
    },
    {
      "index": 6,
      "position": "Bottom left front button",
      "xbox": "LT",
      "dualsense": "L2",
      "switchPro": "ZL"
    },
    {
      "index": 7,
      "position": "Bottom right front button",
      "xbox": "RT",
      "dualsense": "R2",
      "switchPro": "ZR"
    },
    {
      "index": 8,
      "position": "Left button in center cluster",
      "xbox": "View",
      "dualsense": "Create",
      "switchPro": "Minus"
    },
    {
      "index": 9,
      "position": "Right button in center cluster",
      "xbox": "Menu",
      "dualsense": "Options",
      "switchPro": "Plus"
    },
    {
      "index": 10,
      "position": "Left stick pressed button",
      "xbox": "LS click",
      "dualsense": "L3",
      "switchPro": "Left stick click"
    },
    {
      "index": 11,
      "position": "Right stick pressed button",
      "xbox": "RS click",
      "dualsense": "R3",
      "switchPro": "Right stick click"
    },
    {
      "index": 12,
      "position": "Top button in left cluster",
      "xbox": "D-pad up",
      "dualsense": "D-pad up",
      "switchPro": "D-pad up"
    },
    {
      "index": 13,
      "position": "Bottom button in left cluster",
      "xbox": "D-pad down",
      "dualsense": "D-pad down",
      "switchPro": "D-pad down"
    },
    {
      "index": 14,
      "position": "Left button in left cluster",
      "xbox": "D-pad left",
      "dualsense": "D-pad left",
      "switchPro": "D-pad left"
    },
    {
      "index": 15,
      "position": "Right button in left cluster",
      "xbox": "D-pad right",
      "dualsense": "D-pad right",
      "switchPro": "D-pad right"
    },
    {
      "index": 16,
      "position": "Center button in center cluster",
      "xbox": "Xbox button",
      "dualsense": "PS button",
      "switchPro": "Home"
    }
  ],
  "axes": [
    {
      "index": 0,
      "description": "Horizontal axis for left stick (negative left, positive right)",
      "range": "-1 to 1"
    },
    {
      "index": 1,
      "description": "Vertical axis for left stick (negative up, positive down)",
      "range": "-1 to 1"
    },
    {
      "index": 2,
      "description": "Horizontal axis for right stick (negative left, positive right)",
      "range": "-1 to 1"
    },
    {
      "index": 3,
      "description": "Vertical axis for right stick (negative up, positive down)",
      "range": "-1 to 1"
    }
  ]
}