summaryrefslogtreecommitdiff
path: root/keyboards/kprepublic/cospad
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kprepublic/cospad')
-rw-r--r--keyboards/kprepublic/cospad/config.h19
-rw-r--r--keyboards/kprepublic/cospad/cospad.c16
-rw-r--r--keyboards/kprepublic/cospad/cospad.h202
-rw-r--r--keyboards/kprepublic/cospad/info.json335
4 files changed, 170 insertions, 402 deletions
diff --git a/keyboards/kprepublic/cospad/config.h b/keyboards/kprepublic/cospad/config.h
index b271703558..250391e5e0 100644
--- a/keyboards/kprepublic/cospad/config.h
+++ b/keyboards/kprepublic/cospad/config.h
@@ -17,25 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4, D5 }
-#define MATRIX_COL_PINS { F0, F1, E6, C7 }
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
#define RGB_DI_PIN F6
-#ifdef RGB_DI_PIN
#define RGBLED_NUM 4
// #define RGBLIGHT_HUE_STEP 8
// #define RGBLIGHT_SAT_STEP 8
@@ -52,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#endif
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/kprepublic/cospad/cospad.c b/keyboards/kprepublic/cospad/cospad.c
deleted file mode 100644
index e7772f2908..0000000000
--- a/keyboards/kprepublic/cospad/cospad.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2020
- *
- * 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/>.
- */
-#include "cospad.h"
diff --git a/keyboards/kprepublic/cospad/cospad.h b/keyboards/kprepublic/cospad/cospad.h
index 1e3b6c4276..4838c7f237 100644
--- a/keyboards/kprepublic/cospad/cospad.h
+++ b/keyboards/kprepublic/cospad/cospad.h
@@ -18,208 +18,6 @@
#include "quantum.h"
-#define ___ KC_NO
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-/* 6x4 ortholinear layout
- * ,-------------------.
- * | 00 | 01 | 02 | 03 |
- * |----|----|----|----|
- * | 10 | 11 | 12 | 13 |
- * |----|----|----|----|
- * | 20 | 21 | 22 | 23 |
- * |----|----|----|----|
- * | 30 | 31 | 32 | 33 |
- * |----|----|----|----|
- * | 40 | 41 | 42 | 43 |
- * |----|----|----|----|
- * | 50 | 51 | 52 | 53 |
- * `-------------------'
- */
-#define LAYOUT_ortho_6x4( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, k23, \
- k30, k31, k32, k33, \
- k40, k41, k42, k43, \
- k50, k51, k52, k53 \
-) \
-{ \
- { k00, k01, k02, k03 }, \
- { k10, k11, k12, k13 }, \
- { k20, k21, k22, k23 }, \
- { k30, k31, k32, k33 }, \
- { k40, k41, k42, k43 }, \
- { k50, k51, k52, k53 } \
-}
-
-/* 6x4 gamepad layout
- * ,-------------------.
- * | 00 | 01 | 02 | 03 |
- * |----|----|----|----|
- * | 10 | 11 | 12 | 13 |
- * |----|----|----|----|
- * | 20 | 21 | 22 | |
- * |----|----|----| 23 |
- * | 30 | 31 | 32 | |
- * |----|----|----|----|
- * | 40 | 41 | 42 | 43 |
- * |----|----|----|----|
- * | 50 | 51 | 52 | 53 |
- * `-------------------'
- */
-#define LAYOUT_gamepad_6x4( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, \
- k30, k31, k32, k23, \
- k40, k41, k42, k43, \
- k50, k51, k52, k53 \
-) \
-{ \
- { k00, k01, k02, k03 }, \
- { k10, k11, k12, k13 }, \
- { k20, k21, k22, k23 }, \
- { k30, k31, k32, ___ }, \
- { k40, k41, k42, k43 }, \
- { k50, k51, k52, k53 } \
-}
-
-/* 6x4 numpad layout
- * ,-------------------.
- * | 00 | 01 | 02 | 03 |
- * |----|----|----|----|
- * | 10 | 11 | 12 | 13 |
- * |----|----|----|----|
- * | 20 | 21 | 22 | |
- * |----|----|----| 23 |
- * | 30 | 31 | 32 | |
- * |----|----|----|----|
- * | 40 | 41 | 42 | |
- * |----|----|----| 43 |
- * | 50 | 52 | |
- * `-------------------'
- */
-#define LAYOUT_numpad_6x4( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, \
- k30, k31, k32, k23, \
- k40, k41, k42, \
- k50, k52, k43 \
-) \
-{ \
- { k00, k01, k02, k03 }, \
- { k10, k11, k12, k13 }, \
- { k20, k21, k22, k23 }, \
- { k30, k31, k32, ___ }, \
- { k40, k41, k42, k43 }, \
- { k50, ___, k52, ___ } \
-}
-
-/* 6x4 numpad layout with split Plus
- * ,-------------------.
- * | 00 | 01 | 02 | 03 |
- * |----|----|----|----|
- * | 10 | 11 | 12 | 13 |
- * |----|----|----|----|
- * | 20 | 21 | 22 | 23 |
- * |----|----|----|----|
- * | 30 | 31 | 32 | 33 |
- * |----|----|----|----|
- * | 40 | 41 | 42 | |
- * |----|----|----| 43 |
- * | 50 | 52 | |
- * `-------------------'
- */
-#define LAYOUT_numpad_6x4_split_plus( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, k23, \
- k30, k31, k32, k33, \
- k40, k41, k42, \
- k50, k52, k43 \
-) \
-{ \
- { k00, k01, k02, k03 }, \
- { k10, k11, k12, k13 }, \
- { k20, k21, k22, k23 }, \
- { k30, k31, k32, k33 }, \
- { k40, k41, k42, k43 }, \
- { k50, ___, k52, ___ } \
-}
-
-/* 6x4 numpad with split Plus and 0 keys
- * ,-------------------.
- * | 00 | 01 | 02 | 03 |
- * |----|----|----|----|
- * | 10 | 11 | 12 | 13 |
- * |----|----|----|----|
- * | 20 | 21 | 22 | 23 |
- * |----|----|----|----|
- * | 30 | 31 | 32 | 33 |
- * |----|----|----|----|
- * | 40 | 41 | 42 | |
- * |----|----|----| 43 |
- * | 50 | 51 | 52 | |
- * `-------------------'
- */
-#define LAYOUT_numpad_6x4_split_plus_zero( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, k23, \
- k30, k31, k32, k33, \
- k40, k41, k42, \
- k50, k51, k52, k43 \
-) \
-{ \
- { k00, k01, k02, k03 }, \
- { k10, k11, k12, k13 }, \
- { k20, k21, k22, k23 }, \
- { k30, k31, k32, k33 }, \
- { k40, k41, k42, k43 }, \
- { k50, k51, k52, ___ } \
-}
-
-/* 6x4 numpad with split 0 key
- * ,-------------------.
- * | 00 | 01 | 02 | 03 |
- * |----|----|----|----|
- * | 10 | 11 | 12 | 13 |
- * |----|----|----|----|
- * | 20 | 21 | 22 | |
- * |----|----|----| 23 |
- * | 30 | 31 | 32 | |
- * |----|----|----|----|
- * | 40 | 41 | 42 | |
- * |----|----|----| 43 |
- * | 50 | 51 | 52 | |
- * `-------------------'
- */
-#define LAYOUT_numpad_6x4_split_zero( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, \
- k30, k31, k32, k23, \
- k40, k41, k42, \
- k50, k51, k52, k43 \
-) \
-{ \
- { k00, k01, k02, k03 }, \
- { k10, k11, k12, k13 }, \
- { k20, k21, k22, k23 }, \
- { k30, k31, k32, ___ }, \
- { k40, k41, k42, k43 }, \
- { k50, k51, k52, ___ } \
-}
// Add backwards compatibility for existing keymaps
#define cospad_bl_led_on backlight_enable
#define cospad_bl_led_off backlight_disable
diff --git a/keyboards/kprepublic/cospad/info.json b/keyboards/kprepublic/cospad/info.json
index ccf1ed42b0..1e93359aac 100644
--- a/keyboards/kprepublic/cospad/info.json
+++ b/keyboards/kprepublic/cospad/info.json
@@ -8,6 +8,11 @@
"pid": "0xB1E5",
"device_version": "0.0.1"
},
+ "matrix_pins": {
+ "cols": ["F0", "F1", "E6", "C7"],
+ "rows": ["D0", "D1", "D2", "D3", "D4", "D5"]
+ },
+ "diode_direction": "COL2ROW",
"backlight": {
"pin": "F7",
"on_state": 0
@@ -22,191 +27,191 @@
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
-
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":3, "y":1},
-
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2},
- {"x":3, "y":2},
-
- {"x":0, "y":3},
- {"x":1, "y":3},
- {"x":2, "y":3},
- {"x":3, "y":3},
-
- {"x":0, "y":4},
- {"x":1, "y":4},
- {"x":2, "y":4},
- {"x":3, "y":4},
-
- {"x":0, "y":5},
- {"x":1, "y":5},
- {"x":2, "y":5},
- {"x":3, "y":5}
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+ {"matrix": [4, 3], "x": 3, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5},
+ {"matrix": [5, 1], "x": 1, "y": 5},
+ {"matrix": [5, 2], "x": 2, "y": 5},
+ {"matrix": [5, 3], "x": 3, "y": 5}
]
},
"LAYOUT_gamepad_6x4": {
"layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
-
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":3, "y":1},
-
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2},
-
- {"x":0, "y":3},
- {"x":1, "y":3},
- {"x":2, "y":3},
- {"x":3, "y":2, "h":2},
-
- {"x":0, "y":4},
- {"x":1, "y":4},
- {"x":2, "y":4},
- {"x":3, "y":4},
-
- {"x":0, "y":5},
- {"x":1, "y":5},
- {"x":2, "y":5},
- {"x":3, "y":5}
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [2, 3], "x": 3, "y": 2, "h": 2},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+ {"matrix": [4, 3], "x": 3, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5},
+ {"matrix": [5, 1], "x": 1, "y": 5},
+ {"matrix": [5, 2], "x": 2, "y": 5},
+ {"matrix": [5, 3], "x": 3, "y": 5}
]
},
"LAYOUT_numpad_6x4": {
"layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
-
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":3, "y":1},
-
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2},
-
- {"x":0, "y":3},
- {"x":1, "y":3},
- {"x":2, "y":3},
- {"x":3, "y":2, "h":2},
-
- {"x":0, "y":4},
- {"x":1, "y":4},
- {"x":2, "y":4},
-
- {"x":0, "y":5, "w":2},
- {"x":2, "y":5},
- {"x":3, "y":4, "h":2}
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [2, 3], "x": 3, "y": 2, "h": 2},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 2},
+ {"matrix": [5, 2], "x": 2, "y": 5},
+ {"matrix": [4, 3], "x": 3, "y": 4, "h": 2}
]
},
"LAYOUT_numpad_6x4_split_plus": {
"layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
-
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":3, "y":1},
-
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2},
- {"x":3, "y":2},
-
- {"x":0, "y":3},
- {"x":1, "y":3},
- {"x":2, "y":3},
- {"x":3, "y":3},
-
- {"x":0, "y":4},
- {"x":1, "y":4},
- {"x":2, "y":4},
-
- {"x":0, "y":5, "w":2},
- {"x":2, "y":5},
- {"x":3, "y":4, "h":2}
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 2},
+ {"matrix": [5, 2], "x": 2, "y": 5},
+ {"matrix": [4, 3], "x": 3, "y": 4, "h": 2}
]
},
"LAYOUT_numpad_6x4_split_plus_zero": {
"layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
-
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":3, "y":1},
-
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2},
- {"x":3, "y":2},
-
- {"x":0, "y":3},
- {"x":1, "y":3},
- {"x":2, "y":3},
- {"x":3, "y":3},
-
- {"x":0, "y":4},
- {"x":1, "y":4},
- {"x":2, "y":4},
-
- {"x":0, "y":5},
- {"x":1, "y":5},
- {"x":2, "y":5},
- {"x":3, "y":4, "h":2}
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5},
+ {"matrix": [5, 1], "x": 1, "y": 5},
+ {"matrix": [5, 2], "x": 2, "y": 5},
+ {"matrix": [4, 3], "x": 3, "y": 4, "h": 2}
]
},
"LAYOUT_numpad_6x4_split_zero": {
"layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
-
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":3, "y":1},
-
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2},
-
- {"x":0, "y":3},
- {"x":1, "y":3},
- {"x":2, "y":3},
- {"x":3, "y":2, "h":2},
-
- {"x":0, "y":4},
- {"x":1, "y":4},
- {"x":2, "y":4},
-
- {"x":0, "y":5},
- {"x":1, "y":5},
- {"x":2, "y":5},
- {"x":3, "y":4, "h":2}
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [2, 3], "x": 3, "y": 2, "h": 2},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5},
+ {"matrix": [5, 1], "x": 1, "y": 5},
+ {"matrix": [5, 2], "x": 2, "y": 5},
+ {"matrix": [4, 3], "x": 3, "y": 4, "h": 2}
]
}
}