qmk_firmware

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

keyboard.json (47391B)


      1 {
      2     "keyboard_name": "Eagle Viper REP Rev B",
      3     "manufacturer": "4pplet",
      4     "url": "https://github.com/4pplet/eagle_viper_rep",
      5     "maintainer": "4pplet",
      6     "usb": {
      7         "vid": "0x4444",
      8         "pid": "0x0010",
      9         "device_version": "0.0.2"
     10     },
     11     "matrix_pins": {
     12         "cols": ["A0", "A3", "A4", "A7", "B5", "B4", "B3"],
     13         "rows": ["A2", "A1", "B8", "A10", "C15", "A15", "B7", "B6", "C14", "C13"]
     14     },
     15     "diode_direction": "COL2ROW",
     16     "features": {
     17         "bootmagic": true,
     18         "mousekey": true,
     19         "extrakey": true,
     20         "command": true,
     21         "nkro": true,
     22         "backlight": true,
     23         "rgblight": true
     24     },
     25     "qmk": {
     26         "locking": {
     27             "enabled": true,
     28             "resync": true
     29         }
     30     },
     31     "dynamic_keymap": {
     32         "layer_count": 5
     33     },
     34     "backlight": {
     35         "pin": "A6",
     36         "levels": 6,
     37         "breathing": true
     38     },
     39     "indicators": {
     40         "caps_lock": "B1",
     41         "num_lock": "B12",
     42         "scroll_lock": "B13"
     43     },
     44     "rgblight": {
     45         "saturation_steps": 8,
     46         "brightness_steps": 8,
     47         "led_count": 16,
     48         "animations": {
     49             "breathing": true,
     50             "rainbow_mood": true,
     51             "rainbow_swirl": true,
     52             "snake": true,
     53             "knight": true,
     54             "christmas": true,
     55             "static_gradient": true,
     56             "rgb_test": true,
     57             "alternating": true,
     58             "twinkle": true
     59         }
     60     },
     61     "ws2812": {
     62         "pin": "A8"
     63     },
     64     "processor": "STM32F072",
     65     "bootloader": "stm32-dfu",
     66     "layout_aliases": {
     67         "LAYOUT": "LAYOUT_all",
     68         "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
     69     },
     70     "community_layouts": [
     71         "60_ansi",
     72         "60_ansi_split_bs_rshift",
     73         "60_ansi_tsangan",
     74         "60_ansi_tsangan_split_bs_rshift",
     75         "60_hhkb",
     76         "60_iso",
     77         "60_iso_split_bs_rshift",
     78         "60_iso_tsangan",
     79         "60_iso_tsangan_split_bs_rshift"
     80     ],
     81     "layouts": {
     82         "LAYOUT_all": {
     83             "layout": [
     84                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
     85                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
     86                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
     87                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
     88                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
     89                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
     90                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
     91                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
     92                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
     93                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
     94                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
     95                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
     96                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
     97                 {"label": "\\", "matrix": [1, 6], "x": 13, "y": 0},
     98                 {"label": "`", "matrix": [3, 6], "x": 14, "y": 0},
     99                                             
    100                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    101                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    102                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    103                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    104                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    105                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    106                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    107                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    108                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    109                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    110                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    111                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    112                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    113                 {"label": "Backspace", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
    114                                             
    115                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    116                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    117                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    118                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    119                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    120                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    121                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    122                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    123                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    124                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    125                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    126                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    127                 {"label": "#", "matrix": [4, 6], "x": 12.75, "y": 2},
    128                 {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 2, "w": 1.25},
    129                                             
    130                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
    131                 {"label": "\\", "matrix": [7, 0], "x": 1.25, "y": 3},
    132                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    133                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    134                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    135                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    136                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    137                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    138                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    139                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    140                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    141                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    142                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
    143                 {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
    144                                             
    145                 {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
    146                 {"label": "GUI", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
    147                 {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
    148                 {"label": "Space", "matrix": [9, 2], "x": 3.75, "y": 4, "w": 2.25},
    149                 {"label": "Space", "matrix": [9, 3], "x": 6, "y": 4, "w": 1.25},
    150                 {"label": "Space", "matrix": [8, 4], "x": 7.25, "y": 4, "w": 2.75},
    151                 {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
    152                 {"label": "Alt", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
    153                 {"label": "GUI", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
    154                 {"label": "Fn", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
    155             ]
    156         },
    157         "LAYOUT_60_ansi": {
    158             "layout": [
    159                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    160                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
    161                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
    162                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
    163                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
    164                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
    165                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
    166                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
    167                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
    168                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
    169                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
    170                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
    171                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
    172                 {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2},
    173 
    174                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    175                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    176                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    177                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    178                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    179                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    180                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    181                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    182                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    183                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    184                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    185                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    186                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    187                 {"label": "\\", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
    188 
    189                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    190                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    191                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    192                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    193                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    194                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    195                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    196                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    197                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    198                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    199                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    200                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    201                 {"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
    202 
    203                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
    204                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    205                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    206                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    207                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    208                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    209                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    210                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    211                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    212                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    213                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    214                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
    215 
    216                 {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
    217                 {"label": "GUI", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
    218                 {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
    219                 {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25},
    220                 {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
    221                 {"label": "GUI", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
    222                 {"label": "Menu", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
    223                 {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
    224             ]
    225         },
    226         "LAYOUT_60_ansi_split_bs_rshift": {
    227             "layout": [
    228                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    229                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
    230                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
    231                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
    232                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
    233                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
    234                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
    235                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
    236                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
    237                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
    238                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
    239                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
    240                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
    241                 {"label": "\\", "matrix": [1, 6], "x": 13, "y": 0},
    242                 {"label": "`", "matrix": [3, 6], "x": 14, "y": 0},
    243 
    244                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    245                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    246                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    247                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    248                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    249                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    250                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    251                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    252                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    253                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    254                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    255                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    256                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    257                 {"label": "Backspace", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
    258 
    259                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    260                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    261                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    262                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    263                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    264                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    265                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    266                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    267                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    268                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    269                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    270                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    271                 {"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
    272 
    273                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
    274                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    275                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    276                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    277                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    278                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    279                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    280                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    281                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    282                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    283                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    284                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
    285                 {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
    286 
    287                 {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
    288                 {"label": "GUI", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
    289                 {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
    290                 {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25},
    291                 {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
    292                 {"label": "GUI", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
    293                 {"label": "Menu", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
    294                 {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
    295             ]
    296         },
    297         "LAYOUT_60_ansi_tsangan": {
    298             "layout": [
    299                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    300                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
    301                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
    302                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
    303                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
    304                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
    305                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
    306                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
    307                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
    308                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
    309                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
    310                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
    311                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
    312                 {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2},
    313 
    314                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    315                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    316                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    317                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    318                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    319                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    320                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    321                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    322                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    323                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    324                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    325                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    326                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    327                 {"label": "\\", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
    328 
    329                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    330                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    331                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    332                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    333                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    334                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    335                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    336                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    337                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    338                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    339                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    340                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    341                 {"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
    342 
    343                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
    344                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    345                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    346                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    347                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    348                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    349                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    350                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    351                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    352                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    353                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    354                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
    355 
    356                 {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
    357                 {"label": "GUI", "matrix": [9, 0], "x": 1.5, "y": 4},
    358                 {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
    359                 {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
    360                 {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
    361                 {"label": "Menu", "matrix": [9, 5], "x": 12.5, "y": 4},
    362                 {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
    363             ]
    364         },
    365         "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
    366             "layout": [
    367                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    368                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
    369                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
    370                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
    371                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
    372                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
    373                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
    374                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
    375                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
    376                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
    377                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
    378                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
    379                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
    380                 {"label": "\\", "matrix": [1, 6], "x": 13, "y": 0},
    381                 {"label": "`", "matrix": [3, 6], "x": 14, "y": 0},
    382 
    383                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    384                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    385                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    386                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    387                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    388                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    389                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    390                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    391                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    392                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    393                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    394                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    395                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    396                 {"label": "Backspace", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
    397 
    398                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    399                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    400                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    401                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    402                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    403                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    404                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    405                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    406                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    407                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    408                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    409                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    410                 {"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
    411 
    412                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
    413                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    414                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    415                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    416                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    417                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    418                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    419                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    420                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    421                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    422                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    423                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
    424                 {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
    425 
    426                 {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
    427                 {"label": "GUI", "matrix": [9, 0], "x": 1.5, "y": 4},
    428                 {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
    429                 {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
    430                 {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
    431                 {"label": "Menu", "matrix": [9, 5], "x": 12.5, "y": 4},
    432                 {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
    433             ]
    434         },
    435         "LAYOUT_60_hhkb": {
    436             "layout": [
    437                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    438                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
    439                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
    440                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
    441                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
    442                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
    443                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
    444                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
    445                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
    446                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
    447                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
    448                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
    449                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
    450                 {"label": "\\", "matrix": [1, 6], "x": 13, "y": 0},
    451                 {"label": "`", "matrix": [3, 6], "x": 14, "y": 0},
    452 
    453                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    454                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    455                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    456                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    457                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    458                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    459                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    460                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    461                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    462                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    463                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    464                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    465                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    466                 {"label": "Backspace", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
    467 
    468                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    469                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    470                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    471                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    472                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    473                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    474                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    475                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    476                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    477                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    478                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    479                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    480                 {"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
    481 
    482                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
    483                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    484                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    485                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    486                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    487                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    488                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    489                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    490                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    491                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    492                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    493                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
    494                 {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
    495 
    496                 {"label": "Alt", "matrix": [9, 0], "x": 1.5, "y": 4},
    497                 {"label": "GUI", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
    498                 {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
    499                 {"label": "GUI", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
    500                 {"label": "Alt", "matrix": [9, 5], "x": 12.5, "y": 4}
    501             ]
    502         },
    503         "LAYOUT_60_iso": {
    504             "layout": [
    505                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    506                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
    507                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
    508                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
    509                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
    510                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
    511                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
    512                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
    513                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
    514                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
    515                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
    516                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
    517                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
    518                 {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2},
    519 
    520                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    521                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    522                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    523                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    524                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    525                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    526                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    527                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    528                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    529                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    530                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    531                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    532                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    533 
    534                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    535                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    536                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    537                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    538                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    539                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    540                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    541                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    542                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    543                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    544                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    545                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    546                 {"label": "#", "matrix": [4, 6], "x": 12.75, "y": 2},
    547                 {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
    548 
    549                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
    550                 {"label": "\\", "matrix": [7, 0], "x": 1.25, "y": 3},
    551                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    552                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    553                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    554                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    555                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    556                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    557                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    558                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    559                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    560                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    561                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
    562 
    563                 {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
    564                 {"label": "GUI", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
    565                 {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
    566                 {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25},
    567                 {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
    568                 {"label": "GUI", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
    569                 {"label": "Menu", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
    570                 {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
    571             ]
    572         },
    573         "LAYOUT_60_iso_split_bs_rshift": {
    574             "layout": [
    575                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    576                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
    577                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
    578                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
    579                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
    580                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
    581                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
    582                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
    583                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
    584                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
    585                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
    586                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
    587                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
    588                 {"label": "\\", "matrix": [1, 6], "x": 13, "y": 0},
    589                 {"label": "`", "matrix": [3, 6], "x": 14, "y": 0},
    590 
    591                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    592                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    593                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    594                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    595                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    596                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    597                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    598                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    599                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    600                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    601                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    602                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    603                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    604 
    605                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    606                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    607                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    608                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    609                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    610                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    611                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    612                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    613                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    614                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    615                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    616                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    617                 {"label": "#", "matrix": [4, 6], "x": 12.75, "y": 2},
    618                 {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
    619 
    620                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
    621                 {"label": "\\", "matrix": [7, 0], "x": 1.25, "y": 3},
    622                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    623                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    624                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    625                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    626                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    627                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    628                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    629                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    630                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    631                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    632                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
    633                 {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
    634 
    635                 {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
    636                 {"label": "GUI", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
    637                 {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
    638                 {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25},
    639                 {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
    640                 {"label": "GUI", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
    641                 {"label": "Menu", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
    642                 {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
    643             ]
    644         },
    645         "LAYOUT_60_iso_tsangan": {
    646             "layout": [
    647                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    648                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
    649                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
    650                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
    651                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
    652                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
    653                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
    654                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
    655                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
    656                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
    657                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
    658                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
    659                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
    660                 {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2},
    661 
    662                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    663                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    664                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    665                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    666                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    667                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    668                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    669                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    670                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    671                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    672                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    673                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    674                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    675 
    676                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    677                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    678                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    679                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    680                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    681                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    682                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    683                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    684                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    685                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    686                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    687                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    688                 {"label": "#", "matrix": [4, 6], "x": 12.75, "y": 2},
    689                 {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
    690 
    691                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
    692                 {"label": "\\", "matrix": [7, 0], "x": 1.25, "y": 3},
    693                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    694                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    695                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    696                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    697                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    698                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    699                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    700                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    701                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    702                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    703                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
    704 
    705                 {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
    706                 {"label": "GUI", "matrix": [9, 0], "x": 1.5, "y": 4},
    707                 {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
    708                 {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
    709                 {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
    710                 {"label": "Menu", "matrix": [9, 5], "x": 12.5, "y": 4},
    711                 {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
    712             ]
    713         },
    714         "LAYOUT_60_iso_tsangan_split_bs_rshift": {
    715             "layout": [
    716                 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
    717                 {"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
    718                 {"label": "2", "matrix": [0, 1], "x": 2, "y": 0},
    719                 {"label": "3", "matrix": [1, 1], "x": 3, "y": 0},
    720                 {"label": "4", "matrix": [0, 2], "x": 4, "y": 0},
    721                 {"label": "5", "matrix": [1, 2], "x": 5, "y": 0},
    722                 {"label": "6", "matrix": [0, 3], "x": 6, "y": 0},
    723                 {"label": "7", "matrix": [1, 3], "x": 7, "y": 0},
    724                 {"label": "8", "matrix": [0, 4], "x": 8, "y": 0},
    725                 {"label": "9", "matrix": [1, 4], "x": 9, "y": 0},
    726                 {"label": "0", "matrix": [0, 5], "x": 10, "y": 0},
    727                 {"label": "-", "matrix": [1, 5], "x": 11, "y": 0},
    728                 {"label": "=", "matrix": [0, 6], "x": 12, "y": 0},
    729                 {"label": "\\", "matrix": [1, 6], "x": 13, "y": 0},
    730                 {"label": "`", "matrix": [3, 6], "x": 14, "y": 0},
    731 
    732                 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
    733                 {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
    734                 {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
    735                 {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
    736                 {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
    737                 {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
    738                 {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
    739                 {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
    740                 {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
    741                 {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
    742                 {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
    743                 {"label": "[", "matrix": [3, 5], "x": 11.5, "y": 1},
    744                 {"label": "]", "matrix": [2, 6], "x": 12.5, "y": 1},
    745 
    746                 {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
    747                 {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
    748                 {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
    749                 {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
    750                 {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
    751                 {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
    752                 {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
    753                 {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
    754                 {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
    755                 {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
    756                 {"label": ";", "matrix": [4, 5], "x": 10.75, "y": 2},
    757                 {"label": "'", "matrix": [5, 5], "x": 11.75, "y": 2},
    758                 {"label": "#", "matrix": [4, 6], "x": 12.75, "y": 2},
    759                 {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
    760 
    761                 {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
    762                 {"label": "\\", "matrix": [7, 0], "x": 1.25, "y": 3},
    763                 {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
    764                 {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
    765                 {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
    766                 {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
    767                 {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
    768                 {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
    769                 {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
    770                 {"label": ",", "matrix": [7, 4], "x": 9.25, "y": 3},
    771                 {"label": ".", "matrix": [6, 5], "x": 10.25, "y": 3},
    772                 {"label": "/", "matrix": [7, 5], "x": 11.25, "y": 3},
    773                 {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
    774                 {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
    775 
    776                 {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
    777                 {"label": "GUI", "matrix": [9, 0], "x": 1.5, "y": 4},
    778                 {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
    779                 {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
    780                 {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
    781                 {"label": "Menu", "matrix": [9, 5], "x": 12.5, "y": 4},
    782                 {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
    783             ]
    784         }
    785     }
    786 }