diff options
author | Ryan <fauxpark@gmail.com> | 2023-05-02 10:10:55 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-02 10:10:55 +1000 |
commit | 4b1ec081d4acb72cd32911605ea985bd0ef6cb2e (patch) | |
tree | 765c478930e583e33802d6d2c1944f3164419f5e /keyboards | |
parent | 50a8287f34d6635c40bbefc62a0f857235c2e0bf (diff) |
LFK87 refactor (#20635)
Diffstat (limited to 'keyboards')
-rw-r--r-- | keyboards/lfkeyboards/lfk87/config.h | 20 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/info.json | 10 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk | 19 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk | 20 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk | 18 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk | 19 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/lfk87.h | 77 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/post_rules.mk | 6 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/reva/info.json | 223 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/reva/rules.mk | 0 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/revc/info.json | 223 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/revc/rules.mk | 0 | ||||
-rw-r--r-- | keyboards/lfkeyboards/lfk87/rules.mk | 18 |
13 files changed, 453 insertions, 200 deletions
diff --git a/keyboards/lfkeyboards/lfk87/config.h b/keyboards/lfkeyboards/lfk87/config.h index 7d583ed3ea..3a8f16e0fd 100644 --- a/keyboards/lfkeyboards/lfk87/config.h +++ b/keyboards/lfkeyboards/lfk87/config.h @@ -17,26 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -#define DIODE_DIRECTION COL2ROW - -#ifdef LFK_TKL_REV_A -/* RevB Matrix config */ - #define MATRIX_ROWS 6 - #define MATRIX_COLS 17 - #define MATRIX_ROW_PINS {D2, D3, D4, D5, D6, D7 } - #define MATRIX_COL_PINS {A0, A1, A2, A3, A4, A5, A6, A7, E6, E7,\ - F0, F1, F2, F3, C0, C1, C2 } - #define RGBLED_NUM 25 // Number of LEDs -#else -/* RevC/D Matrix config */ - #define MATRIX_ROWS 7 - #define MATRIX_COLS 16 - #define MATRIX_ROW_PINS {F2, D7, D6, D5, D4, D3, F3} - #define MATRIX_COL_PINS {A0, A1, A2, A3, A4, A5, A6, A7, C7, C1, C0, E1, E0, C2, C3, C4} - #define RGBLED_NUM 24 // Number of LEDs -#endif - #define AUDIO_VOICES #define AUDIO_PIN C6 diff --git a/keyboards/lfkeyboards/lfk87/info.json b/keyboards/lfkeyboards/lfk87/info.json index be984e0eea..d76ee0c693 100644 --- a/keyboards/lfkeyboards/lfk87/info.json +++ b/keyboards/lfkeyboards/lfk87/info.json @@ -15,13 +15,5 @@ "ws2812": { "pin": "F4" }, - "community_layouts": ["tkl_ansi", "tkl_iso"], - "layouts": { - "LAYOUT_tkl_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}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"label":"Alt", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}] - }, - "LAYOUT_tkl_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}, {"label":"\u00ac", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"\"", "x":2, "y":1.5}, {"label":"\u00a3", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"@", "x":11.75, "y":3.5}, {"label":"~", "x":12.75, "y":3.5}, {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"label":"AltGr", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}] - } - } + "community_layouts": ["tkl_ansi", "tkl_iso"] } diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk index 567232cb76..ab5bc0930d 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk +++ b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk @@ -16,22 +16,3 @@ TAP_DANCE_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms - - - - -# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired -# # -# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight -# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB -# # -# # Set to B, C or D -# LFK_REV = D - -# ifeq ($(LFK_REV), B) -# MCU = atmega32u4 -# else -# MCU = at90usb1286 -# endif -# OPT_DEFS += -DLFK_REV_$(LFK_REV) -# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\" diff --git a/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk index 99a3287521..9babefffc8 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk +++ b/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk @@ -12,23 +12,3 @@ SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms - - - - -# Override the LFK87 hardware version. -# -# A - Green PCB. at90usb1286 Only 3 exist -# B - We don't talk about RevB -# C-D - Black PCB. at90usb646 First public release -# -# LFK_REV = C - -# ifeq ($(LFK_REV), A) -# MCU = at90usb1286 -# OPT_DEFS += -DBOOTLOADER_SIZE=8192 -# else -# MCU = at90usb646 -# OPT_DEFS += -DBOOTLOADER_SIZE=4096 -# endif -# OPT_DEFS += -DLFK_TKL_REV_$(LFK_REV) diff --git a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk index fc0be15230..9a6b4ff65a 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk +++ b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk @@ -15,21 +15,3 @@ SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms - - -# Override the LFK87 hardware version. -# -# A - Green PCB. at90usb1286 Only 3 exist -# B - We don't talk about RevB -# C-D - Black PCB. at90usb646 First public release -# -# LFK_REV = C - -# ifeq ($(LFK_REV), A) -# MCU = at90usb1286 -# OPT_DEFS += -DBOOTLOADER_SIZE=8192 -# else -# MCU = at90usb646 -# OPT_DEFS += -DBOOTLOADER_SIZE=4096 -# endif -# OPT_DEFS += -DLFK_TKL_REV_$(LFK_REV) diff --git a/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk index 4325b35d11..0e7008aa20 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk +++ b/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk @@ -12,22 +12,3 @@ SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms - - - - -# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired -# # -# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight -# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB -# # -# # Set to B, C or D -# LFK_REV = D - -# ifeq ($(LFK_REV), B) -# MCU = atmega32u4 -# else -# MCU = at90usb1286 -# endif -# OPT_DEFS += -DLFK_REV_$(LFK_REV) -# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\" diff --git a/keyboards/lfkeyboards/lfk87/lfk87.h b/keyboards/lfkeyboards/lfk87/lfk87.h index 5bd353a89e..d34bbfd688 100644 --- a/keyboards/lfkeyboards/lfk87/lfk87.h +++ b/keyboards/lfkeyboards/lfk87/lfk87.h @@ -1,5 +1,6 @@ #pragma once +#include QMK_KEYBOARD_H #include "quantum.h" #include "matrix.h" #include <avr/sfr_defs.h> @@ -25,79 +26,3 @@ extern const Layer_Info layer_info[]; void reset_keyboard_kb(void); void click(uint16_t freq, uint16_t duration); - -#define ___ KC_NO - -#ifdef LFK_TKL_REV_A -# ifndef LAYOUT_tkl_ansi -# define LAYOUT_tkl_ansi( \ - k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \ - k40, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4F, \ - k50, k51, k52, k56, k5A, k5B, k5C, k5D, k5E, k5F, k5G \ -) { \ - { k00, ___, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___, ___, ___ }, \ - { k40, ___, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, ___, ___, k4F, ___ }, \ - { k50, k51, k52, ___, ___, ___, k56, ___, ___, ___, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \ -} - #endif // !LAYOUT_tkl_ansi -# ifndef LAYOUT_tkl_iso -# define LAYOUT_tkl_iso( \ - k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, k2F, k2G, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k2D, \ - k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4F, \ - k50, k51, k52, k56, k5A, k5B, k5C, k5D, k5E, k5F, k5G \ -) { \ - { k00, ___, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___, ___, ___ }, \ - { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, ___, ___, k4F, ___ }, \ - { k50, k51, k52, ___, ___, ___, k56, ___, ___, ___, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \ -} -# endif // !LAYOUT_tkl_iso -#else // RevC+ keymaps -# ifndef LAYOUT_tkl_ansi -# define LAYOUT_tkl_ansi( \ - k60, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0D, k0E, k0F, \ - k61, k62, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, k1E, k1F, \ - k63, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, \ - k50, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \ - k51, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4E, \ - k52, k53, k54, k56, k59, k5A, k5B, k5C, k5D, k5E, k5F \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, ___, k0D, k0E, k0F }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, ___, k1D, k1E, k1F }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___, ___ }, \ - { ___, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, ___, ___, k4E, ___ }, \ - { k50, k51, k52, k53, k54, ___, k56, ___, ___, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \ - { k60, k61, k62, k63, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \ -} -# endif // !LAYOUT_tkl_ansi -# ifndef LAYOUT_tkl_iso -# define LAYOUT_tkl_iso( \ - k60, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0D, k0E, k0F, \ - k61, k62, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, k1E, k1F, \ - k63, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2E, k2F, \ - k50, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k2C, \ - k51, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4E, \ - k52, k53, k54, k56, k59, k5A, k5B, k5C, k5D, k5E, k5F \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, ___, k0D, k0E, k0F }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, ___, k1D, k1E, k1F }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___, ___ }, \ - { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, ___, ___, k4E, ___ }, \ - { k50, k51, k52, k53, k54, ___, k56, ___, ___, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \ - { k60, k61, k62, k63, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \ -} -# endif // !LAYOUT_tkl_iso -#endif //Rev diff --git a/keyboards/lfkeyboards/lfk87/post_rules.mk b/keyboards/lfkeyboards/lfk87/post_rules.mk index 563462dd99..044d9754f1 100644 --- a/keyboards/lfkeyboards/lfk87/post_rules.mk +++ b/keyboards/lfkeyboards/lfk87/post_rules.mk @@ -1,9 +1,3 @@ -ifeq ($(LFK_REV), A) - MCU = at90usb1286 -else - MCU = at90usb646 -endif - ifeq ($(strip $(ISSI_ENABLE)), yes) OPT_DEFS += -DISSI_ENABLE endif diff --git a/keyboards/lfkeyboards/lfk87/reva/info.json b/keyboards/lfkeyboards/lfk87/reva/info.json new file mode 100644 index 0000000000..457f3602ab --- /dev/null +++ b/keyboards/lfkeyboards/lfk87/reva/info.json @@ -0,0 +1,223 @@ +{ + "processor": "at90usb1286", + "bootloader": "atmel-dfu", + "matrix_pins": { + "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "E6", "E7", "F0", "F1", "F2", "F3", "C0", "C1", "C2"], + "rows": ["D2", "D3", "D4", "D5", "D6", "D7"] + }, + "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 25 + }, + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.5}, + {"matrix": [1, 15], "x": 16.25, "y": 1.5}, + {"matrix": [1, 16], "x": 17.25, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.5}, + {"matrix": [2, 15], "x": 16.25, "y": 2.5}, + {"matrix": [2, 16], "x": 17.25, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.5}, + {"matrix": [5, 15], "x": 16.25, "y": 5.5}, + {"matrix": [5, 16], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.5}, + {"matrix": [1, 15], "x": 16.25, "y": 1.5}, + {"matrix": [1, 16], "x": 17.25, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.5}, + {"matrix": [2, 15], "x": 16.25, "y": 2.5}, + {"matrix": [2, 16], "x": 17.25, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [2, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.5}, + {"matrix": [5, 15], "x": 16.25, "y": 5.5}, + {"matrix": [5, 16], "x": 17.25, "y": 5.5} + ] + } + } +} diff --git a/keyboards/lfkeyboards/lfk87/reva/rules.mk b/keyboards/lfkeyboards/lfk87/reva/rules.mk new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/keyboards/lfkeyboards/lfk87/reva/rules.mk diff --git a/keyboards/lfkeyboards/lfk87/revc/info.json b/keyboards/lfkeyboards/lfk87/revc/info.json new file mode 100644 index 0000000000..7d18e71197 --- /dev/null +++ b/keyboards/lfkeyboards/lfk87/revc/info.json @@ -0,0 +1,223 @@ +{ + "processor": "at90usb646", + "bootloader": "atmel-dfu", + "matrix_pins": { + "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C7", "C1", "C0", "E1", "E0", "C2", "C3", "C4"], + "rows": ["F2", "D7", "D6", "D5", "D4", "D3", "F3"] + }, + "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 24 + }, + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix": [6, 0], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [0, 3], "x": 5, "y": 0}, + + {"matrix": [0, 4], "x": 6.5, "y": 0}, + {"matrix": [0, 5], "x": 7.5, "y": 0}, + {"matrix": [0, 6], "x": 8.5, "y": 0}, + {"matrix": [0, 7], "x": 9.5, "y": 0}, + + {"matrix": [0, 8], "x": 11, "y": 0}, + {"matrix": [0, 9], "x": 12, "y": 0}, + {"matrix": [0, 10], "x": 13, "y": 0}, + {"matrix": [0, 11], "x": 14, "y": 0}, + + {"matrix": [0, 13], "x": 15.25, "y": 0}, + {"matrix": [0, 14], "x": 16.25, "y": 0}, + {"matrix": [0, 15], "x": 17.25, "y": 0}, + + {"matrix": [6, 1], "x": 0, "y": 1.5}, + {"matrix": [6, 2], "x": 1, "y": 1.5}, + {"matrix": [1, 0], "x": 2, "y": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1.5}, + {"matrix": [1, 2], "x": 4, "y": 1.5}, + {"matrix": [1, 3], "x": 5, "y": 1.5}, + {"matrix": [1, 4], "x": 6, "y": 1.5}, + {"matrix": [1, 5], "x": 7, "y": 1.5}, + {"matrix": [1, 6], "x": 8, "y": 1.5}, + {"matrix": [1, 7], "x": 9, "y": 1.5}, + {"matrix": [1, 8], "x": 10, "y": 1.5}, + {"matrix": [1, 9], "x": 11, "y": 1.5}, + {"matrix": [1, 10], "x": 12, "y": 1.5}, + {"matrix": [1, 11], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [1, 13], "x": 15.25, "y": 1.5}, + {"matrix": [1, 14], "x": 16.25, "y": 1.5}, + {"matrix": [1, 15], "x": 17.25, "y": 1.5}, + + {"matrix": [6, 3], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 0], "x": 1.5, "y": 2.5}, + {"matrix": [2, 1], "x": 2.5, "y": 2.5}, + {"matrix": [2, 2], "x": 3.5, "y": 2.5}, + {"matrix": [2, 3], "x": 4.5, "y": 2.5}, + {"matrix": [2, 4], "x": 5.5, "y": 2.5}, + {"matrix": [2, 5], "x": 6.5, "y": 2.5}, + {"matrix": [2, 6], "x": 7.5, "y": 2.5}, + {"matrix": [2, 7], "x": 8.5, "y": 2.5}, + {"matrix": [2, 8], "x": 9.5, "y": 2.5}, + {"matrix": [2, 9], "x": 10.5, "y": 2.5}, + {"matrix": [2, 10], "x": 11.5, "y": 2.5}, + {"matrix": [2, 11], "x": 12.5, "y": 2.5}, + {"matrix": [2, 12], "x": 13.5, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 13], "x": 15.25, "y": 2.5}, + {"matrix": [2, 14], "x": 16.25, "y": 2.5}, + {"matrix": [2, 15], "x": 17.25, "y": 2.5}, + + {"matrix": [5, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 0], "x": 1.75, "y": 3.5}, + {"matrix": [3, 1], "x": 2.75, "y": 3.5}, + {"matrix": [3, 2], "x": 3.75, "y": 3.5}, + {"matrix": [3, 3], "x": 4.75, "y": 3.5}, + {"matrix": [3, 4], "x": 5.75, "y": 3.5}, + {"matrix": [3, 5], "x": 6.75, "y": 3.5}, + {"matrix": [3, 6], "x": 7.75, "y": 3.5}, + {"matrix": [3, 7], "x": 8.75, "y": 3.5}, + {"matrix": [3, 8], "x": 9.75, "y": 3.5}, + {"matrix": [3, 9], "x": 10.75, "y": 3.5}, + {"matrix": [3, 10], "x": 11.75, "y": 3.5}, + {"matrix": [3, 11], "x": 12.75, "y": 3.5, "w": 2.25}, + + {"matrix": [5, 1], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 2.75}, + + {"matrix": [4, 14], "x": 16.25, "y": 4.5}, + + {"matrix": [5, 2], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25}, + + {"matrix": [5, 13], "x": 15.25, "y": 5.5}, + {"matrix": [5, 14], "x": 16.25, "y": 5.5}, + {"matrix": [5, 15], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso": { + "layout": [ + {"matrix": [6, 0], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [0, 3], "x": 5, "y": 0}, + + {"matrix": [0, 4], "x": 6.5, "y": 0}, + {"matrix": [0, 5], "x": 7.5, "y": 0}, + {"matrix": [0, 6], "x": 8.5, "y": 0}, + {"matrix": [0, 7], "x": 9.5, "y": 0}, + + {"matrix": [0, 8], "x": 11, "y": 0}, + {"matrix": [0, 9], "x": 12, "y": 0}, + {"matrix": [0, 10], "x": 13, "y": 0}, + {"matrix": [0, 11], "x": 14, "y": 0}, + + {"matrix": [0, 13], "x": 15.25, "y": 0}, + {"matrix": [0, 14], "x": 16.25, "y": 0}, + {"matrix": [0, 15], "x": 17.25, "y": 0}, + + {"matrix": [6, 1], "x": 0, "y": 1.5}, + {"matrix": [6, 2], "x": 1, "y": 1.5}, + {"matrix": [1, 0], "x": 2, "y": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1.5}, + {"matrix": [1, 2], "x": 4, "y": 1.5}, + {"matrix": [1, 3], "x": 5, "y": 1.5}, + {"matrix": [1, 4], "x": 6, "y": 1.5}, + {"matrix": [1, 5], "x": 7, "y": 1.5}, + {"matrix": [1, 6], "x": 8, "y": 1.5}, + {"matrix": [1, 7], "x": 9, "y": 1.5}, + {"matrix": [1, 8], "x": 10, "y": 1.5}, + {"matrix": [1, 9], "x": 11, "y": 1.5}, + {"matrix": [1, 10], "x": 12, "y": 1.5}, + {"matrix": [1, 11], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [1, 13], "x": 15.25, "y": 1.5}, + {"matrix": [1, 14], "x": 16.25, "y": 1.5}, + {"matrix": [1, 15], "x": 17.25, "y": 1.5}, + + {"matrix": [6, 3], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 0], "x": 1.5, "y": 2.5}, + {"matrix": [2, 1], "x": 2.5, "y": 2.5}, + {"matrix": [2, 2], "x": 3.5, "y": 2.5}, + {"matrix": [2, 3], "x": 4.5, "y": 2.5}, + {"matrix": [2, 4], "x": 5.5, "y": 2.5}, + {"matrix": [2, 5], "x": 6.5, "y": 2.5}, + {"matrix": [2, 6], "x": 7.5, "y": 2.5}, + {"matrix": [2, 7], "x": 8.5, "y": 2.5}, + {"matrix": [2, 8], "x": 9.5, "y": 2.5}, + {"matrix": [2, 9], "x": 10.5, "y": 2.5}, + {"matrix": [2, 10], "x": 11.5, "y": 2.5}, + {"matrix": [2, 11], "x": 12.5, "y": 2.5}, + + |