{
  "name": "CZMAO EC87",
  "vendorId": "0x4A17",
  "productId": "0x0004",
  "matrix": {
    "rows": 6,
    "cols": 16
  },
  "customKeycodes": [
    {
      "name": "Reset Defaults",
      "title": "Reset keyboard to default keymap"
    },
    {
      "name": "Bootloader",
      "title": "Enter bootloader mode for firmware flashing"
    },
    {
      "name": "NKRO Toggle",
      "title": "Toggle between full NKRO and 6-key rollover"
    }
  ],
  "keycodes": [
    "qmk_lighting"
  ],
  "menus": [
    {
      "label": "Lighting",
      "content": [
        {
          "label": "Backlight",
          "content": [
            {
              "label": "Brightness",
              "type": "range",
              "options": [
                0,
                255
              ],
              "content": [
                "id_qmk_rgb_matrix_brightness",
                3,
                1
              ]
            },
            {
              "label": "Effect",
              "type": "dropdown",
              "content": [
                "id_qmk_rgb_matrix_effect",
                3,
                2
              ],
              "options": [
                "All Off",
                "Solid Color",
                "Gradient Up/Down",
                "Gradient Left/Right",
                "Breathing",
                "Band Sat.",
                "Band Val.",
                "Pinwheel Sat.",
                "Pinwheel Val.",
                "Spiral Sat.",
                "Spiral Val.",
                "Cycle All",
                "Cycle Left/Right",
                "Cycle Up/Down",
                "Rainbow Moving Chevron",
                "Cycle Out/In",
                "Cycle Out/In Dual",
                "Cycle Pinwheel",
                "Cycle Spiral",
                "Dual Beacon",
                "Rainbow Beacon",
                "Rainbow Pinwheels",
                "Raindrops",
                "Jellybean Raindrops",
                "Hue Breathing",
                "Hue Pendulum",
                "Hue Wave",
                "Typing Heatmap",
                "Solid Reactive",
                "Solid Reactive Wide",
                "Solid Reactive Multi Wide",
                "Solid Reactive Cross",
                "Solid Reactive Multi Cross",
                "Solid Reactive Nexus",
                "Solid Reactive Multi Nexus",
                "Splash",
                "Multi Splash",
                "Solid Splash",
                "Solid Multi Splash"
              ]
            },
            {
              "showIf": "{id_qmk_rgb_matrix_effect} != 0",
              "label": "Speed",
              "type": "range",
              "options": [
                0,
                255
              ],
              "content": [
                "id_qmk_rgb_matrix_effect_speed",
                3,
                3
              ]
            },
            {
              "showIf": "{id_qmk_rgb_matrix_effect} != 0",
              "label": "Color",
              "type": "color",
              "content": [
                "id_qmk_rgb_matrix_color",
                3,
                4
              ]
            }
          ]
        }
      ]
    },
    {
      "label": "Keyboard",
      "content": [
        {
          "label": "Settings",
          "content": [
            {
              "label": "Reset keymap to defaults",
              "type": "button",
              "content": [
                "id_czm_reset_kb",
                0,
                1
              ]
            },
            {
              "label": "Enter bootloader (flashing mode)",
              "type": "button",
              "content": [
                "id_czm_bootloader_kb",
                0,
                2
              ]
            },
            {
              "label": "NKRO (full n-key rollover)",
              "type": "toggle",
              "content": [
                "id_czm_nkro_kb",
                0,
                3
              ]
            }
          ]
        }
      ]
    }
  ],
  "layouts": {
    "keymap": [
      {
        "label": "Esc",
        "matrix": [
          0,
          0
        ],
        "x": 0,
        "y": 0,
        "w": 1
      },
      {
        "label": "F1",
        "matrix": [
          0,
          1
        ],
        "x": 2,
        "y": 0,
        "w": 1
      },
      {
        "label": "F2",
        "matrix": [
          0,
          2
        ],
        "x": 3,
        "y": 0,
        "w": 1
      },
      {
        "label": "F3",
        "matrix": [
          0,
          3
        ],
        "x": 4,
        "y": 0,
        "w": 1
      },
      {
        "label": "F4",
        "matrix": [
          0,
          4
        ],
        "x": 5,
        "y": 0,
        "w": 1
      },
      {
        "label": "F5",
        "matrix": [
          0,
          5
        ],
        "x": 6.5,
        "y": 0,
        "w": 1
      },
      {
        "label": "F6",
        "matrix": [
          0,
          6
        ],
        "x": 7.5,
        "y": 0,
        "w": 1
      },
      {
        "label": "F7",
        "matrix": [
          0,
          7
        ],
        "x": 8.5,
        "y": 0,
        "w": 1
      },
      {
        "label": "F8",
        "matrix": [
          0,
          8
        ],
        "x": 9.5,
        "y": 0,
        "w": 1
      },
      {
        "label": "F9",
        "matrix": [
          0,
          9
        ],
        "x": 11,
        "y": 0,
        "w": 1
      },
      {
        "label": "F10",
        "matrix": [
          0,
          10
        ],
        "x": 12,
        "y": 0,
        "w": 1
      },
      {
        "label": "F11",
        "matrix": [
          0,
          11
        ],
        "x": 13,
        "y": 0,
        "w": 1
      },
      {
        "label": "F12",
        "matrix": [
          0,
          12
        ],
        "x": 14,
        "y": 0,
        "w": 1
      },
      {
        "label": "PrtSc",
        "matrix": [
          0,
          13
        ],
        "x": 15.5,
        "y": 0,
        "w": 1
      },
      {
        "label": "ScrLk",
        "matrix": [
          0,
          14
        ],
        "x": 16.5,
        "y": 0,
        "w": 1
      },
      {
        "label": "Pause",
        "matrix": [
          0,
          15
        ],
        "x": 17.5,
        "y": 0,
        "w": 1
      },
      {
        "label": "`",
        "matrix": [
          1,
          0
        ],
        "x": 0,
        "y": 1,
        "w": 1
      },
      {
        "label": "1",
        "matrix": [
          1,
          1
        ],
        "x": 1,
        "y": 1,
        "w": 1
      },
      {
        "label": "2",
        "matrix": [
          1,
          2
        ],
        "x": 2,
        "y": 1,
        "w": 1
      },
      {
        "label": "3",
        "matrix": [
          1,
          3
        ],
        "x": 3,
        "y": 1,
        "w": 1
      },
      {
        "label": "4",
        "matrix": [
          1,
          4
        ],
        "x": 4,
        "y": 1,
        "w": 1
      },
      {
        "label": "5",
        "matrix": [
          1,
          5
        ],
        "x": 5,
        "y": 1,
        "w": 1
      },
      {
        "label": "6",
        "matrix": [
          1,
          6
        ],
        "x": 6,
        "y": 1,
        "w": 1
      },
      {
        "label": "7",
        "matrix": [
          1,
          7
        ],
        "x": 7,
        "y": 1,
        "w": 1
      },
      {
        "label": "8",
        "matrix": [
          1,
          8
        ],
        "x": 8,
        "y": 1,
        "w": 1
      },
      {
        "label": "9",
        "matrix": [
          1,
          9
        ],
        "x": 9,
        "y": 1,
        "w": 1
      },
      {
        "label": "0",
        "matrix": [
          1,
          10
        ],
        "x": 10,
        "y": 1,
        "w": 1
      },
      {
        "label": "-",
        "matrix": [
          1,
          11
        ],
        "x": 11,
        "y": 1,
        "w": 1
      },
      {
        "label": "=",
        "matrix": [
          1,
          12
        ],
        "x": 12,
        "y": 1,
        "w": 1
      },
      {
        "label": "Bksp",
        "matrix": [
          1,
          13
        ],
        "x": 13,
        "y": 1,
        "w": 1
      },
      {
        "label": "Bksp",
        "matrix": [
          1,
          14
        ],
        "x": 14,
        "y": 1,
        "w": 1
      },
      {
        "label": "Home",
        "matrix": [
          1,
          15
        ],
        "x": 16.5,
        "y": 1,
        "w": 1
      },
      {
        "label": "Tab",
        "matrix": [
          2,
          0
        ],
        "x": 0,
        "y": 2,
        "w": 1.5
      },
      {
        "label": "Q",
        "matrix": [
          2,
          1
        ],
        "x": 1.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "W",
        "matrix": [
          2,
          2
        ],
        "x": 2.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "E",
        "matrix": [
          2,
          3
        ],
        "x": 3.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "R",
        "matrix": [
          2,
          4
        ],
        "x": 4.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "T",
        "matrix": [
          2,
          5
        ],
        "x": 5.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "Y",
        "matrix": [
          2,
          6
        ],
        "x": 6.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "U",
        "matrix": [
          2,
          7
        ],
        "x": 7.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "I",
        "matrix": [
          2,
          8
        ],
        "x": 8.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "O",
        "matrix": [
          2,
          9
        ],
        "x": 9.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "P",
        "matrix": [
          2,
          10
        ],
        "x": 10.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "[",
        "matrix": [
          2,
          11
        ],
        "x": 11.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "]",
        "matrix": [
          2,
          12
        ],
        "x": 12.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "\\",
        "matrix": [
          2,
          13
        ],
        "x": 13.5,
        "y": 2,
        "w": 1.5
      },
      {
        "label": "Ins",
        "matrix": [
          2,
          14
        ],
        "x": 15.5,
        "y": 1,
        "w": 1
      },
      {
        "label": "End",
        "matrix": [
          2,
          15
        ],
        "x": 16.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "Caps",
        "matrix": [
          3,
          0
        ],
        "x": 0,
        "y": 3,
        "w": 1.75
      },
      {
        "label": "A",
        "matrix": [
          3,
          1
        ],
        "x": 1.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "S",
        "matrix": [
          3,
          2
        ],
        "x": 2.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "D",
        "matrix": [
          3,
          3
        ],
        "x": 3.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "F",
        "matrix": [
          3,
          4
        ],
        "x": 4.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "G",
        "matrix": [
          3,
          5
        ],
        "x": 5.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "H",
        "matrix": [
          3,
          6
        ],
        "x": 6.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "J",
        "matrix": [
          3,
          7
        ],
        "x": 7.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "K",
        "matrix": [
          3,
          8
        ],
        "x": 8.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "L",
        "matrix": [
          3,
          9
        ],
        "x": 9.75,
        "y": 3,
        "w": 1
      },
      {
        "label": ";",
        "matrix": [
          3,
          10
        ],
        "x": 10.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "'",
        "matrix": [
          3,
          11
        ],
        "x": 11.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "NuHS",
        "matrix": [
          3,
          12
        ],
        "x": 12.75,
        "y": 3,
        "w": 1
      },
      {
        "label": "Enter",
        "matrix": [
          3,
          13
        ],
        "x": 13.5,
        "y": 2,
        "w": 1.5,
        "h": 2
      },
      {
        "label": "Del",
        "matrix": [
          3,
          14
        ],
        "x": 15.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "PgUp",
        "matrix": [
          3,
          15
        ],
        "x": 17.5,
        "y": 1,
        "w": 1
      },
      {
        "label": "LShift",
        "matrix": [
          4,
          0
        ],
        "x": 0,
        "y": 4,
        "w": 1.25
      },
      {
        "label": "NuBS",
        "matrix": [
          4,
          1
        ],
        "x": 1.25,
        "y": 4,
        "w": 1
      },
      {
        "label": "Z",
        "matrix": [
          4,
          2
        ],
        "x": 2.25,
        "y": 4,
        "w": 1
      },
      {
        "label": "X",
        "matrix": [
          4,
          3
        ],
        "x": 3.25,
        "y": 4,
        "w": 1
      },
      {
        "label": "C",
        "matrix": [
          4,
          4
        ],
        "x": 4.25,
        "y": 4,
        "w": 1
      },
      {
        "label": "V",
        "matrix": [
          4,
          5
        ],
        "x": 5.25,
        "y": 4,
        "w": 1
      },
      {
        "label": "B",
        "matrix": [
          4,
          6
        ],
        "x": 6.25,
        "y": 4,
        "w": 1
      },
      {
        "label": "N",
        "matrix": [
          4,
          7
        ],
        "x": 7.25,
        "y": 4,
        "w": 1
      },
      {
        "label": "M",
        "matrix": [
          4,
          8
        ],
        "x": 8.25,
        "y": 4,
        "w": 1
      },
      {
        "label": ",",
        "matrix": [
          4,
          9
        ],
        "x": 9.25,
        "y": 4,
        "w": 1
      },
      {
        "label": ".",
        "matrix": [
          4,
          10
        ],
        "x": 10.25,
        "y": 4,
        "w": 1
      },
      {
        "label": "/",
        "matrix": [
          4,
          11
        ],
        "x": 11.25,
        "y": 4,
        "w": 1
      },
      {
        "label": "RShift",
        "matrix": [
          4,
          12
        ],
        "x": 12.25,
        "y": 4,
        "w": 1.75
      },
      {
        "label": "FN2",
        "matrix": [
          4,
          13
        ],
        "x": 14,
        "y": 4,
        "w": 1
      },
      {
        "label": "Up",
        "matrix": [
          4,
          14
        ],
        "x": 16.5,
        "y": 4,
        "w": 1
      },
      {
        "label": "PgDn",
        "matrix": [
          4,
          15
        ],
        "x": 17.5,
        "y": 2,
        "w": 1
      },
      {
        "label": "LCtrl",
        "matrix": [
          5,
          0
        ],
        "x": 0,
        "y": 5,
        "w": 1.25
      },
      {
        "label": "LWin",
        "matrix": [
          5,
          1
        ],
        "x": 1.25,
        "y": 5,
        "w": 1.25
      },
      {
        "label": "LAlt",
        "matrix": [
          5,
          2
        ],
        "x": 2.5,
        "y": 5,
        "w": 1.25
      },
      {
        "label": "SpcL",
        "matrix": [
          5,
          4
        ],
        "x": 3.75,
        "y": 5,
        "w": 2.25
      },
      {
        "label": "Space",
        "matrix": [
          5,
          6
        ],
        "x": 6,
        "y": 5,
        "w": 1.25
      },
      {
        "label": "SpcR",
        "matrix": [
          5,
          7
        ],
        "x": 7.25,
        "y": 5,
        "w": 2.75
      },
      {
        "label": "RAlt",
        "matrix": [
          5,
          9
        ],
        "x": 10,
        "y": 5,
        "w": 1.25
      },
      {
        "label": "RWin",
        "matrix": [
          5,
          10
        ],
        "x": 11.25,
        "y": 5,
        "w": 1.25
      },
      {
        "label": "FN1",
        "matrix": [
          5,
          11
        ],
        "x": 12.5,
        "y": 5,
        "w": 1.25
      },
      {
        "label": "RCtrl",
        "matrix": [
          5,
          12
        ],
        "x": 13.75,
        "y": 5,
        "w": 1.25
      },
      {
        "label": "Left",
        "matrix": [
          5,
          13
        ],
        "x": 15.5,
        "y": 5,
        "w": 1
      },
      {
        "label": "Down",
        "matrix": [
          5,
          14
        ],
        "x": 16.5,
        "y": 5,
        "w": 1
      },
      {
        "label": "Right",
        "matrix": [
          5,
          15
        ],
        "x": 17.5,
        "y": 5,
        "w": 1
      }
    ]
  }
}