diff options
Diffstat (limited to 'keyboards/amjkeyboard')
-rwxr-xr-x | keyboards/amjkeyboard/amj40/amj40.c | 17 | ||||
-rwxr-xr-x | keyboards/amjkeyboard/amj40/amj40.h | 109 | ||||
-rwxr-xr-x | keyboards/amjkeyboard/amj40/config.h | 9 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj40/info.json | 347 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj60/amj60.c | 17 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj60/config.h | 19 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj60/info.json | 5 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj66/amj66.c | 16 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj66/config.h | 8 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj66/info.json | 5 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj84/amj84.c | 4 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj84/config.h | 17 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj84/info.json | 5 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj96/amj96.c | 16 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amj96/config.h | 2 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amjpad/amjpad.c | 1 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amjpad/amjpad.h | 58 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amjpad/config.h | 9 | ||||
-rw-r--r-- | keyboards/amjkeyboard/amjpad/info.json | 66 |
19 files changed, 255 insertions, 475 deletions
diff --git a/keyboards/amjkeyboard/amj40/amj40.c b/keyboards/amjkeyboard/amj40/amj40.c deleted file mode 100755 index f0f3121c6a..0000000000 --- a/keyboards/amjkeyboard/amj40/amj40.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2017 Fabian Topfstedt - * - * 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 "amj40.h" diff --git a/keyboards/amjkeyboard/amj40/amj40.h b/keyboards/amjkeyboard/amj40/amj40.h deleted file mode 100755 index 14ea383811..0000000000 --- a/keyboards/amjkeyboard/amj40/amj40.h +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright 2017 Fabian Topfstedt - * Copyright 2021 James Young (@noroadsleft) - * - * 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 XXX KC_NO - -/* AMJ40 ver2.0 staggered layouts - * ,-----------------------------------------------. - * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0a |0b | - * |-----------------------------------------------| - * |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1b | - * |-----------------------------------------------| - * |20 |22 |23 |24 |25 |26 |27 |28 |29 |2a |2b | - * |-----------------------------------------------| - * |30 |31 |32 | 34 |35 |39 |3a |3b | Layout 1 Bottom Row - * `-----------------------------------------------' - * ,-----------------------------------------------. - * |30 |31 |32 | 35 |3a |3b | Layout 2 - * `-----------------------------------------------' - * ,-----------------------------------------------. - * |30 |31 |32 | 34 | 35 |39 |3a |3b | Layout 3 - * `-----------------------------------------------' - * ,-----------------------------------------------. - * |30 |31 |32 | 35 |3a |3b | Layout 4 - * `-----------------------------------------------' - */ - -// a.k.a. Layout 1 or Layout 3 (matrix is the same for both) -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1b, \ - k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k34, k35, k39, k3a, k3b \ -) { \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b}, \ - {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1b}, \ - {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b}, \ - {k30, k31, k32, XXX, k34, k35, XXX, XXX, XXX, k39, k3a, k3b} \ -} - -// a.k.a. Layout 2 or Layout 4 (matrix is the same for both) -#define LAYOUT_625u_space( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1b, \ - k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k35, k3a, k3b \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1b }, \ - { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ - { k30, k31, k32, XXX, XXX, k35, XXX, XXX, XXX, XXX, k3a, k3b } \ -} - -/* AMJ40 ver2.0 ortholinear layouts - * ,-----------------------------------------------. - * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0a |0b | - * |-----------------------------------------------| - * |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1a |1b | - * |-----------------------------------------------| - * |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |2a |2b | - * |-----------------------------------------------| - * |30 |31 |32 |33 |34 | 35 |38 |39 |3a |3b | 2.75u Spacebar - * `-----------------------------------------------' - * ,-----------------------------------------------. - * |30 |31 |32 | 35 |39 |3a |3b | 6u Spacebar - * `-----------------------------------------------' - */ - -// equivalent to LAYOUT_all -#define LAYOUT_ortho_275u_space( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k38, k39, k3a, k3b \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ - { k30, k31, k32, k33, k34, k35, XXX, XXX, k38, k39, k3a, k3b } \ -} - -#define LAYOUT_ortho_600u_space( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k35, k39, k3a, k3b \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ - { k30, k31, k32, XXX, XXX, k35, XXX, XXX, XXX, k39, k3a, k3b } \ -} diff --git a/keyboards/amjkeyboard/amj40/config.h b/keyboards/amjkeyboard/amj40/config.h index bdefff8c4f..f14e2fb185 100755 --- a/keyboards/amjkeyboard/amj40/config.h +++ b/keyboards/amjkeyboard/amj40/config.h @@ -17,15 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -// ROWS: Top to bottom, COLS: Left to right - -#define MATRIX_ROW_PINS { F4, F5, F6, F7} -#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7} - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/amjkeyboard/amj40/info.json b/keyboards/amjkeyboard/amj40/info.json index fe66c34b86..c92c50d7fd 100644 --- a/keyboards/amjkeyboard/amj40/info.json +++ b/keyboards/amjkeyboard/amj40/info.json @@ -8,6 +8,11 @@ "pid": "0x6072", "device_version": "0.0.2" }, + "matrix_pins": { + "cols": ["F1", "F0", "E6", "C7", "C6", "B0", "D4", "B1", "B7", "B5", "B4", "D7"], + "rows": ["F4", "F5", "F6", "F7"] + }, + "diode_direction": "COL2ROW", "backlight": { "pin": "B6", "levels": 4 @@ -21,201 +26,201 @@ "layouts": { "LAYOUT": { "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - {"x":4, "y":0}, - {"x":5, "y":0}, - {"x":6, "y":0}, - {"x":7, "y":0}, - {"x":8, "y":0}, - {"x":9, "y":0}, - {"x":10, "y":0}, - {"x":11, "y":0}, + {"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": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, - {"x":0, "y":1, "w":1.25}, - {"x":1.25, "y":1}, - {"x":2.25, "y":1}, - {"x":3.25, "y":1}, - {"x":4.25, "y":1}, - {"x":5.25, "y":1}, - {"x":6.25, "y":1}, - {"x":7.25, "y":1}, - {"x":8.25, "y":1}, - {"x":9.25, "y":1}, - {"x":10.25, "y":1, "w":1.75}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1}, + {"matrix": [1, 3], "x": 3.25, "y": 1}, + {"matrix": [1, 4], "x": 4.25, "y": 1}, + {"matrix": [1, 5], "x": 5.25, "y": 1}, + {"matrix": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 11], "x": 10.25, "y": 1, "w": 1.75}, - {"x":0, "y":2, "w":1.75}, - {"x":1.75, "y":2}, - {"x":2.75, "y":2}, - {"x":3.75, "y":2}, - {"x":4.75, "y":2}, - {"x":5.75, "y":2}, - {"x":6.75, "y":2}, - {"x":7.75, "y":2}, - {"x":8.75, "y":2}, - {"x":9.75, "y":2, "w":1.25}, - {"x":11, "y":2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2, "w": 1.25}, + {"matrix": [2, 11], "x": 11, "y": 2}, - {"x":0, "y":3, "w":1.25}, - {"x":1.25, "y":3}, - {"x":2.25, "y":3, "w":1.25}, - {"x":3.5, "y":3, "w":2.25}, - {"x":5.75, "y":3, "w":2.75}, - {"x":8.5, "y":3, "w":1.25}, - {"x":9.75, "y":3}, - {"x":10.75, "y":3, "w":1.25} + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [3, 4], "x": 3.5, "y": 3, "w": 2.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3, "w": 2.75}, + {"matrix": [3, 9], "x": 8.5, "y": 3, "w": 1.25}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3, "w": 1.25} ] }, "LAYOUT_625u_space": { "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - {"x":4, "y":0}, - {"x":5, "y":0}, - {"x":6, "y":0}, - {"x":7, "y":0}, - {"x":8, "y":0}, - {"x":9, "y":0}, - {"x":10, "y":0}, - {"x":11, "y":0}, + {"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": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, - {"x":0, "y":1, "w":1.25}, - {"x":1.25, "y":1}, - {"x":2.25, "y":1}, - {"x":3.25, "y":1}, - {"x":4.25, "y":1}, - {"x":5.25, "y":1}, - {"x":6.25, "y":1}, - {"x":7.25, "y":1}, - {"x":8.25, "y":1}, - {"x":9.25, "y":1}, - {"x":10.25, "y":1, "w":1.75}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1}, + {"matrix": [1, 3], "x": 3.25, "y": 1}, + {"matrix": [1, 4], "x": 4.25, "y": 1}, + {"matrix": [1, 5], "x": 5.25, "y": 1}, + {"matrix": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 11], "x": 10.25, "y": 1, "w": 1.75}, - {"x":0, "y":2, "w":1.75}, - {"x":1.75, "y":2}, - {"x":2.75, "y":2}, - {"x":3.75, "y":2}, - {"x":4.75, "y":2}, - {"x":5.75, "y":2}, - {"x":6.75, "y":2}, - {"x":7.75, "y":2}, - {"x":8.75, "y":2}, - {"x":9.75, "y":2, "w":1.25}, - {"x":11, "y":2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2, "w": 1.25}, + {"matrix": [2, 11], "x": 11, "y": 2}, - {"x":0, "y":3, "w":1.25}, - {"x":1.25, "y":3}, - {"x":2.25, "y":3}, - {"x":3.25, "y":3, "w":6.25}, - {"x":9.5, "y":3, "w":1.25}, - {"x":10.75, "y":3, "w":1.25} + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 5], "x": 3.25, "y": 3, "w": 6.25}, + {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 10.75, "y": 3, "w": 1.25} ] }, "LAYOUT_ortho_600u_space": { "layout": [ - {"label":"K00 (F4,F1)", "x":0, "y":0}, - {"label":"K01 (F4,F0)", "x":1, "y":0}, - {"label":"K02 (F4,E6)", "x":2, "y":0}, - {"label":"K03 (F4,C7)", "x":3, "y":0}, - {"label":"K04 (F4,C6)", "x":4, "y":0}, - {"label":"K05 (F4,B0)", "x":5, "y":0}, - {"label":"K06 (F4,D4)", "x":6, "y":0}, - {"label":"K07 (F4,B1)", "x":7, "y":0}, - {"label":"K08 (F4,B7)", "x":8, "y":0}, - {"label":"K09 (F4,B5)", "x":9, "y":0}, - {"label":"K0A (F4,B4)", "x":10, "y":0}, - {"label":"K0B (F4,D7)", "x":11, "y":0}, + {"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": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, - {"label":"K10 (F5,F1)", "x":0, "y":1}, - {"label":"K11 (F5,F0)", "x":1, "y":1}, - {"label":"K12 (F5,E6)", "x":2, "y":1}, - {"label":"K13 (F5,C7)", "x":3, "y":1}, - {"label":"K14 (F5,C6)", "x":4, "y":1}, - {"label":"K15 (F5,B0)", "x":5, "y":1}, - {"label":"K16 (F5,D4)", "x":6, "y":1}, - {"label":"K17 (F5,B1)", "x":7, "y":1}, - {"label":"K18 (F5,B7)", "x":8, "y":1}, - {"label":"K19 (F5,B5)", "x":9, "y":1}, - {"label":"K1A (F5,B4)", "x":10, "y":1}, - {"label":"K1B (F5,D7)", "x":11, "y":1}, + {"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": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "y": 1}, + {"matrix": [1, 10], "x": 10, "y": 1}, + {"matrix": [1, 11], "x": 11, "y": 1}, - {"label":"K20 (F6,F1)", "x":0, "y":2}, - {"label":"K21 (F6,F0)", "x":1, "y":2}, - {"label":"K22 (F6,E6)", "x":2, "y":2}, - {"label":"K23 (F6,C7)", "x":3, "y":2}, - {"label":"K24 (F6,C6)", "x":4, "y":2}, - {"label":"K25 (F6,B0)", "x":5, "y":2}, - {"label":"K26 (F6,D4)", "x":6, "y":2}, - {"label":"K27 (F6,B1)", "x":7, "y":2}, - {"label":"K28 (F6,B7)", "x":8, "y":2}, - {"label":"K29 (F6,B5)", "x":9, "y":2}, - {"label":"K2A (F6,B4)", "x":10, "y":2}, - {"label":"K2B (F6,D7)", "x":11, "y":2}, + {"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": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [2, 6], "x": 6, "y": 2}, + {"matrix": [2, 7], "x": 7, "y": 2}, + {"matrix": [2, 8], "x": 8, "y": 2}, + {"matrix": [2, 9], "x": 9, "y": 2}, + {"matrix": [2, 10], "x": 10, "y": 2}, + {"matrix": [2, 11], "x": 11, "y": 2}, - {"label":"K30 (F7,F1)", "x":0, "y":3}, - {"label":"K31 (F7,F0)", "x":1, "y":3}, - {"label":"K32 (F7,E6)", "x":2, "y":3}, - {"label":"K35 (F7,B0)", "x":3, "y":3, "w":6}, - {"label":"K39 (F7,B5)", "x":9, "y":3}, - {"label":"K3A (F7,B4)", "x":10, "y":3}, - {"label":"K3B (F7,D7)", "x":11, "y":3} + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 5], "x": 3, "y": 3, "w": 6}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3} ] }, "LAYOUT_ortho_275u_space": { "layout": [ - {"label":"K00 (F4,F1)", "x":0, "y":0}, - {"label":"K01 (F4,F0)", "x":1, "y":0}, - {"label":"K02 (F4,E6)", "x":2, "y":0}, - {"label":"K03 (F4,C7)", "x":3, "y":0}, - {"label":"K04 (F4,C6)", "x":4, "y":0}, - {"label":"K05 (F4,B0)", "x":5, "y":0}, - {"label":"K06 (F4,D4)", "x":6, "y":0}, - {"label":"K07 (F4,B1)", "x":7, "y":0}, - {"label":"K08 (F4,B7)", "x":8, "y":0}, - {"label":"K09 (F4,B5)", "x":9, "y":0}, - {"label":"K0A (F4,B4)", "x":10, "y":0}, - {"label":"K0B (F4,D7)", "x":11, "y":0}, + {"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": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, - {"label":"K10 (F5,F1)", "x":0, "y":1}, - {"label":"K11 (F5,F0)", "x":1, "y":1}, - {"label":"K12 (F5,E6)", "x":2, "y":1}, - {"label":"K13 (F5,C7)", "x":3, "y":1}, - {"label":"K14 (F5,C6)", "x":4, "y":1}, - {"label":"K15 (F5,B0)", "x":5, "y":1}, - {"label":"K16 (F5,D4)", "x":6, "y":1}, - {"label":"K17 (F5,B1)", "x":7, "y":1}, - {"label":"K18 (F5,B7)", "x":8, "y":1}, - {"label":"K19 (F5,B5)", "x":9, "y":1}, - {"label":"K1A (F5,B4)", "x":10, "y":1}, - {"label":"K1B (F5,D7)", "x":11, "y":1}, + {"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": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "y": 1}, + {"matrix": [1, 10], "x": 10, "y": 1}, + {"matrix": [1, 11], "x": 11, "y": 1}, - {"label":"K20 (F6,F1)", "x":0, "y":2}, - {"label":"K21 (F6,F0)", "x":1, "y":2}, - {"label":"K22 (F6,E6)", "x":2, "y":2}, - {"label":"K23 (F6,C7)", "x":3, "y":2}, - {"label":"K24 (F6,C6)", "x":4, "y":2}, - {"label":"K25 (F6,B0)", "x":5, "y":2}, - {"label":"K26 (F6,D4)", "x":6, "y":2}, - {"label":"K27 (F6,B1)", "x":7, "y":2}, - {"label":"K28 (F6,B7)", "x":8, "y":2}, - {"label":"K29 (F6,B5)", "x":9, "y":2}, - {"label":"K2A (F6,B4)", "x":10, "y":2}, - {"label":"K2B (F6,D7)", "x":11, "y":2}, + {"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": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [2, 6], "x": 6, "y": 2}, + {"matrix": [2, 7], "x": 7, "y": 2}, + {"matrix": [2, 8], "x": 8, "y": 2}, + {"matrix": [2, 9], "x": 9, "y": 2}, + {"matrix": [2, 10], "x": 10, "y": 2}, + {"matrix": [2, 11], "x": 11, "y": 2}, - {"label":"K30 (F7,F1)", "x":0, "y":3}, - {"label":"K31 (F7,F0)", "x":1, "y":3}, - {"label":"K32 (F7,E6)", "x":2, "y":3}, - {"label":"K33 (F7,C7)", "x":3, "y":3}, - {"label":"K34 (F7,C6)", "x":4, "y":3}, - {"label":"K35 (F7,B0)", "x":5, "y":3, "w":2.75}, - {"label":"K38 (F7,B7)", "x":7.75, "y":3, "w":1.25}, - {"label":"K39 (F7,B5)", "x":9, "y":3}, - {"label":"K3A (F7,B4)", "x":10, "y":3}, - {"label":"K3B (F7,D7)", "x":11, "y":3} + {"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": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3, "w": 2.75}, + {"matrix": [3, 8], "x": 7.75, "y": 3, "w": 1.25}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3} ] } } diff --git a/keyboards/amjkeyboard/amj60/amj60.c b/keyboards/amjkeyboard/amj60/amj60.c deleted file mode 100644 index af0539a679..0000000000 --- a/keyboards/amjkeyboard/amj60/amj60.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2016 Toni (@toneman77) - * - * 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 "amj60.h" diff --git a/keyboards/amjkeyboard/amj60/config.h b/keyboards/amjkeyboard/amj60/config.h index 0a38f73032..0d56015351 100644 --- a/keyboards/amjkeyboard/amj60/config.h +++ b/keyboards/amjkeyboard/amj60/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 { F7, F6, F5, F4, D5 } -#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7, D6, B3 } - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - #define RGB_DI_PIN E2 -#ifdef RGB_DI_PIN # define RGBLED_NUM 8 # define RGBLIGHT_HUE_STEP 10 # define RGBLIGHT_SAT_STEP 17 @@ -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/amjkeyboard/amj60/info.json b/keyboards/amjkeyboard/amj60/info.json index d624894691..2f322c3bb6 100644 --- a/keyboards/amjkeyboard/amj60/info.json +++ b/keyboards/amjkeyboard/amj60/info.json @@ -8,6 +8,11 @@ "pid": "0x6066", "device_version": "0.0.1" }, + "matrix_pins": { + "cols": ["F1", "F0", "E6", "C7", "C6", "B0", "D4", "B1", "B7", "B5", "B4", "D7", "D6", "B3"], + "rows": ["F7", "F6", "F5", "F4", "D5"] + }, + "diode_direction": "COL2ROW", "backlight": { "pin": "B6", "levels": 4, diff --git a/keyboards/amjkeyboard/amj66/amj66.c b/keyboards/amjkeyboard/amj66/amj66.c deleted file mode 100644 index 6d77e43a0a..0000000000 --- a/keyboards/amjkeyboard/amj66/amj66.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Copyright 2018 Alex Peters - * - * 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 "amj66.h" diff --git a/keyboards/amjkeyboard/amj66/config.h b/keyboards/amjkeyboard/amj66/config.h index 7271119876..b48aca7770 100644 --- a/keyboards/amjkeyboard/amj66/config.h +++ b/keyboards/amjkeyboard/amj66/config.h @@ -17,14 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Keyboard Matrix Assignments */ -#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1 } -#define MATRIX_COL_PINS { F0, B3, B2, B1, B0, B7, D0, D1, D2, D3, D5, D6, D7, B4, B5, B6 } - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/amjkeyboard/amj66/info.json b/keyboards/amjkeyboard/amj66/info.json index ed41d4d58c..277d2ed790 100644 --- a/keyboards/amjkeyboard/amj66/info.json +++ b/keyboards/amjkeyboard/amj66/info.json @@ -8,6 +8,11 @@ "pid": "0xBD66", "device_version": "0.0.1" }, + "matrix_pins": { + "cols": ["F0", "B3", "B2", "B1", "B0", "B7", "D0", "D1", "D2", "D3", "D5", "D6", "D7", "B4", "B5", "B6"], + "rows": ["F7", "F6", "F5", "F4", "F1"] + }, + "diode_direction": "COL2ROW", "backlight": { "pin": "D4", "breathing": true diff --git a/keyboards/amjkeyboard/amj84/amj84.c b/keyboards/amjkeyboard/amj84/amj84.c deleted file mode 100644 index 49116c48c3..0000000000 --- a/keyboards/amjkeyboard/amj84/amj84.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2022 peepeetee (@peepeetee) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "amj84.h" diff --git a/keyboards/amjkeyboard/amj84/config.h b/keyboards/amjkeyboard/amj84/config.h index 7aef945e5b..da28e92400 100644 --- a/keyboards/amjkeyboard/amj84/config.h +++ b/keyboards/amjkeyboard/amj84/config.h @@ -3,23 +3,6 @@ #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, F7, F6, F5, F4, D5 } -#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7, D6, B3, D1 } - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/amjkeyboard/amj84/info.json b/keyboards/amjkeyboard/amj84/info.json index 20f8fd99b1..aeb6194445 100644 --- a/keyboards/amjkeyboard/amj84/info.json +++ b/keyboards/amjkeyboard/amj84/info.json @@ -8,6 +8,11 @@ "pid": "0x6068", "device_version": "0.0.1" }, + "matrix_pins": { + "cols": ["F1", "F0", "E6", "C7", "C6", "B0", "D4", "B1", "B7", "B5", "B4", "D7", "D6", "B3", "D1"], + "rows": ["D0", "F7", "F6", "F5", "F4", "D5"] + }, + "diode_direction": "COL2ROW", "backlight": { "pin": "B6", "breathing": true diff --git a/keyboards/amjkeyboard/amj96/amj96.c b/keyboards/amjkeyboard/amj96/amj96.c deleted file mode 100644 index 65fca6f12a..0000000000 --- a/keyboards/amjkeyboard/amj96/amj96.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Copyright 2017 MechMerlin - - * 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 "amj96.h" diff --git a/keyboards/amjkeyboard/amj96/config.h b/keyboards/amjkeyboard/amj96/config.h index 8511574b04..483ecc6888 100644 --- a/keyboards/amjkeyboard/amj96/config.h +++ b/keyboards/amjkeyboard/amj96/config.h @@ -37,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN D3 -#ifdef RGB_DI_PIN # define RGBLED_NUM 16 //# define RGBLIGHT_HUE_STEP 8 //# define RGBLIGHT_SAT_STEP 8 @@ -54,7 +53,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/amjkeyboard/amjpad/amjpad.c b/keyboards/amjkeyboard/amjpad/amjpad.c deleted file mode 100644 index 83cdedf688..0000000000 --- a/keyboards/amjkeyboard/amjpad/amjpad.c +++ /dev/null @@ -1 +0,0 @@ -#include "amjpad.h" diff --git a/keyboards/amjkeyboard/amjpad/amjpad.h b/keyboards/amjkeyboard/amjpad/amjpad.h deleted file mode 100644 index 976a7ab041..0000000000 --- a/keyboards/amjkeyboard/amjpad/amjpad.h +++ /dev/null @@ -1,58 +0,0 @@ -#pragma once - -#include "quantum.h" - -// readability -#define XXX KC_NO - -/* AMJPAD matrix layout - * ,-------------------. - * | 00 | 01 | 02 | 03 | - * |----|----|----|----| - * | 10 | 11 | 12 | 13 | - * |----|----|----|----| - * | 20 | 21 | 22 | | - * |----|----|----| 23 | - * | 30 | 31 | 32 | | - * |----|----|----|----| - * | 40 | 41 | 42 | | - * |----|----|----| 43 | - * | 50 | 52 | | - * `-------------------' - */ -// The first section contains all of the arguments -// The second converts the arguments into a two-dimensional array -#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, XXX }, \ - { k40, k41, k42, k43 }, \ - { k50, XXX, k52, XXX } \ -} - -#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 } \ -} - -void matrix_init_user(void); -void matrix_scan_user(void); diff --git a/keyboards/amjkeyboard/amjpad/config.h b/keyboards/amjkeyboard/amjpad/config.h index 63e6e899fa..02b595d6f7 100644 --- a/keyboards/amjkeyboard/amjpad/config.h +++ b/keyboards/amjkeyboard/amjpad/config.h @@ -17,15 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -// ROWS: Top to bottom, COLS: Left to right - -#define MATRIX_ROW_PINS { F7, F6, F5, F4, D5, D0 } -#define MATRIX_COL_PINS { F1, F0, E6, C7 } - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/amjkeyboard/amjpad/info.json b/keyboards/amjkeyboard/amjpad/info.json index 7a22d14639..05292cc53d 100644 --- a/keyboards/amjkeyboard/amjpad/info.json +++ b/keyboards/amjkeyboard/amjpad/info.json @@ -8,6 +8,11 @@ "pid": "0x6060", "device_version": "0.0.3" }, + "matrix_pins": { + "cols": ["F1", "F0", "E6", "C7"], + "rows": ["F7", "F6", "F5", "F4", "D5", "D0"] + }, + "diode_direction": "COL2ROW", "backlight": { "pin": "B6", "levels": 4 @@ -21,10 +26,67 @@ "community_layouts": ["numpad_6x4", "ortho_6x4"], "layouts": { "LAYOUT_numpad_6x4": { - "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k23", "x":3, "y":2, "h":2}, {"label":"k40", "x":0, "y":4}, {"label":"k41", "x":1, "y":4}, {"label":"k42", "x":2, "y":4}, {"label":"k50", "x":0, "y":5, "w":2}, {"label":"k52", "x":2, "y":5}, {"label":"k43", "x":3, "y":4, "h":2}] + "layout": [ + {"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_ortho_6x4": { - "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k23", "x":3, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k33", "x":3, "y":3}, {"label":"k40", "x":0, "y":4}, {"label":"k41", "x":1, "y":4}, {"label":"k42", "x":2, "y":4}, {"label":"k43", "x":3, "y":4}, {"label":"k50", "x":0, "y":5}, {"label":"k51", "x":1, "y":5}, {"label":"k52", "x":2, "y":5}, {"label":"k53", "x":3, "y":5}] + "layout": [ + {"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} + ] } } } |