qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

keyboard.json (33965B)


      1 {
      2     "keyboard_name": "dc60",
      3     "manufacturer": "Alf",
      4     "maintainer": "qmk",
      5     "usb": {
      6         "vid": "0xFEED",
      7         "pid": "0x0000",
      8         "device_version": "0.0.1"
      9     },
     10     "features": {
     11         "backlight": true,
     12         "bootmagic": false,
     13         "command": true,
     14         "console": true,
     15         "extrakey": true,
     16         "mousekey": false,
     17         "nkro": false,
     18         "rgblight": true
     19     },
     20     "qmk": {
     21         "locking": {
     22             "enabled": true,
     23             "resync": true
     24         }
     25     },
     26     "matrix_pins": {
     27         "cols": ["B5", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "C6", "C7", "F4", "F5", "F6", "F7"],
     28         "rows": ["B0", "B1", "B2", "B3", "B4"]
     29     },
     30     "diode_direction": "COL2ROW",
     31     "backlight": {
     32         "pin": "B6",
     33         "levels": 5,
     34         "breathing": true
     35     },
     36     "rgblight": {
     37         "saturation_steps": 8,
     38         "brightness_steps": 8,
     39         "led_count": 20,
     40         "animations": {
     41             "breathing": true,
     42             "rainbow_mood": true,
     43             "rainbow_swirl": true,
     44             "snake": true,
     45             "knight": true,
     46             "christmas": true,
     47             "static_gradient": true,
     48             "rgb_test": true,
     49             "alternating": true,
     50             "twinkle": true
     51         }
     52     },
     53     "ws2812": {
     54         "pin": "E6"
     55     },
     56     "indicators": {
     57         "caps_lock": "B7",
     58         "on_state": 0
     59     },
     60     "processor": "atmega32u4",
     61     "bootloader": "atmel-dfu",
     62     "community_layouts": [
     63         "60_ansi",
     64         "60_ansi_arrow",
     65         "64_ansi",
     66         "60_iso",
     67         "64_iso"
     68     ],
     69     "layouts": {
     70         "LAYOUT_all": {
     71             "layout": [
     72                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
     73                 {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
     74                 {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
     75                 {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
     76                 {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
     77                 {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
     78                 {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
     79                 {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
     80                 {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
     81                 {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
     82                 {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
     83                 {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
     84                 {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
     85                 {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0},
     86                 {"label": "Backspace", "matrix": [0, 14], "x": 14, "y": 0},
     87 
     88                 {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
     89                 {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
     90                 {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
     91                 {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
     92                 {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
     93                 {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
     94                 {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
     95                 {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
     96                 {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
     97                 {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
     98                 {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
     99                 {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
    100                 {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
    101                 {"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
    102 
    103                 {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
    104                 {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
    105                 {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
    106                 {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
    107                 {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
    108                 {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
    109                 {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
    110                 {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
    111                 {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
    112                 {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
    113                 {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
    114                 {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
    115                 {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
    116 
    117                 {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3},
    118                 {"label": "\\", "matrix": [3, 1], "x": 1, "y": 3},
    119                 {"label": "Z", "matrix": [3, 2], "x": 2, "y": 3},
    120                 {"label": "X", "matrix": [3, 3], "x": 3, "y": 3},
    121                 {"label": "C", "matrix": [3, 4], "x": 4, "y": 3},
    122                 {"label": "V", "matrix": [3, 5], "x": 5, "y": 3},
    123                 {"label": "B", "matrix": [3, 6], "x": 6, "y": 3},
    124                 {"label": "N", "matrix": [3, 7], "x": 7, "y": 3},
    125                 {"label": "M", "matrix": [3, 8], "x": 8, "y": 3},
    126                 {"label": ",", "matrix": [3, 9], "x": 9, "y": 3},
    127                 {"label": ".", "matrix": [3, 10], "x": 10, "y": 3},
    128                 {"label": "/", "matrix": [3, 11], "x": 11, "y": 3},
    129                 {"label": "Shift", "matrix": [3, 12], "x": 12, "y": 3},
    130                 {"label": "\u2191", "matrix": [3, 13], "x": 13, "y": 3},
    131                 {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
    132 
    133                 {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
    134                 {"label": "GUI", "matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
    135                 {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
    136                 {"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 2.75},
    137                 {"label": "Space", "matrix": [4, 7], "x": 6.5, "y": 4, "w": 1.25},
    138                 {"label": "Space", "matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.25},
    139                 {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4},
    140                 {"label": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4},
    141                 {"label": "\u2190", "matrix": [4, 12], "x": 12, "y": 4},
    142                 {"label": "\u2193", "matrix": [4, 13], "x": 13, "y": 4},
    143                 {"label": "\u2192", "matrix": [4, 14], "x": 14, "y": 4}
    144             ]
    145         },
    146         "LAYOUT_60_ansi": {
    147             "layout": [
    148                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    149                 {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
    150                 {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
    151                 {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
    152                 {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
    153                 {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
    154                 {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
    155                 {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
    156                 {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
    157                 {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
    158                 {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
    159                 {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
    160                 {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
    161                 {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
    162 
    163                 {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
    164                 {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
    165                 {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
    166                 {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
    167                 {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
    168                 {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
    169                 {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
    170                 {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
    171                 {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
    172                 {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
    173                 {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
    174                 {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
    175                 {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
    176                 {"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
    177 
    178                 {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
    179                 {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
    180                 {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
    181                 {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
    182                 {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
    183                 {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
    184                 {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
    185                 {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
    186                 {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
    187                 {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
    188                 {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
    189                 {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
    190                 {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
    191 
    192                 {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
    193                 {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
    194                 {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
    195                 {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
    196                 {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
    197                 {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
    198                 {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
    199                 {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
    200                 {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
    201                 {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
    202                 {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3},
    203                 {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
    204 
    205                 {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
    206                 {"label": "GUI", "matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
    207                 {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
    208                 {"label": "Space", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
    209                 {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
    210                 {"label": "GUI", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
    211                 {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25},
    212                 {"label": "Ctrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
    213             ]
    214         },
    215         "LAYOUT_60_ansi_arrow": {
    216             "layout": [
    217                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    218                 {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
    219                 {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
    220                 {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
    221                 {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
    222                 {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
    223                 {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
    224                 {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
    225                 {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
    226                 {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
    227                 {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
    228                 {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
    229                 {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
    230                 {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
    231 
    232                 {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
    233                 {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
    234                 {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
    235                 {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
    236                 {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
    237                 {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
    238                 {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
    239                 {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
    240                 {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
    241                 {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
    242                 {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
    243                 {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
    244                 {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
    245                 {"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
    246 
    247                 {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
    248                 {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
    249                 {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
    250                 {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
    251                 {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
    252                 {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
    253                 {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
    254                 {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
    255                 {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
    256                 {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
    257                 {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
    258                 {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
    259                 {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
    260 
    261                 {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
    262                 {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
    263                 {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
    264                 {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
    265                 {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
    266                 {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
    267                 {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
    268                 {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
    269                 {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
    270                 {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
    271                 {"label": "Shift", "matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75},
    272                 {"label": "\u2191", "matrix": [3, 13], "x": 13, "y": 3},
    273                 {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
    274 
    275                 {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
    276                 {"label": "GUI", "matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
    277                 {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
    278                 {"label": "Space", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
    279                 {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4},
    280                 {"label": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4},
    281                 {"label": "\u2190", "matrix": [4, 12], "x": 12, "y": 4},
    282                 {"label": "\u2193", "matrix": [4, 13], "x": 13, "y": 4},
    283                 {"label": "\u2192", "matrix": [4, 14], "x": 14, "y": 4}
    284             ]
    285         },
    286         "LAYOUT_64_ansi": {
    287             "layout": [
    288                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    289                 {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
    290                 {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
    291                 {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
    292                 {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
    293                 {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
    294                 {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
    295                 {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
    296                 {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
    297                 {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
    298                 {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
    299                 {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
    300                 {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
    301                 {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
    302 
    303                 {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
    304                 {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
    305                 {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
    306                 {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
    307                 {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
    308                 {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
    309                 {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
    310                 {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
    311                 {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
    312                 {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
    313                 {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
    314                 {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
    315                 {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
    316                 {"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
    317 
    318                 {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
    319                 {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
    320                 {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
    321                 {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
    322                 {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
    323                 {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
    324                 {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
    325                 {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
    326                 {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
    327                 {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
    328                 {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
    329                 {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
    330                 {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
    331 
    332                 {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2},
    333                 {"label": "Z", "matrix": [3, 2], "x": 2, "y": 3},
    334                 {"label": "X", "matrix": [3, 3], "x": 3, "y": 3},
    335                 {"label": "C", "matrix": [3, 4], "x": 4, "y": 3},
    336                 {"label": "V", "matrix": [3, 5], "x": 5, "y": 3},
    337                 {"label": "B", "matrix": [3, 6], "x": 6, "y": 3},
    338                 {"label": "N", "matrix": [3, 7], "x": 7, "y": 3},
    339                 {"label": "M", "matrix": [3, 8], "x": 8, "y": 3},
    340                 {"label": ",", "matrix": [3, 9], "x": 9, "y": 3},
    341                 {"label": ".", "matrix": [3, 10], "x": 10, "y": 3},
    342                 {"label": "/", "matrix": [3, 11], "x": 11, "y": 3},
    343                 {"label": "Shift", "matrix": [3, 12], "x": 12, "y": 3},
    344                 {"label": "\u2191", "matrix": [3, 13], "x": 13, "y": 3},
    345                 {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
    346 
    347                 {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
    348                 {"label": "GUI", "matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
    349                 {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
    350                 {"label": "Space", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
    351                 {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4},
    352                 {"label": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4},
    353                 {"label": "\u2190", "matrix": [4, 12], "x": 12, "y": 4},
    354                 {"label": "\u2193", "matrix": [4, 13], "x": 13, "y": 4},
    355                 {"label": "\u2192", "matrix": [4, 14], "x": 14, "y": 4}
    356             ]
    357         },
    358         "LAYOUT_60_iso": {
    359             "layout": [
    360                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    361                 {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
    362                 {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
    363                 {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
    364                 {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
    365                 {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
    366                 {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
    367                 {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
    368                 {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
    369                 {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
    370                 {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
    371                 {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
    372                 {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
    373                 {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
    374 
    375                 {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
    376                 {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
    377                 {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
    378                 {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
    379                 {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
    380                 {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
    381                 {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
    382                 {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
    383                 {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
    384                 {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
    385                 {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
    386                 {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
    387                 {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
    388 
    389                 {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
    390                 {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
    391                 {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
    392                 {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
    393                 {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
    394                 {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
    395                 {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
    396                 {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
    397                 {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
    398                 {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
    399                 {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
    400                 {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
    401                 {"label": "#", "matrix": [1, 14], "x": 12.75, "y": 2},
    402                 {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
    403 
    404                 {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
    405                 {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
    406                 {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
    407                 {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
    408                 {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
    409                 {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
    410                 {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
    411                 {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
    412                 {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
    413                 {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
    414                 {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
    415                 {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3},
    416                 {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
    417 
    418                 {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
    419                 {"label": "GUI", "matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
    420                 {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
    421                 {"label": "Space", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
    422                 {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
    423                 {"label": "GUI", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
    424                 {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25},
    425                 {"label": "Ctrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
    426             ]
    427         },
    428         "LAYOUT_60_iso_arrow": {
    429             "layout": [
    430                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    431                 {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
    432                 {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
    433                 {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
    434                 {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
    435                 {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
    436                 {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
    437                 {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
    438                 {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
    439                 {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
    440                 {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
    441                 {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
    442                 {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
    443                 {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
    444 
    445                 {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
    446                 {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
    447                 {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
    448                 {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
    449                 {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
    450                 {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
    451                 {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
    452                 {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
    453                 {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
    454                 {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
    455                 {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
    456                 {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
    457                 {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
    458 
    459                 {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
    460                 {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
    461                 {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
    462                 {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
    463                 {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
    464                 {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
    465                 {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
    466                 {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
    467                 {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
    468                 {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
    469                 {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
    470                 {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
    471                 {"label": "#", "matrix": [1, 14], "x": 12.75, "y": 2},
    472                 {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
    473 
    474                 {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
    475                 {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
    476                 {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
    477                 {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
    478                 {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
    479                 {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
    480                 {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
    481                 {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
    482                 {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
    483                 {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
    484                 {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
    485                 {"label": "Shift", "matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75},
    486                 {"label": "\u2191", "matrix": [3, 13], "x": 13, "y": 3},
    487                 {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
    488 
    489                 {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
    490                 {"label": "GUI", "matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
    491                 {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
    492                 {"label": "Space", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
    493                 {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4},
    494                 {"label": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4},
    495                 {"label": "\u2190", "matrix": [4, 12], "x": 12, "y": 4},
    496                 {"label": "\u2193", "matrix": [4, 13], "x": 13, "y": 4},
    497                 {"label": "\u2192", "matrix": [4, 14], "x": 14, "y": 4}
    498             ]
    499         },
    500         "LAYOUT_64_iso": {
    501             "layout": [
    502                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    503                 {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
    504                 {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
    505                 {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
    506                 {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
    507                 {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
    508                 {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
    509                 {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
    510                 {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
    511                 {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
    512                 {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
    513                 {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
    514                 {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
    515                 {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
    516 
    517                 {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
    518                 {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
    519                 {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
    520                 {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
    521                 {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
    522                 {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
    523                 {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
    524                 {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
    525                 {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
    526                 {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
    527                 {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
    528                 {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
    529                 {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
    530 
    531                 {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
    532                 {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
    533                 {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
    534                 {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
    535                 {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
    536                 {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
    537                 {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
    538                 {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
    539                 {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
    540                 {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
    541                 {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
    542                 {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
    543                 {"label": "#", "matrix": [1, 14], "x": 12.75, "y": 2},
    544                 {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
    545 
    546                 {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3},
    547                 {"label": "\\", "matrix": [3, 1], "x": 1, "y": 3},
    548                 {"label": "Z", "matrix": [3, 2], "x": 2, "y": 3},
    549                 {"label": "X", "matrix": [3, 3], "x": 3, "y": 3},
    550                 {"label": "C", "matrix": [3, 4], "x": 4, "y": 3},
    551                 {"label": "V", "matrix": [3, 5], "x": 5, "y": 3},
    552                 {"label": "B", "matrix": [3, 6], "x": 6, "y": 3},
    553                 {"label": "N", "matrix": [3, 7], "x": 7, "y": 3},
    554                 {"label": "M", "matrix": [3, 8], "x": 8, "y": 3},
    555                 {"label": ",", "matrix": [3, 9], "x": 9, "y": 3},
    556                 {"label": ".", "matrix": [3, 10], "x": 10, "y": 3},
    557                 {"label": "/", "matrix": [3, 11], "x": 11, "y": 3},
    558                 {"label": "Shift", "matrix": [3, 12], "x": 12, "y": 3},
    559                 {"label": "\u2191", "matrix": [3, 13], "x": 13, "y": 3},
    560                 {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
    561 
    562                 {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
    563                 {"label": "GUI", "matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
    564                 {"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
    565                 {"label": "Space", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
    566                 {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4},
    567                 {"label": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4},
    568                 {"label": "\u2190", "matrix": [4, 12], "x": 12, "y": 4},
    569                 {"label": "\u2193", "matrix": [4, 13], "x": 13, "y": 4},
    570                 {"label": "\u2192", "matrix": [4, 14], "x": 14, "y": 4}
    571             ]
    572         }
    573     }
    574 }