summary refs log tree commit diff
path: root/keyboards/linworks
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-04-04 14:39:20 +1000
committerGitHub <noreply@github.com>2023-04-04 14:39:20 +1000
commit976317df3cb2cd9b8772cb852dd66314f6856ed1 (patch)
treef7e1e292dcb24d5b22590b417508c7de9cd6f5ac /keyboards/linworks
parentb463ceb9dc855a5fe9ba22443b0012b9043c3769 (diff)
Move fullsize layouts to data driven (#20317)
Diffstat (limited to 'keyboards/linworks')
-rw-r--r--keyboards/linworks/fave104/fave104.h86
-rw-r--r--keyboards/linworks/fave104/info.json753
2 files changed, 396 insertions, 443 deletions
diff --git a/keyboards/linworks/fave104/fave104.h b/keyboards/linworks/fave104/fave104.h
deleted file mode 100644
index bd30b1e0c4..0000000000
--- a/keyboards/linworks/fave104/fave104.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright 2021 Moritz Plattner
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT_all( \
-    K00,        K01,  K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K10,  K11,        K12,    K13,  K14,  K15,    K16,  K17,  K18,  K19, \
-    K20,  K21,  K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K30,  K31,  K32,  K33,  K34,    K35,  K36,  K37,    K38,  K39,  K40,  K41, \
-    K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K50,  K51,  K52,  K53,  K54,        K55,    K56,  K57,  K58,    K59,  K60,  K61,  K62, \
-    K63,  K64,  K65,  K66,  K67,  K68,  K69,  K70,  K71,  K72,  K73,  K74,  K75,        K76,                        K77,  K78,  K79,  K80, \
-    K81,  K82,  K83,  K84,  K85,  K86,  K87,  K88,  K89,  K90,  K91,  K92,  K93,        K94,          K95,          K96,  K97,  K98,  K99, \
-    K100, K101, K102,                   K103,                   K104, K105, K106,       K107,   K108, K109, K110,   K111, K112, K113, K114 \
-) { \
-  { K00,    K01,   K03,   K05,   K07,   K09,  K11,    K12,   K14,   K16,  K18 }, \
-  { KC_NO,  K02,   K04,   K06,   K08,   K10,  KC_NO,  K13,   K15,   K17,  K19 }, \
-  { K20,    K22,   K24,   K26,   K28,   K30,  K32,    K34,   K36,   K38,  K40 }, \
-  { K21,    K23,   K25,   K27,   K29,   K31,  K33,    K35,   K37,   K39,  K41 }, \
-  { K42,    K44,   K46,   K48,   K50,   K52,  K54,    K55,   K57,   K59,  K61 }, \
-  { K43,    K45,   K47,   K49,   K51,   K53,  KC_NO,  K56,   K58,   K60,  K62 }, \
-  { K63,    K65,   K67,   K69,   K71,   K73,  K75,    K76,   KC_NO, K77,  K79 }, \
-  { K64,    K66,   K68,   K70,   K72,   K74,  KC_NO,  KC_NO, KC_NO, K78,  K80 }, \
-  { K81,    K83,   K85,   K87,   K89,   K91,  K93,    K94,   K95,   K96,  K98 }, \
-  { K82,    K84,   K86,   K88,   K90,   K92,  KC_NO,  KC_NO, KC_NO, K97,  K99 }, \
-  { K100,   K102,  KC_NO, K103,  KC_NO, K104, K106,   K107,  K109,  K111, K113}, \
-  { K101,   KC_NO, KC_NO, KC_NO, KC_NO, K105, KC_NO,  K108,  K110,  K112, K114}  \
-}
-
-#define LAYOUT_fullsize_ansi( \
-    K00,        K01,  K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K10,  K11,        K12,    K13,  K14,  K15,    K16,  K17,  K18,  K19, \
-    K20,  K21,  K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K30,  K31,  K32,        K34,    K35,  K36,  K37,    K38,  K39,  K40,  K41, \
-    K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K50,  K51,  K52,  K53,  K54,        K55,    K56,  K57,  K58,    K59,  K60,  K61,  K62, \
-    K63,  K64,  K65,  K66,  K67,  K68,  K69,  K70,  K71,  K72,  K73,  K74,              K76,                        K77,  K78,  K79,  K80, \
-    K81,        K83,  K84,  K85,  K86,  K87,  K88,  K89,  K90,  K91,  K92,  K93,                      K95,          K96,  K97,  K98,  K99, \
-    K100, K101, K102,                   K103,                   K104, K105, K106,       K107,   K108, K109, K110,   K111, K112, K113, K114 \
-) { \
-  { K00,    K01,   K03,   K05,   K07,   K09,  K11,    K12,   K14,   K16,  K18 }, \
-  { KC_NO,  K02,   K04,   K06,   K08,   K10,  KC_NO,  K13,   K15,   K17,  K19 }, \
-  { K20,    K22,   K24,   K26,   K28,   K30,  K32,    K34,   K36,   K38,  K40 }, \
-  { K21,    K23,   K25,   K27,   K29,   K31,  KC_NO,  K35,   K37,   K39,  K41 }, \
-  { K42,    K44,   K46,   K48,   K50,   K52,  K54,    K55,   K57,   K59,  K61 }, \
-  { K43,    K45,   K47,   K49,   K51,   K53,  KC_NO,  K56,   K58,   K60,  K62 }, \
-  { K63,    K65,   K67,   K69,   K71,   K73,  KC_NO,  K76,   KC_NO, K77,  K79 }, \
-  { K64,    K66,   K68,   K70,   K72,   K74,  KC_NO,  KC_NO, KC_NO, K78,  K80 }, \
-  { K81,    K83,   K85,   K87,   K89,   K91,  K93,    KC_NO, K95,   K96,  K98 }, \
-  { KC_NO,  K84,   K86,   K88,   K90,   K92,  KC_NO,  KC_NO, KC_NO, K97,  K99 }, \
-  { K100,   K102,  KC_NO, K103,  KC_NO, K104, K106,   K107,  K109,  K111, K113}, \
-  { K101,   KC_NO, KC_NO, KC_NO, KC_NO, K105, KC_NO,  K108,  K110,  K112, K114}  \
-}
-
-#define LAYOUT_fullsize_iso( \
-    K00,        K01,  K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K10,  K11,        K12,    K13,  K14,  K15,    K16,  K17,  K18,  K19, \
-    K20,  K21,  K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K30,  K31,  K32,  K33,  K34,    K35,  K36,  K37,    K38,  K39,  K40,  K41, \
-    K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K50,  K51,  K52,  K53,  K54,                K56,  K57,  K58,    K59,  K60,  K61,  K62, \
-    K63,  K64,  K65,  K66,  K67,  K68,  K69,  K70,  K71,  K72,  K73,  K74,  K75,        K76,                        K77,  K78,  K79,  K80, \
-    K81,  K82,  K83,  K84,  K85,  K86,  K87,  K88,  K89,  K90,  K91,  K92,  K93,        K94,          K95,          K96,  K97,  K98,  K99, \
-    K100, K101, K102,                   K103,                   K104, K105, K106,       K107,   K108, K109, K110,   K111, K112, K113, K114 \
-) { \
-  { K00,    K01,   K03,   K05,   K07,   K09,  K11,    K12,   K14,   K16,  K18 }, \
-  { KC_NO,  K02,   K04,   K06,   K08,   K10,  KC_NO,  K13,   K15,   K17,  K19 }, \
-  { K20,    K22,   K24,   K26,   K28,   K30,  K32,    K34,   K36,   K38,  K40 }, \
-  { K21,    K23,   K25,   K27,   K29,   K31,  K33,    K35,   K37,   K39,  K41 }, \
-  { K42,    K44,   K46,   K48,   K50,   K52,  K54,    KC_NO, K57,   K59,  K61 }, \
-  { K43,    K45,   K47,   K49,   K51,   K53,  KC_NO,  K56,   K58,   K60,  K62 }, \
-  { K63,    K65,   K67,   K69,   K71,   K73,  K75,    K76,   KC_NO, K77,  K79 }, \
-  { K64,    K66,   K68,   K70,   K72,   K74,  KC_NO,  KC_NO, KC_NO, K78,  K80 }, \
-  { K81,    K83,   K85,   K87,   K89,   K91,  K93,    K94,   K95,   K96,  K98 }, \
-  { K82,    K84,   K86,   K88,   K90,   K92,  KC_NO,  KC_NO, KC_NO, K97,  K99 }, \
-  { K100,   K102,  KC_NO, K103,  KC_NO, K104, K106,   K107,  K109,  K111, K113}, \
-  { K101,   KC_NO, KC_NO, KC_NO, KC_NO, K105, KC_NO,  K108,  K110,  K112, K114}  \
-}
-
diff --git a/keyboards/linworks/fave104/info.json b/keyboards/linworks/fave104/info.json
index 5421e4d623..e5fcf4f0c8 100644
--- a/keyboards/linworks/fave104/info.json
+++ b/keyboards/linworks/fave104/info.json
@@ -29,371 +29,410 @@
     "layouts": {
         "LAYOUT_all": {
             "layout": [
-                {"label":"Esc", "x":0, "y":0},
-                {"label":"F1", "x":2, "y":0},
-                {"label":"F2", "x":3, "y":0},
-                {"label":"F3", "x":4, "y":0},
-                {"label":"F4", "x":5, "y":0},
-                {"label":"F5", "x":6.5, "y":0},
-                {"label":"F6", "x":7.5, "y":0},
-                {"label":"F7", "x":8.5, "y":0},
-                {"label":"F8", "x":9.5, "y":0},
-                {"label":"F9", "x":11, "y":0},
-                {"label":"F10", "x":12, "y":0},
-                {"label":"F11", "x":13, "y":0},
-                {"label":"F12", "x":14, "y":0},
-                {"label":"PrtSc", "x":15.25, "y":0},
-                {"label":"Scroll Lock", "x":16.25, "y":0},
-                {"label":"Pause", "x":17.25, "y":0},
-                {"x":18.5, "y":0},
-                {"x":19.5, "y":0},
-                {"x":20.5, "y":0},
-                {"x":21.5, "y":0},
-
-                {"label":"~", "x":0, "y":1.25},
-                {"label":"!", "x":1, "y":1.25},
-                {"label":"@", "x":2, "y":1.25},
-                {"label":"#", "x":3, "y":1.25},
-                {"label":"$", "x":4, "y":1.25},
-                {"label":"%", "x":5, "y":1.25},
-                {"label":"^", "x":6, "y":1.25},
-                {"label":"&", "x":7, "y":1.25},
-                {"label":"*", "x":8, "y":1.25},
-                {"label":"(", "x":9, "y":1.25},
-                {"label":")", "x":10, "y":1.25},
-                {"label":"_", "x":11, "y":1.25},
-                {"label":"+", "x":12, "y":1.25},
-                {"x":13, "y":1.25},
-                {"label":"Bksp", "x":14, "y":1.25},
-                {"label":"Insert", "x":15.25, "y":1.25},
-                {"label":"Home", "x":16.25, "y":1.25},
-                {"label":"PgUp", "x":17.25, "y":1.25},
-                {"label":"Num Lock", "x":18.5, "y":1.25},
-                {"label":"/", "x":19.5, "y":1.25},
-                {"label":"*", "x":20.5, "y":1.25},
-                {"label":"-", "x":21.5, "y":1.25},
-
-                {"label":"Tab", "x":0, "y":2.25, "w":1.5},
-                {"label":"Q", "x":1.5, "y":2.25},
-                {"label":"W", "x":2.5, "y":2.25},
-                {"label":"E", "x":3.5, "y":2.25},
-                {"label":"R", "x":4.5, "y":2.25},
-                {"label":"T", "x":5.5, "y":2.25},
-                {"label":"Y", "x":6.5, "y":2.25},
-                {"label":"U", "x":7.5, "y":2.25},
-                {"label":"I", "x":8.5, "y":2.25},
-                {"label":"O", "x":9.5, "y":2.25},
-                {"label":"P", "x":10.5, "y":2.25},
-                {"label":"{", "x":11.5, "y":2.25},
-                {"label":"}", "x":12.5, "y":2.25},
-                {"label":"|", "x":13.5, "y":2.25, "w":1.5},
-                {"label":"Delete", "x":15.25, "y":2.25},
-                {"label":"End", "x":16.25, "y":2.25},
-                {"label":"PgDn", "x":17.25, "y":2.25},
-                {"label":"7", "x":18.5, "y":2.25},
-                {"label":"8", "x":19.5, "y":2.25},
-                {"label":"9", "x":20.5, "y":2.25},
-                {"label":"+", "x":21.5, "y":2.25},
-
-                {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
-                {"label":"A", "x":1.75, "y":3.25},
-                {"label":"S", "x":2.75, "y":3.25},
-                {"label":"D", "x":3.75, "y":3.25},
-                {"label":"F", "x":4.75, "y":3.25},
-                {"label":"G", "x":5.75, "y":3.25},
-                {"label":"H", "x":6.75, "y":3.25},
-                {"label":"J", "x":7.75, "y":3.25},
-                {"label":"K", "x":8.75, "y":3.25},
-                {"label":"L", "x":9.75, "y":3.25},
-                {"label":":", "x":10.75, "y":3.25},
-                {"label":"\"", "x":11.75, "y":3.25},
-                {"x":12.75, "y":3.25},
-                {"label":"Enter", "x":13.75, "y":3.25, "w":1.25},
-                {"label":"4", "x":18.5, "y":3.25},
-                {"label":"5", "x":19.5, "y":3.25},
-                {"label":"6", "x":20.5, "y":3.25},
-                {"label":"+", "x":21.5, "y":3.25},
-
-                {"label":"Shift", "x":0, "y":4.25, "w":1.25},
-                {"x":1.25, "y":4.25},
-                {"label":"Z", "x":2.25, "y":4.25},
-                {"label":"X", "x":3.25, "y":4.25},
-                {"label":"C", "x":4.25, "y":4.25},
-                {"label":"V", "x":5.25, "y":4.25},
-                {"label":"B", "x":6.25, "y":4.25},
-                {"label":"N", "x":7.25, "y":4.25},
-                {"label":"M", "x":8.25, "y":4.25},
-                {"label":"<", "x":9.25, "y":4.25},
-                {"label":">", "x":10.25, "y":4.25},
-                {"label":"?", "x":11.25, "y":4.25},
-                {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
-                {"x":14, "y":4.25},
-                {"label":"\u2191", "x":16.25, "y":4.25},
-                {"label":"1", "x":18.5, "y":4.25},
-                {"label":"2", "x":19.5, "y":4.25},
-                {"label":"3", "x":20.5, "y":4.25},
-                {"label":"Enter", "x":21.5, "y":4.25},
-
-                {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
-                {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
-                {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
-                {"x":3.75, "y":5.25, "w":6.25},
-                {"label":"Alt", "x":10, "y":5.25, "w":1.25},
-                {"label":"Win", "x":11.25, "y":5.25, "w":1.25},
-                {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
-                {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
-                {"label":"\u2190", "x":15.25, "y":5.25},
-                {"label":"\u2193", "x":16.25, "y":5.25},
-                {"label":"\u2192", "x":17.25, "y":5.25},
-                {"label":"0", "x":18.5, "y":5.25},
-                {"label":"0", "x":19.5, "y":5.25},
-                {"label":".", "x":20.5, "y":5.25},
-                {"label":"Enter", "x":21.5, "y":5.25}
+                {"matrix": [0, 0], "x": 0, "y": 0},
+
+                {"matrix": [0, 1], "x": 2, "y": 0},
+                {"matrix": [1, 1], "x": 3, "y": 0},
+                {"matrix": [0, 2], "x": 4, "y": 0},
+                {"matrix": [1, 2], "x": 5, "y": 0},
+
+                {"matrix": [0, 3], "x": 6.5, "y": 0},
+                {"matrix": [1, 3], "x": 7.5, "y": 0},
+                {"matrix": [0, 4], "x": 8.5, "y": 0},
+                {"matrix": [1, 4], "x": 9.5, "y": 0},
+
+                {"matrix": [0, 5], "x": 11, "y": 0},
+                {"matrix": [1, 5], "x": 12, "y": 0},
+                {"matrix": [0, 6], "x": 13, "y": 0},
+                {"matrix": [0, 7], "x": 14, "y": 0},
+
+                {"matrix": [1, 7], "x": 15.25, "y": 0},
+                {"matrix": [0, 8], "x": 16.25, "y": 0},
+                {"matrix": [1, 8], "x": 17.25, "y": 0},
+
+                {"matrix": [0, 9], "x": 18.5, "y": 0},
+                {"matrix": [1, 9], "x": 19.5, "y": 0},
+                {"matrix": [0, 10], "x": 20.5, "y": 0},
+                {"matrix": [1, 10], "x": 21.5, "y": 0},
+
+                {"matrix": [2, 0], "x": 0, "y": 1.25},
+                {"matrix": [3, 0], "x": 1, "y": 1.25},
+                {"matrix": [2, 1], "x": 2, "y": 1.25},
+                {"matrix": [3, 1], "x": 3, "y": 1.25},
+                {"matrix": [2, 2], "x": 4, "y": 1.25},
+                {"matrix": [3, 2], "x": 5, "y": 1.25},
+                {"matrix": [2, 3], "x": 6, "y": 1.25},
+                {"matrix": [3, 3], "x": 7, "y": 1.25},
+                {"matrix": [2, 4], "x": 8, "y": 1.25},
+                {"matrix": [3, 4], "x": 9, "y": 1.25},
+                {"matrix": [2, 5], "x": 10, "y": 1.25},
+                {"matrix": [3, 5], "x": 11, "y": 1.25},
+                {"matrix": [2, 6], "x": 12, "y": 1.25},
+                {"matrix": [3, 6], "x": 13, "y": 1.25},
+                {"matrix": [2, 7], "x": 14, "y": 1.25},
+
+                {"matrix": [3, 7], "x": 15.25, "y": 1.25},
+                {"matrix": [2, 8], "x": 16.25, "y": 1.25},
+                {"matrix": [3, 8], "x": 17.25, "y": 1.25},
+
+                {"matrix": [2, 9], "x": 18.5, "y": 1.25},
+                {"matrix": [3, 9], "x": 19.5, "y": 1.25},
+                {"matrix": [2, 10], "x": 20.5, "y": 1.25},
+                {"matrix": [3, 10], "x": 21.5, "y": 1.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5},
+                {"matrix": [5, 0], "x": 1.5, "y": 2.25},
+                {"matrix": [4, 1], "x": 2.5, "y": 2.25},
+                {"matrix": [5, 1], "x": 3.5, "y": 2.25},
+                {"matrix": [4, 2], "x": 4.5, "y": 2.25},
+                {"matrix": [5, 2], "x": 5.5, "y": 2.25},
+                {"matrix": [4, 3], "x": 6.5, "y": 2.25},
+                {"matrix": [5, 3], "x": 7.5, "y": 2.25},
+                {"matrix": [4, 4], "x": 8.5, "y": 2.25},
+                {"matrix": [5, 4], "x": 9.5, "y": 2.25},
+                {"matrix": [4, 5], "x": 10.5, "y": 2.25},
+                {"matrix": [5, 5], "x": 11.5, "y": 2.25},
+                {"matrix": [4, 6], "x": 12.5, "y": 2.25},
+                {"matrix": [4, 7], "x": 13.5, "y": 2.25, "w": 1.5},
+
+                {"matrix": [5, 7], "x": 15.25, "y": 2.25},
+                {"matrix": [4, 8], "x": 16.25, "y": 2.25},
+                {"matrix": [5, 8], "x": 17.25, "y": 2.25},
+
+                {"matrix": [4, 9], "x": 18.5, "y": 2.25},
+                {"matrix": [5, 9], "x": 19.5, "y": 2.25},
+                {"matrix": [4, 10], "x": 20.5, "y": 2.25},
+                {"matrix": [5, 10], "x": 21.5, "y": 2.25},
+
+                {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75},
+                {"matrix": [7, 0], "x": 1.75, "y": 3.25},
+                {"matrix": [6, 1], "x": 2.75, "y": 3.25},
+                {"matrix": [7, 1], "x": 3.75, "y": 3.25},
+                {"matrix": [6, 2], "x": 4.75, "y": 3.25},
+                {"matrix": [7, 2], "x": 5.75, "y": 3.25},
+                {"matrix": [6, 3], "x": 6.75, "y": 3.25},
+                {"matrix": [7, 3], "x": 7.75, "y": 3.25},
+                {"matrix": [6, 4], "x": 8.75, "y": 3.25},
+                {"matrix": [7, 4], "x": 9.75, "y": 3.25},
+                {"matrix": [6, 5], "x": 10.75, "y": 3.25},
+                {"matrix": [7, 5], "x": 11.75, "y": 3.25},
+                {"matrix": [6, 6], "x": 12.75, "y": 3.25},
+                {"matrix": [6, 7], "x": 13.75, "y": 3.25, "w": 1.25},
+
+                {"matrix": [6, 9], "x": 18.5, "y": 3.25},
+                {"matrix": [7, 9], "x": 19.5, "y": 3.25},
+                {"matrix": [6, 10], "x": 20.5, "y": 3.25},
+                {"matrix": [7, 10], "x": 21.5, "y": 3.25},
+
+                {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [9, 0], "x": 1.25, "y": 4.25},
+                {"matrix": [8, 1], "x": 2.25, "y": 4.25},
+                {"matrix": [9, 1], "x": 3.25, "y": 4.25},
+                {"matrix": [8, 2], "x": 4.25, "y": 4.25},
+                {"matrix": [9, 2], "x": 5.25, "y": 4.25},
+                {"matrix": [8, 3], "x": 6.25, "y": 4.25},
+                {"matrix": [9, 3], "x": 7.25, "y": 4.25},
+                {"matrix": [8, 4], "x": 8.25, "y": 4.25},
+                {"matrix": [9, 4], "x": 9.25, "y": 4.25},
+                {"matrix": [8, 5], "x": 10.25, "y": 4.25},
+                {"matrix": [9, 5], "x": 11.25, "y": 4.25},
+                {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 1.75},
+                {"matrix": [8, 7], "x": 14, "y": 4.25},
+
+                {"matrix": [8, 8], "x": 16.25, "y": 4.25},
+
+                {"matrix": [8, 9], "x": 18.5, "y": 4.25},
+                {"matrix": [9, 9], "x": 19.5, "y": 4.25},
+                {"matrix": [8, 10], "x": 20.5, "y": 4.25},
+                {"matrix": [9, 10], "x": 21.5, "y": 4.25},
+
+                {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25},
+                {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 3], "x": 3.75, "y": 5.25, "w": 6.25},
+                {"matrix": [10, 5], "x": 10, "y": 5.25, "w": 1.25},
+                {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 7], "x": 13.75, "y": 5.25, "w": 1.25},
+
+                {"matrix": [11, 7], "x": 15.25, "y": 5.25},
+                {"matrix": [10, 8], "x": 16.25, "y": 5.25},
+                {"matrix": [11, 8], "x": 17.25, "y": 5.25},
+
+                {"matrix": [10, 9], "x": 18.5, "y": 5.25},
+                {"matrix": [11, 9], "x": 19.5, "y": 5.25},
+                {"matrix": [10, 10], "x": 20.5, "y": 5.25},
+                {"matrix": [11, 10], "x": 21.5, "y": 5.25}
             ]
         },
-
         "LAYOUT_fullsize_ansi": {
             "layout": [
-                {"label":"Esc", "x":0, "y":0},
-                {"label":"F1", "x":2, "y":0},
-                {"label":"F2", "x":3, "y":0},
-                {"label":"F3", "x":4, "y":0},
-                {"label":"F4", "x":5, "y":0},
-                {"label":"F5", "x":6.5, "y":0},
-                {"label":"F6", "x":7.5, "y":0},
-                {"label":"F7", "x":8.5, "y":0},
-                {"label":"F8", "x":9.5, "y":0},
-                {"label":"F9", "x":11, "y":0},
-                {"label":"F10", "x":12, "y":0},
-                {"label":"F11", "x":13, "y":0},
-                {"label":"F12", "x":14, "y":0},
-                {"label":"PrtSc", "x":15.25, "y":0},
-                {"label":"Scroll Lock", "x":16.25, "y":0},
-                {"label":"Pause", "x":17.25, "y":0},
-                {"x":18.5, "y":0},
-                {"x":19.5, "y":0},
-                {"x":20.5, "y":0},
-                {"x":21.5, "y":0},
-
-                {"label":"~", "x":0, "y":1.25},
-                {"label":"!", "x":1, "y":1.25},
-                {"label":"@", "x":2, "y":1.25},
-                {"label":"#", "x":3, "y":1.25},
-                {"label":"$", "x":4, "y":1.25},
-                {"label":"%", "x":5, "y":1.25},
-                {"label":"^", "x":6, "y":1.25},
-                {"label":"&", "x":7, "y":1.25},
-                {"label":"*", "x":8, "y":1.25},
-                {"label":"(", "x":9, "y":1.25},
-                {"label":")", "x":10, "y":1.25},
-                {"label":"_", "x":11, "y":1.25},
-                {"label":"+", "x":12, "y":1.25},
-                {"label":"Bksp", "x":13, "y":1.25, "w":2},
-                {"label":"Insert", "x":15.25, "y":1.25},
-                {"label":"Home", "x":16.25, "y":1.25},
-                {"label":"PgUp", "x":17.25, "y":1.25},
-                {"label":"Num Lock", "x":18.5, "y":1.25},
-                {"label":"/", "x":19.5, "y":1.25},
-                {"label":"*", "x":20.5, "y":1.25},
-                {"label":"-", "x":21.5, "y":1.25},
-
-                {"label":"Tab", "x":0, "y":2.25, "w":1.5},
-                {"label":"Q", "x":1.5, "y":2.25},
-                {"label":"W", "x":2.5, "y":2.25},
-                {"label":"E", "x":3.5, "y":2.25},
-                {"label":"R", "x":4.5, "y":2.25},
-                {"label":"T", "x":5.5, "y":2.25},
-                {"label":"Y", "x":6.5, "y":2.25},
-                {"label":"U", "x":7.5, "y":2.25},
-                {"label":"I", "x":8.5, "y":2.25},
-                {"label":"O", "x":9.5, "y":2.25},
-                {"label":"P", "x":10.5, "y":2.25},
-                {"label":"{", "x":11.5, "y":2.25},
-                {"label":"}", "x":12.5, "y":2.25},
-                {"label":"|", "x":13.5, "y":2.25, "w":1.5},
-                {"label":"Delete", "x":15.25, "y":2.25},
-                {"label":"End", "x":16.25, "y":2.25},
-                {"label":"PgDn", "x":17.25, "y":2.25},
-                {"label":"7", "x":18.5, "y":2.25},
-                {"label":"8", "x":19.5, "y":2.25},
-                {"label":"9", "x":20.5, "y":2.25},
-                {"label":"+", "x":21.5, "y":2.25},
-
-                {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
-                {"label":"A", "x":1.75, "y":3.25},
-                {"label":"S", "x":2.75, "y":3.25},
-                {"label":"D", "x":3.75, "y":3.25},
-                {"label":"F", "x":4.75, "y":3.25},
-                {"label":"G", "x":5.75, "y":3.25},
-                {"label":"H", "x":6.75, "y":3.25},
-                {"label":"J", "x":7.75, "y":3.25},
-                {"label":"K", "x":8.75, "y":3.25},
-                {"label":"L", "x":9.75, "y":3.25},
-                {"label":":", "x":10.75, "y":3.25},
-                {"label":"\"", "x":11.75, "y":3.25},
-                {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
-                {"label":"4", "x":18.5, "y":3.25},
-                {"label":"5", "x":19.5, "y":3.25},
-                {"label":"6", "x":20.5, "y":3.25},
-                {"label":"+", "x":21.5, "y":3.25},
-
-                {"label":"Shift", "x":0, "y":4.25, "w":2.25},
-                {"label":"Z", "x":2.25, "y":4.25},
-                {"label":"X", "x":3.25, "y":4.25},
-                {"label":"C", "x":4.25, "y":4.25},
-                {"label":"V", "x":5.25, "y":4.25},
-                {"label":"B", "x":6.25, "y":4.25},
-                {"label":"N", "x":7.25, "y":4.25},
-                {"label":"M", "x":8.25, "y":4.25},
-                {"label":"<", "x":9.25, "y":4.25},
-                {"label":">", "x":10.25, "y":4.25},
-                {"label":"?", "x":11.25, "y":4.25},
-                {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
-                {"label":"\u2191", "x":16.25, "y":4.25},
-                {"label":"1", "x":18.5, "y":4.25},
-                {"label":"2", "x":19.5, "y":4.25},
-                {"label":"3", "x":20.5, "y":4.25},
-                {"label":"Enter", "x":21.5, "y":4.25},
-
-                {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
-                {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
-                {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
-                {"x":3.75, "y":5.25, "w":6.25},
-                {"label":"Alt", "x":10, "y":5.25, "w":1.25},
-                {"label":"Win", "x":11.25, "y":5.25, "w":1.25},
-                {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
-                {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
-                {"label":"\u2190", "x":15.25, "y":5.25},
-                {"label":"\u2193", "x":16.25, "y":5.25},
-                {"label":"\u2192", "x":17.25, "y":5.25},
-                {"label":"0", "x":18.5, "y":5.25},
-                {"label":"0", "x":19.5, "y":5.25},
-                {"label":".", "x":20.5, "y":5.25},
-                {"label":"Enter", "x":21.5, "y":5.25}
+                {"matrix": [0, 0], "x": 0, "y": 0},
+
+                {"matrix": [0, 1], "x": 2, "y": 0},
+                {"matrix": [1, 1], "x": 3, "y": 0},
+                {"matrix": [0, 2], "x": 4, "y": 0},
+                {"matrix": [1, 2], "x": 5, "y": 0},
+
+                {"matrix": [0, 3], "x": 6.5, "y": 0},
+                {"matrix": [1, 3], "x": 7.5, "y": 0},
+                {"matrix": [0, 4], "x": 8.5, "y": 0},
+                {"matrix": [1, 4], "x": 9.5, "y": 0},
+
+                {"matrix": [0, 5], "x": 11, "y": 0},
+                {"matrix": [1, 5], "x": 12, "y": 0},
+                {"matrix": [0, 6], "x": 13, "y": 0},
+                {"matrix": [0, 7], "x": 14, "y": 0},
+
+                {"matrix": [1, 7], "x": 15.25, "y": 0},
+                {"matrix": [0, 8], "x": 16.25, "y": 0},
+                {"matrix": [1, 8], "x": 17.25, "y": 0},
+
+                {"matrix": [0, 9], "x": 18.5, "y": 0},
+                {"matrix": [1, 9], "x": 19.5, "y": 0},
+                {"matrix": [0, 10], "x": 20.5, "y": 0},
+                {"matrix": [1, 10], "x": 21.5, "y": 0},
+
+                {"matrix": [2, 0], "x": 0, "y": 1.25},
+                {"matrix": [3, 0], "x": 1, "y": 1.25},
+                {"matrix": [2, 1], "x": 2, "y": 1.25},
+                {"matrix": [3, 1], "x": 3, "y": 1.25},
+                {"matrix": [2, 2], "x": 4, "y": 1.25},
+                {"matrix": [3, 2], "x": 5, "y": 1.25},
+                {"matrix": [2, 3], "x": 6, "y": 1.25},
+                {"matrix": [3, 3], "x": 7, "y": 1.25},
+                {"matrix": [2, 4], "x": 8, "y": 1.25},
+                {"matrix": [3, 4], "x": 9, "y": 1.25},
+                {"matrix": [2, 5], "x": 10, "y": 1.25},
+                {"matrix": [3, 5], "x": 11, "y": 1.25},
+                {"matrix": [2, 6], "x": 12, "y": 1.25},
+                {"matrix": [2, 7], "x": 13, "y": 1.25, "w": 2},
+
+                {"matrix": [3, 7], "x": 15.25, "y": 1.25},
+                {"matrix": [2, 8], "x": 16.25, "y": 1.25},
+                {"matrix": [3, 8], "x": 17.25, "y": 1.25},
+
+                {"matrix": [2, 9], "x": 18.5, "y": 1.25},
+                {"matrix": [3, 9], "x": 19.5, "y": 1.25},
+                {"matrix": [2, 10], "x": 20.5, "y": 1.25},
+                {"matrix": [3, 10], "x": 21.5, "y": 1.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5},
+                {"matrix": [5, 0], "x": 1.5, "y": 2.25},
+                {"matrix": [4, 1], "x": 2.5, "y": 2.25},
+                {"matrix": [5, 1], "x": 3.5, "y": 2.25},
+                {"matrix": [4, 2], "x": 4.5, "y": 2.25},
+                {"matrix": [5, 2], "x": 5.5, "y": 2.25},
+                {"matrix": [4, 3], "x": 6.5, "y": 2.25},
+                {"matrix": [5, 3], "x": 7.5, "y": 2.25},
+                {"matrix": [4, 4], "x": 8.5, "y": 2.25},
+                {"matrix": [5, 4], "x": 9.5, "y": 2.25},
+                {"matrix": [4, 5], "x": 10.5, "y": 2.25},
+                {"matrix": [5, 5], "x": 11.5, "y": 2.25},
+                {"matrix": [4, 6], "x": 12.5, "y": 2.25},
+                {"matrix": [4, 7], "x": 13.5, "y": 2.25, "w": 1.5},
+
+                {"matrix": [5, 7], "x": 15.25, "y": 2.25},
+                {"matrix": [4, 8], "x": 16.25, "y": 2.25},
+                {"matrix": [5, 8], "x": 17.25, "y": 2.25},
+
+                {"matrix": [4, 9], "x": 18.5, "y": 2.25},
+                {"matrix": [5, 9], "x": 19.5, "y": 2.25},
+                {"matrix": [4, 10], "x": 20.5, "y": 2.25},
+                {"matrix": [5, 10], "x": 21.5, "y": 2.25},
+
+                {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75},
+                {"matrix": [7, 0], "x": 1.75, "y": 3.25},
+                {"matrix": [6, 1], "x": 2.75, "y": 3.25},
+                {"matrix": [7, 1], "x": 3.75, "y": 3.25},
+                {"matrix": [6, 2], "x": 4.75, "y": 3.25},
+                {"matrix": [7, 2], "x": 5.75, "y": 3.25},
+                {"matrix": [6, 3], "x": 6.75, "y": 3.25},
+                {"matrix": [7, 3], "x": 7.75, "y": 3.25},
+                {"matrix": [6, 4], "x": 8.75, "y": 3.25},
+                {"matrix": [7, 4], "x": 9.75, "y": 3.25},
+                {"matrix": [6, 5], "x": 10.75, "y": 3.25},
+                {"matrix": [7, 5], "x": 11.75, "y": 3.25},
+                {"matrix": [6, 7], "x": 12.75, "y": 3.25, "w": 2.25},
+
+                {"matrix": [6, 9], "x": 18.5, "y": 3.25},
+                {"matrix": [7, 9], "x": 19.5, "y": 3.25},
+                {"matrix": [6, 10], "x": 20.5, "y": 3.25},
+                {"matrix": [7, 10], "x": 21.5, "y": 3.25},
+
+                {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 2.25},
+                {"matrix": [8, 1], "x": 2.25, "y": 4.25},
+                {"matrix": [9, 1], "x": 3.25, "y": 4.25},
+                {"matrix": [8, 2], "x": 4.25, "y": 4.25},
+                {"matrix": [9, 2], "x": 5.25, "y": 4.25},
+                {"matrix": [8, 3], "x": 6.25, "y": 4.25},
+                {"matrix": [9, 3], "x": 7.25, "y": 4.25},
+                {"matrix": [8, 4], "x": 8.25, "y": 4.25},
+                {"matrix": [9, 4], "x": 9.25, "y": 4.25},
+                {"matrix": [8, 5], "x": 10.25, "y": 4.25},
+                {"matrix": [9, 5], "x": 11.25, "y": 4.25},
+                {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 2.75},
+
+                {"matrix": [8, 8], "x": 16.25, "y": 4.25},
+
+                {"matrix": [8, 9], "x": 18.5, "y": 4.25},
+                {"matrix": [9, 9], "x": 19.5, "y": 4.25},
+                {"matrix": [8, 10], "x": 20.5, "y": 4.25},
+                {"matrix": [9, 10], "x": 21.5, "y": 4.25},
+
+                {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25},
+                {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 3], "x": 3.75, "y": 5.25, "w": 6.25},
+                {"matrix": [10, 5], "x": 10, "y": 5.25, "w": 1.25},
+                {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 7], "x": 13.75, "y": 5.25, "w": 1.25},
+
+                {"matrix": [11, 7], "x": 15.25, "y": 5.25},
+                {"matrix": [10, 8], "x": 16.25, "y": 5.25},
+                {"matrix": [11, 8], "x": 17.25, "y": 5.25},
+
+                {"matrix": [10, 9], "x": 18.5, "y": 5.25},
+                {"matrix": [11, 9], "x": 19.5, "y": 5.25},
+                {"matrix": [10, 10], "x": 20.5, "y": 5.25},
+                {"matrix": [11, 10], "x": 21.5, "y": 5.25}
             ]
         },
-
         "LAYOUT_fullsize_iso": {
             "layout": [
-                {"label":"Esc", "x":0, "y":0},
-                {"label":"F1", "x":2, "y":0},
-                {"label":"F2", "x":3, "y":0},
-                {"label":"F3", "x":4, "y":0},
-                {"label":"F4", "x":5, "y":0},
-                {"label":"F5", "x":6.5, "y":0},
-                {"label":"F6", "x":7.5, "y":0},
-                {"label":"F7", "x":8.5, "y":0},
-                {"label":"F8", "x":9.5, "y":0},
-                {"label":"F9", "x":11, "y":0},
-                {"label":"F10", "x":12, "y":0},
-                {"label":"F11", "x":13, "y":0},
-                {"label":"F12", "x":14, "y":0},
-                {"label":"PrtSc", "x":15.25, "y":0},
-                {"label":"Scroll Lock", "x":16.25, "y":0},
-                {"label":"Pause", "x":17.25, "y":0},
-                {"x":18.5, "y":0},
-                {"x":19.5, "y":0},
-                {"x":20.5, "y":0},
-                {"x":21.5, "y":0},
-
-                {"label":"~", "x":0, "y":1.25},
-                {"label":"!", "x":1, "y":1.25},
-                {"label":"@", "x":2, "y":1.25},
-                {"label":"#", "x":3, "y":1.25},
-                {"label":"$", "x":4, "y":1.25},
-                {"label":"%", "x":5, "y":1.25},
-                {"label":"^", "x":6, "y":1.25},
-                {"label":"&", "x":7, "y":1.25},
-                {"label":"*", "x":8, "y":1.25},
-                {"label":"(", "x":9, "y":1.25},
-                {"label":")", "x":10, "y":1.25},
-                {"label":"_", "x":11, "y":1.25},
-                {"label":"+", "x":12, "y":1.25},
-                {"x":13, "y":1.25},
-                {"label":"Bksp", "x":14, "y":1.25},
-                {"label":"Insert", "x":15.25, "y":1.25},
-                {"label":"Home", "x":16.25, "y":1.25},
-                {"label":"PgUp", "x":17.25, "y":1.25},
-                {"label":"Num Lock", "x":18.5, "y":1.25},
-                {"label":"/", "x":19.5, "y":1.25},
-                {"label":"*", "x":20.5, "y":1.25},
-                {"label":"-", "x":21.5, "y":1.25},
-
-                {"label":"Tab", "x":0, "y":2.25, "w":1.5},
-                {"label":"Q", "x":1.5, "y":2.25},
-                {"label":"W", "x":2.5, "y":2.25},
-                {"label":"E", "x":3.5, "y":2.25},
-                {"label":"R", "x":4.5, "y":2.25},
-                {"label":"T", "x":5.5, "y":2.25},
-                {"label":"Y", "x":6.5, "y":2.25},
-                {"label":"U", "x":7.5, "y":2.25},
-                {"label":"I", "x":8.5, "y":2.25},
-                {"label":"O", "x":9.5, "y":2.25},
-                {"label":"P", "x":10.5, "y":2.25},
-                {"label":"{", "x":11.5, "y":2.25},
-                {"label":"}", "x":12.5, "y":2.25},
-                {"label":"Delete", "x":15.25, "y":2.25},
-                {"label":"End", "x":16.25, "y":2.25},
-                {"label":"PgDn", "x":17.25, "y":2.25},
-                {"label":"7", "x":18.5, "y":2.25},
-                {"label":"8", "x":19.5, "y":2.25},
-                {"label":"9", "x":20.5, "y":2.25},
-                {"label":"+", "x":21.5, "y":2.25},
-
-                {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
-                {"label":"A", "x":1.75, "y":3.25},
-                {"label":"S", "x":2.75, "y":3.25},
-                {"label":"D", "x":3.75, "y":3.25},
-                {"label":"F", "x":4.75, "y":3.25},
-                {"label":"G", "x":5.75, "y":3.25},
-                {"label":"H", "x":6.75, "y":3.25},
-                {"label":"J", "x":7.75, "y":3.25},
-                {"label":"K", "x":8.75, "y":3.25},
-                {"label":"L", "x":9.75, "y":3.25},
-                {"label":":", "x":10.75, "y":3.25},
-                {"label":"\"", "x":11.75, "y":3.25},
-                {"label":"#", "x":12.75, "y":3.25},
-                {"label":"Enter", "x": 13.75, "y":2.25, "w":1.25, "h":2},
-                {"label":"4", "x":18.5, "y":3.25},
-                {"label":"5", "x":19.5, "y":3.25},
-                {"label":"6", "x":20.5, "y":3.25},
-                {"label":"+", "x":21.5, "y":3.25},
-
-                {"label":"Shift", "x":0, "y":4.25, "w":1.25},
-                {"x":1.25, "y":4.25},
-                {"label":"Z", "x":2.25, "y":4.25},
-                {"label":"X", "x":3.25, "y":4.25},
-                {"label":"C", "x":4.25, "y":4.25},
-                {"label":"V", "x":5.25, "y":4.25},
-                {"label":"B", "x":6.25, "y":4.25},
-                {"label":"N", "x":7.25, "y":4.25},
-                {"label":"M", "x":8.25, "y":4.25},
-                {"label":"<", "x":9.25, "y":4.25},
-                {"label":">", "x":10.25, "y":4.25},
-                {"label":"?", "x":11.25, "y":4.25},
-                {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
-                {"x":14, "y":4.25},
-                {"label":"\u2191", "x":16.25, "y":4.25},
-                {"label":"1", "x":18.5, "y":4.25},
-                {"label":"2", "x":19.5, "y":4.25},
-                {"label":"3", "x":20.5, "y":4.25},
-                {"label":"Enter", "x":21.5, "y":4.25},
-
-                {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
-                {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
-                {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
-                {"x":3.75, "y":5.25, "w":6.25},
-                {"label":"Alt", "x":10, "y":5.25, "w":1.25},
-                {"label":"Win", "x":11.25, "y":5.25, "w":1.25},
-                {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
-                {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
-                {"label":"\u2190", "x":15.25, "y":5.25},
-                {"label":"\u2193", "x":16.25, "y":5.25},
-                {"label":"\u2192", "x":17.25, "y":5.25},
-                {"label":"0", "x":18.5, "y":5.25},
-                {"label":"0", "x":19.5, "y":5.25},
-                {"label":".", "x":20.5, "y":5.25},
-                {"label":"Enter", "x":21.5, "y":5.25}
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 2, "y": 0},
+                {"matrix": [1, 1], "x": 3, "y": 0},
+                {"matrix": [0, 2], "x": 4, "y": 0},
+                {"matrix": [1, 2], "x": 5, "y": 0},
+
+                {"matrix": [0, 3], "x": 6.5, "y": 0},
+                {"matrix": [1, 3], "x": 7.5, "y": 0},
+                {"matrix": [0, 4], "x": 8.5, "y": 0},
+                {"matrix": [1, 4], "x": 9.5, "y": 0},
+
+                {"matrix": [0, 5], "x": 11, "y": 0},
+                {"matrix": [1, 5], "x": 12, "y": 0},
+                {"matrix": [0, 6], "x": 13, "y": 0},
+                {"matrix": [0, 7], "x": 14, "y": 0},
+
+                {"matrix": [1, 7], "x": 15.25, "y": 0},
+                {"matrix": [0, 8], "x": 16.25, "y": 0},
+                {"matrix": [1, 8], "x": 17.25, "y": 0},
+
+                {"matrix": [0, 9], "x": 18.5, "y": 0},
+                {"matrix": [1, 9], "x": 19.5, "y": 0},
+                {"matrix": [0, 10], "x": 20.5, "y": 0},
+                {"matrix": [1, 10], "x": 21.5, "y": 0},
+
+                {"matrix": [2, 0], "x": 0, "y": 1.25},
+                {"matrix": [3, 0], "x": 1, "y": 1.25},
+                {"matrix": [2, 1], "x": 2, "y": 1.25},
+                {"matrix": [3, 1], "x": 3, "y": 1.25},
+                {"matrix": [2, 2], "x": 4, "y": 1.25},
+                {"matrix": [3, 2], "x": 5, "y": 1.25},
+                {"matrix": [2, 3], "x": 6, "y": 1.25},
+                {"matrix": [3, 3], "x": 7, "y": 1.25},
+                {"matrix": [2, 4], "x": 8, "y": 1.25},
+                {"matrix": [3, 4], "x": 9, "y": 1.25},
+                {"matrix": [2, 5], "x": 10, "y": 1.25},
+                {"matrix": [3, 5], "x": 11, "y": 1.25},
+                {"matrix": [2, 6], "x": 12, "y": 1.25},
+                {"matrix": [3, 6], "x": 13, "y": 1.25},
+                {"matrix": [2, 7], "x": 14, "y": 1.25},
+
+                {"matrix": [3, 7], "x": 15.25, "y": 1.25},
+                {"matrix": [2, 8], "x": 16.25, "y": 1.25},
+                {"matrix": [3, 8], "x": 17.25, "y": 1.25},
+
+                {"matrix": [2, 9], "x": 18.5, "y": 1.25},
+                {"matrix": [3, 9], "x": 19.5, "y": 1.25},
+                {"matrix": [2, 10], "x": 20.5, "y": 1.25},
+                {"matrix": [3, 10], "x": 21.5, "y": 1.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5},
+                {"matrix": [5, 0], "x": 1.5, "y": 2.25},
+                {"matrix": [4, 1], "x": 2.5, "y": 2.25},
+                {"matrix": [5, 1], "x": 3.5, "y": 2.25},
+                {"matrix": [4, 2], "x": 4.5, "y": 2.25},
+                {"matrix": [5, 2], "x": 5.5, "y": 2.25},
+                {"matrix": [4, 3], "x": 6.5, "y": 2.25},
+                {"matrix": [5, 3], "x": 7.5, "y": 2.25},
+                {"matrix": [4, 4], "x": 8.5, "y": 2.25},
+                {"matrix": [5, 4], "x": 9.5, "y": 2.25},
+                {"matrix": [4, 5], "x": 10.5, "y": 2.25},
+                {"matrix": [5, 5], "x": 11.5, "y": 2.25},
+                {"matrix": [4, 6], "x": 12.5, "y": 2.25},
+
+                {"matrix": [5, 7], "x": 15.25, "y": 2.25},
+                {"matrix": [4, 8], "x": 16.25, "y": 2.25},
+                {"matrix": [5, 8], "x": 17.25, "y": 2.25},
+
+                {"matrix": [4, 9], "x": 18.5, "y": 2.25},
+                {"matrix": [5, 9], "x": 19.5, "y": 2.25},
+                {"matrix": [4, 10], "x": 20.5, "y": 2.25},
+                {"matrix": [5, 10], "x": 21.5, "y": 2.25},
+
+                {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75},
+                {"matrix": [7, 0], "x": 1.75, "y": 3.25},
+                {"matrix": [6, 1], "x": 2.75, "y": 3.25},
+                {"matrix": [7, 1], "x": 3.75, "y": 3.25},
+                {"matrix": [6, 2], "x": 4.75, "y": 3.25},
+                {"matrix": [7, 2], "x": 5.75, "y": 3.25},
+                {"matrix": [6, 3], "x": 6.75, "y": 3.25},
+                {"matrix": [7, 3], "x": 7.75, "y": 3.25},
+                {"matrix": [6, 4], "x": 8.75, "y": 3.25},
+                {"matrix": [7, 4], "x": 9.75, "y": 3.25},
+                {"matrix": [6, 5], "x": 10.75, "y": 3.25},
+                {"matrix": [7, 5], "x": 11.75, "y": 3.25},
+                {"matrix": [6, 6], "x": 12.75, "y": 3.25},
+                {"matrix": [6, 7], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+                {"matrix": [6, 9], "x": 18.5, "y": 3.25},
+                {"matrix": [7, 9], "x": 19.5, "y": 3.25},
+                {"matrix": [6, 10], "x": 20.5, "y": 3.25},
+                {"matrix": [7, 10], "x": 21.5, "y": 3.25},
+
+                {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 1.25},
+                {"matrix": [9, 0], "x": 1.25, "y": 4.25},
+                {"matrix": [8, 1], "x": 2.25, "y": 4.25},
+                {"matrix": [9, 1], "x": 3.25, "y": 4.25},
+                {"matrix": [8, 2], "x": 4.25, "y": 4.25},
+                {"matrix": [9, 2], "x": 5.25, "y": 4.25},
+                {"matrix": [8, 3], "x": 6.25, "y": 4.25},
+                {"matrix": [9, 3], "x": 7.25, "y": 4.25},
+                {"matrix": [8, 4], "x": 8.25, "y": 4.25},
+                {"matrix": [9, 4], "x": 9.25, "y": 4.25},
+                {"matrix": [8, 5], "x": 10.25, "y": 4.25},
+                {"matrix": [9, 5], "x": 11.25, "y": 4.25},
+                {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 1.75},
+                {"matrix": [8, 7], "x": 14, "y": 4.25},
+
+                {"matrix": [8, 8], "x": 16.25, "y": 4.25},
+
+                {"matrix": [8, 9], "x": 18.5, "y": 4.25},
+                {"matrix": [9, 9], "x": 19.5, "y": 4.25},
+                {"matrix": [8, 10], "x": 20.5, "y": 4.25},
+                {"matrix": [9, 10], "x": 21.5, "y": 4.25},
+
+                {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25},
+                {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 3], "x": 3.75, "y": 5.25, "w": 6.25},
+                {"matrix": [10, 5], "x": 10, "y": 5.25, "w": 1.25},
+                {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25},
+                {"matrix": [10, 7], "x": 13.75, "y": 5.25, "w": 1.25},
+
+                {"matrix": [11, 7], "x": 15.25, "y": 5.25},
+                {"matrix": [10, 8], "x": 16.25, "y": 5.25},
+                {"matrix": [11, 8], "x": 17.25, "y": 5.25},
+
+                {"matrix": [10, 9], "x": 18.5, "y": 5.25},
+                {"matrix": [11, 9], "x": 19.5, "y": 5.25},
+                {"matrix": [10, 10], "x": 20.5, "y": 5.25},
+                {"matrix": [11, 10], "x": 21.5, "y": 5.25}
             ]
         }
     }