{
    "name": "O2",
    "vendorId": "0x4F53",
    "productId": "0x0002",
    "firmwareVersion": 1,
    "matrix": {
      "rows": 10,
      "cols": 6
    },
    "layouts": {
      "keymap": [
            ["0,0","0,1","0,2","0,3","0,4","0,5",{"x":1},"5,0","5,1","5,2","5,3","5,4","5,5"],
            ["1,0","1,1","1,2","1,3","1,4","1,5",{"x":1},"6,0","6,1","6,2","6,3","6,4","6,5"],
            ["2,0","2,1","2,2","2,3","2,4","2,5",{"x":1},"7,0","7,1","7,2","7,3","7,4","7,5"],
            ["3,0","3,1","3,2","3,3","3,4","3,5",{"x":1},"8,0","8,1","8,2","8,3","8,4","8,5"],
     [{"y":0.25,"x":2},"4,0",                    {"x":7},                    "9,0"],
      [{"x":1},  "4,3","4,4","4,1",{"x":1},"4,5",{"x":1},"9,5",{"x":1},"9,3","9,4","9,1"],
      [{"x":2},        "4,2",                    {"x":7},                    "9,2"]
          ]
    },
    "customKeycodes": [
        {
          "name": "Switch Mode",
         "title": "Switch Mode using the configured Toggle or Hold behavior",
         "shortName": "SWM"
        },
        {
          "name": "Controller Button 0",
          "title": "Controller Button 0",
          "shortName": "JS_0"
        },
        {
          "name": "Controller Button 1",
          "title": "Controller Button 1",
          "shortName": "JS_1"
        },
        {
          "name": "Controller Button 2",
          "title": "Controller Button 2",
          "shortName": "JS_2"
        },
        {
          "name": "Controller Button 3",
          "title": "Controller Button 3",
          "shortName": "JS_3"
        },
        {
          "name": "Controller Button 4",
          "title": "Controller Button 4",
          "shortName": "JS_4"
        },
        {
          "name": "Controller Button 5",
          "title": "Controller Button 5",
          "shortName": "JS_5"
        },
        {
          "name": "Controller Button 6",
          "title": "Controller Button 6",
          "shortName": "JS_6"
        },
        {
          "name": "Controller Button 7",
          "title": "Controller Button 7",
          "shortName": "JS_7"
        },
        {
          "name": "Controller Button 8",
          "title": "Controller Button 8",
          "shortName": "JS_8"
        },
        {
          "name": "Controller Button 9",
          "title": "Controller Button 9",
          "shortName": "JS_9"
        },
        {
          "name": "Controller Button 10",
          "title": "Controller Button 10",
          "shortName": "JS_10"
        },
        {
          "name": "Controller Button 11",
          "title": "Controller Button 11",
          "shortName": "JS_11"
        },
        {
          "name": "Controller Button 12",
          "title": "Controller Button 12",
          "shortName": "JS_12"
        },
        {
          "name": "Controller Button 13",
          "title": "Controller Button 13",
          "shortName": "JS_13"
        },
        {
          "name": "Controller Button 14",
          "title": "Controller Button 14",
          "shortName": "JS_14"
        },
        {
          "name": "Controller Button 15",
          "title": "Controller Button 15",
          "shortName": "JS_15"
        },
        {
          "name": "Controller Button 16",
          "title": "Controller Button 16",
          "shortName": "JS_16"
        },
        {
          "name": "Controller Button 17",
          "title": "Controller Button 17",
          "shortName": "JS_17"
        },
        {
          "name": "Controller Button 18",
          "title": "Controller Button 18",
          "shortName": "JS_18"
        },
        {
          "name": "Controller Button 19",
          "title": "Controller Button 19",
          "shortName": "JS_19"
        },
        {
          "name": "Controller Button 20",
          "title": "Controller Button 20",
          "shortName": "JS_20"
        },
        {
          "name": "Controller Button 21",
          "title": "Controller Button 21",
          "shortName": "JS_21"
        },
        {
          "name": "Controller Button 22",
          "title": "Controller Button 22",
          "shortName": "JS_22"
        },
        {
          "name": "Controller Button 23",
          "title": "Controller Button 23",
          "shortName": "JS_23"
        },
        {
          "name": "Controller Button 24",
          "title": "Controller Button 24",
          "shortName": "JS_24"
        },
        {
          "name": "Controller Button 25",
          "title": "Controller Button 25",
          "shortName": "JS_25"
        },
        {
          "name": "Controller Button 26",
          "title": "Controller Button 26",
          "shortName": "JS_26"
        },
        {
          "name": "Controller Button 27",
          "title": "Controller Button 27",
          "shortName": "JS_27"
        },
        {
          "name": "Controller Button 28",
          "title": "Controller Button 28",
          "shortName": "JS_28"
        },
        {
          "name": "Controller Button 29",
          "title": "Controller Button 29",
          "shortName": "JS_29"
        },
        {
          "name": "Controller Button 30",
          "title": "Controller Button 30",
          "shortName": "JS_30"
        },
        {
          "name": "Controller Button 31",
          "title": "Controller Button 31",
          "shortName": "JS_31"
        }
    ],
    "menus": [
      {
        "label": "Joysticks",
        "content": [
          {
            "label": "Mode Settings",
            "content":[
              {
                "label": "Gaming Mode",
                "type": "toggle",
                "content": ["id_gaming_enabled", 0, 8]
              },
              {
                "label": "Disable Windows Key in Gaming Mode",
                "type": "toggle",
                "content": ["id_gaming_disable_win", 0, 19]
              },
              {
                "label": "Switch Mode Behavior",
                "type": "dropdown",
                "options": [
                  ["Toggle", 0],
                  ["Hold", 1]
                ],
                "content": ["id_modeswitch_behavior", 0, 26]
              },
              {
                "label": "SOCD Mode",
                "type": "dropdown",
                "options": [
                  ["OFF", 0],
                  ["WASD", 1],
                  ["ESDF", 2]
                ],
                "content": ["id_SOCD_mode", 0, 15]
              },
              {
                "label": "8-way Keys",
                "type": "dropdown",
                "options": [
                  ["WASD", 1],
                  ["ESDF", 2]
                ],
                "content": ["id_8way_mode", 0, 16]
              },
              {
                "label": "Left Mouse Sensitivity",
                "type": "range",
                "options": [67, 255],
                "content": ["id_Lmouse_sens", 0, 17]
              },
              {
                "label": "Right Mouse Sensitivity",
                "type": "range",
                "options": [67, 255],
                "content": ["id_Rmouse_sens", 0, 18]
              },
              {
                "label": "Auto Mouse Timeout (0.3-4.0 seconds)",
                "type": "range",
                "options": [3, 40],
                "content": ["id_auto_mouse_timeout", 0, 27]
              },
              {
                "label": "Activation Threshold (%)",
                "type": "range",
                "options": [15, 90],
                "content": ["id_joystick_key_threshold", 0, 21]
              },
              {
                "label": "Joystick Key Alignment",
                "type": "dropdown",
                "options": [
                  ["Edge-aligned", 0],
                  ["Center-aligned", 1]
                ],
                "content": ["id_joystick_align_center", 0, 20]
              },
              {
                "label": "Left Joystick Mode",
                "type": "dropdown",
                "options": [
                  ["Controller Mode", 0],
                  ["Keys Mode", 1],
                  ["Mouse Mode", 2],
                  ["8-way Mode", 3]
                ],
                "content": ["id_joystick_Lmode", 0, 1]
              },

              {
                "label": "Right Joystick Mode",
                "type": "dropdown",
                "options": [
                  ["Controller Mode", 0],
                  ["Keys Mode", 1],
                  ["Mouse Mode", 2]
                ],
                "content": ["id_joystick_Rmode", 0, 2]
              },
              {
                "label": "Recenter Joysticks",
                "type": "button",
                "options": [10],
                "content": ["id_joystick_recenter", 0, 13]
              }
            ]
          },
          {
              "label": "Core Joystick Settings",
              "content": [
                {
                  "label": "Legacy Mode",
                  "type": "toggle",
                  "content": ["id_is_legacy", 0, 24]
                },
                {
                "label": "Left Joystick Key Count",
                "type": "dropdown",
                "options": [
                  ["1", 1],
                  ["2", 2],
                  ["3", 3],
                  ["4", 4]
                ],
                "content": ["id_joystick_Lkeycount", 0, 3]
                },
                {
                  "label": "Right Joystick Key Count",
                  "type": "dropdown",
                  "options": [
                    ["1", 1],
                    ["2", 2],
                    ["3", 3],
                    ["4", 4]
                  ],
                  "content": ["id_joystick_Rkeycount", 0, 4]
                },
                {
                  "label": "Left Joystick: Invert X Axis",
                  "type": "toggle",
                  "content": ["id_joystick_LxFlip", 0, 9]
                },
                {
                  "label": "Left Joystick: Invert Y Axis",
                  "type": "toggle",
                  "content": ["id_joystick_LyFlip", 0, 10]
                },
                {
                  "label": "Left Joystick: Swap Axes",
                  "type": "toggle",
                  "content": ["id_joystick_Lxy_swap", 0, 22]
                },
                {
                  "label": "Right Joystick: Invert X Axis",
                  "type": "toggle",
                  "content": ["id_joystick_RxFlip", 0, 11]
                },
                {
                  "label": "Right Joystick: Invert Y Axis",
                  "type": "toggle",
                  "content": ["id_joystick_RyFlip", 0, 12]
                },
                {
                  "label": "Right Joystick: Swap Axes",
                  "type": "toggle",
                  "content": ["id_joystick_Rxy_swap", 0, 23]
                },
                {
                  "label": "Restore Defaults",
                  "type": "button",
                  "options": [10],
                  "content": ["id_eeprom_default", 0, 25]
                }
            ]
          }
        ]
      },
      "qmk_rgblight"

    ]
}
