~ruther/qmk_firmware

ca2d05f5c6c2f0183149dc5f96594421b5415422 — Less/Rikki 3 years ago 0d3e07a
[Keyboard] jacky_studio/piggy60 (#18012)

A keyboards/jacky_studio/piggy60/config.h => keyboards/jacky_studio/piggy60/config.h +6 -0
@@ 0,0 1,6 @@
// Copyright 2022 The QMK Community (@qmk)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define LED_PIN_ON_STATE 0

A keyboards/jacky_studio/piggy60/hotswap/info.json => keyboards/jacky_studio/piggy60/hotswap/info.json +3 -0
@@ 0,0 1,3 @@
{
    "diode_direction": "ROW2COL"
}

A keyboards/jacky_studio/piggy60/hotswap/rules.mk => keyboards/jacky_studio/piggy60/hotswap/rules.mk +1 -0
@@ 0,0 1,1 @@
# This file intentionally left blank

A keyboards/jacky_studio/piggy60/info.json => keyboards/jacky_studio/piggy60/info.json +711 -0
@@ 0,0 1,711 @@
{
    "manufacturer": "Jacky",
    "keyboard_name": "Piggy60",
    "maintainer": "qmk",
    "bootloader": "atmel-dfu",
    "build": {
        "lto": true
    },
    "features": {
        "bootmagic": true,
        "command": false,
        "console": false,
        "caps_word": true,
        "debug": false,
        "extrakey": true,
        "mousekey": true,
        "rgblight": true,
        "nkro": true
    },
     "matrix_pins": {
        "cols": ["F0", "F1", "E6", "C7", "C6", "B6", "D4", "B1", "F7", "B5", "B4", "D7", "D6", "B3", "B2"],
        "rows": ["D0", "D1", "D2", "D3", "D5"]
    },
    "processor": "atmega32u4",
    "url": "https://www.notion.so/Piggy-60-Everything-You-Should-Know-7308d056551d4edabdbcc95748e9dabc",
    "usb": {
        "device_version": "1.0.0",
        "vid": "0xA13B",
        "pid": "0x1001"
    },
    "indicators": {
        "caps_lock": "F4"
    },
    "rgblight": {
        "led_count": 14,
        "pin": "E2",
        "animations": {
               "all": true
        },
        "sleep": true,
        "max_brightness": 255
    },
    "tapping": {
        "tap_keycode_delay": 10,
        "tap_capslock_delay": 10,
        "term": 170
    },
    "layouts": {
        "LAYOUT_all": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
                { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2 },
                { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
                { "label": "|\\", "matrix": [3, 1], "x": 1.25, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
                { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
                { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
                { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
                { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
                { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
                { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
                { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
                { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
            ]
        },
        "LAYOUT_60_ansi": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
                { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
                { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
                { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
                { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
                { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
                { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
                { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
                { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
            ]
        },
        "LAYOUT_60_ansi_split_bs_rshift": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
                { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
                { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
                { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
                { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
                { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
                { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
                { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
                { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
                { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
                { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
            ]
        },
        "LAYOUT_60_ansi_tsangan": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
                { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
                { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
                { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 },
                { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
                { "label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
                { "label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4 },
                { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
            ]
        },
        "LAYOUT_60_hhkb": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
                { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
                { "label": "Control", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
                { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
                { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
                { "label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4 },
                { "label": "GUI", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
                { "label": "GUI", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
                { "label": "Alt", "matrix": [4, 12], "x": 12.5, "y": 4 }
            ]
        },
        "LAYOUT_60_iso": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
                { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
                { "label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
                { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
                { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
                { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
                { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
                { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
                { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
                { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
            ]
        },
        "LAYOUT_60_iso_split_bs_rshift": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
                { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
                { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
                { "label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
                { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
                { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
                { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
                { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
                { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
                { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
                { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
                { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
            ]
        },
        "LAYOUT_60_iso_tsangan": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
                { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
                { "label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
                { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
                { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 },
                { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
                { "label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
                { "label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4 },
                { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
            ]
        },
        "LAYOUT_60_iso_tsangan_hhkb": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
                { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
                { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
                { "label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
                { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
                { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
                { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 },
                { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
                { "label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
                { "label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4 },
                { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
            ]
        },
        "LAYOUT_60_tsangan_hhkb": {
            "layout": [
                { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
                { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
                { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
                { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
                { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
                { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
                { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
                { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
                { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
                { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
                { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
                { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
                { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
                { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
                { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
                { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
                { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
                { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
                { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
                { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
                { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
                { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
                { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
                { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
                { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
                { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
                { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
                { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
                { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
                { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
                { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
                { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
                { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
                { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
                { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
                { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
                { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
                { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
                { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
                { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
                { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
                { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
                { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
                { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
                { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
                { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
                { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
                { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
                { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
                { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
                { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
                { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
                { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
                { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 },
                { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
                { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
                { "label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
                { "label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4 },
                { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
            ]
        }
    }
}

A keyboards/jacky_studio/piggy60/keymaps/default/keymap.c => keyboards/jacky_studio/piggy60/keymaps/default/keymap.c +40 -0
@@ 0,0 1,40 @@
// Copyright 2022 The QMK Community (@qmk)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

/*
 * Check the list of supported LAYOUTS (qmk info jacky_studio/piggy60 -m) to make keymap customization easier.
 * ISO users may wish to start customization from LAYOUT_60_iso_tsangan_hhkb, for instance.
 *
 */

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /*
     * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
     * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
     * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
     * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Del │
     * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
     * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │  Enter │
     * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
     * │ Shift  │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│LT1│
     * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
     * │Ctrl │GUI│ Alt │                           │ Alt │GUI│ Ctrl│
     * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
     */
    [0] = LAYOUT_60_tsangan_hhkb(
        KC_ESC,         KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,  KC_EQL,   KC_BSLS,  KC_GRV,
        KC_TAB,         KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_LBRC,  KC_RBRC,  KC_BSPC,  
        LT(1,KC_CAPS),  KC_A,     KC_S,     KC_D,     KC_F,     KC_G,     KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,  KC_QUOT,            KC_ENT,                   
        KC_LSFT,                  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,            KC_RSFT,  LT(1,KC_MUTE),            
        KC_LCTL,        KC_LGUI,  KC_LALT,                                          KC_SPC,                       KC_RALT,            KC_RGUI,  KC_RCTL
    ),
    [1] = LAYOUT_60_tsangan_hhkb(
        KC_GRV,   KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,     KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_INS,   KC_PSCR,
        KC_TRNS,  KC_TRNS,  KC_UP,    KC_TRNS,  KC_PGUP,  KC_HOME,  KC_TRNS,   KC_VOLU,  KC_BRIU,  KC_TRNS,  KC_WH_U,  KC_TRNS,  KC_TRNS,  KC_DEL,
        KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_PGDN,  KC_END,   KC_TRNS,   KC_VOLD,  KC_BRID,  KC_TRNS,  KC_WH_D,  KC_TRNS,            KC_TRNS,
        RGB_TOG,            RGB_MOD,  RGB_HUI,  RGB_SAI,  RGB_VAI,  RGB_SPI,   KC_TRNS,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,            KC_TRNS,  KC_TRNS,
        KC_TRNS,  KC_TRNS,  KC_TRNS,                                           KC_TRNS,                      KC_TRNS,            KC_TRNS,  KC_TRNS
    )
};

A keyboards/jacky_studio/piggy60/keymaps/via/keymap.json => keyboards/jacky_studio/piggy60/keymaps/via/keymap.json +38 -0
@@ 0,0 1,38 @@
{
    "keyboard": "jacky_studio/piggy60",
    "keymap": "via",
    "layout": "LAYOUT_all",
    "layers": [
        [
            "KC_ESC",         "KC_1",     "KC_2",     "KC_3",     "KC_4",     "KC_5",     "KC_6",     "KC_7",     "KC_8",          "KC_9",     "KC_0",     "KC_MINS",  "KC_EQL",   "KC_GRV",   "KC_BSPC",
            "KC_TAB",         "KC_Q",     "KC_W",     "KC_E",     "KC_R",     "KC_T",     "KC_Y",     "KC_U",     "KC_I",          "KC_O",     "KC_P",     "KC_LBRC",  "KC_RBRC",  "KC_BSLS",
            "LT(1,KC_CAPS)",  "KC_A",     "KC_S",     "KC_D",     "KC_F",     "KC_G",     "KC_H",     "KC_J",     "KC_K",          "KC_L",     "KC_SCLN",  "KC_QUOT",  "KC_NUHS",  "KC_ENT",
            "KC_LSFT",        "KC_NUBS",  "KC_Z",     "KC_X",     "KC_C",     "KC_V",     "KC_B",     "KC_N",     "KC_M",          "KC_COMM",  "KC_DOT",   "KC_SLSH",              "KC_RSFT",  "LT(1,KC_MUTE)",
            "KC_LCTL",        "KC_LGUI",  "KC_LALT",                                      "KC_SPC",               "LT(1,KC_APP)",  "KC_RALT",              "KC_RGUI",  "KC_RCTL"
        ]
        [
            "KC_GRV",   "KC_F1",    "KC_F2",    "KC_F3",    "KC_F4",    "KC_F5",    "KC_F6",    "KC_F7",    "KC_F8",    "KC_F9",    "KC_F10",   "KC_F11",   "KC_F12",   "KC_PSCR",  "KC_DEL",
            "KC_TRNS",  "KC_TRNS",  "KC_UP",    "KC_TRNS",  "KC_PGUP",  "KC_HOME",  "KC_TRNS",  "KC_VOLU",  "KC_BRIU",  "KC_TRNS",  "KC_WH_U",  "KC_TRNS",  "KC_TRNS",  "KC_TRNS",
            "KC_TRNS",  "KC_LEFT",  "KC_DOWN",  "KC_RGHT",  "KC_PGDN",  "KC_END",   "KC_TRNS",  "KC_VOLD",  "KC_BRID",  "KC_TRNS",  "KC_WH_D",  "KC_TRNS",  "KC_TRNS",  "KC_TRNS",
            "RGB_TOG",  "KC_TRNS",  "RGB_MOD",  "RGB_HUI",  "RGB_SAI",  "RGB_VAI",  "RGB_SPI",  "KC_TRNS",  "KC_MUTE",  "KC_TRNS",  "KC_TRNS",  "KC_TRNS",              "KC_TRNS",  "KC_TRNS",
            "KC_TRNS",  "KC_TRNS",  "KC_TRNS",                                      "KC_TRNS",              "KC_TRNS",  "KC_TRNS",              "KC_TRNS",  "KC_TRNS"
        ]
        [
            "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
            "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
            "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
            "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",            "KC_TRNS", "KC_TRNS",
            "KC_TRNS", "KC_TRNS", "KC_TRNS",                                  "KC_TRNS",            "KC_TRNS", "KC_TRNS",            "KC_TRNS", "KC_TRNS"
        ]
        [
            "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
            "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
            "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
            "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",            "KC_TRNS", "KC_TRNS",
            "KC_TRNS", "KC_TRNS", "KC_TRNS",                                  "KC_TRNS",            "KC_TRNS", "KC_TRNS",            "KC_TRNS", "KC_TRNS"
        ]
    ],
    "author": "qmk",
    "notes": "",
    "version": 1
}

A keyboards/jacky_studio/piggy60/keymaps/via/rules.mk => keyboards/jacky_studio/piggy60/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE=yes

A keyboards/jacky_studio/piggy60/readme.md => keyboards/jacky_studio/piggy60/readme.md +27 -0
@@ 0,0 1,27 @@
# Piggy60

![piggy60](https://i.imgur.com/QXuKDual.jpg)

A gasket-mounted 60% in the style of the S7 Elephant.

* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
* Hardware Supported: Piggy60
* Hardware Availability: Group Buy took place between 2021-05-22 1600 UTC and 2021-05-25 1600 UTC on [https://jackylab.com/](https://jackylab.com/).

Make example for this keyboard (after setting up your build environment):

    make jacky_studio/piggy60:default

Flashing example for this keyboard:

    make jacky_studio/piggy60:default:flash

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. This will also clear EEPROM, so it is a good first step if the keyboard is misbehaving.
* **Physical reset**: Short the set of vertical holes on the third row, to the right of Caps Lock. These can be reached with tweezers after the board has been assembled.
* **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-created keymaps, but you may assign this key in any keymaps you create.

A keyboards/jacky_studio/piggy60/rules.mk => keyboards/jacky_studio/piggy60/rules.mk +2 -0
@@ 0,0 1,2 @@
DEFAULT_FOLDER = jacky_studio/piggy60/solder
LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_ansi_tsangan 60_hhkb 60_iso 60_iso_split_bs_rshift 60_iso_tsangan 60_tsangan_hhkb

A keyboards/jacky_studio/piggy60/solder/info.json => keyboards/jacky_studio/piggy60/solder/info.json +3 -0
@@ 0,0 1,3 @@
{
    "diode_direction": "COL2ROW"
}

A keyboards/jacky_studio/piggy60/solder/rules.mk => keyboards/jacky_studio/piggy60/solder/rules.mk +1 -0
@@ 0,0 1,1 @@
# This file intentionally left blank