From 9e64300e67720a5468c2585391250ca5579b311b Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 11 Mar 2023 00:00:24 +1100 Subject: Move matrix config to info.json, part 4 (#20001) --- keyboards/p3d/glitch/config.h | 19 ------------------- keyboards/p3d/glitch/info.json | 5 +++++ 2 files changed, 5 insertions(+), 19 deletions(-) (limited to 'keyboards/p3d') diff --git a/keyboards/p3d/glitch/config.h b/keyboards/p3d/glitch/config.h index 961897c4d6..a8026b4d17 100644 --- a/keyboards/p3d/glitch/config.h +++ b/keyboards/p3d/glitch/config.h @@ -17,22 +17,6 @@ along with this program. If not, see . #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) - * - */ - -/* A Custom matrix.c is used to poll the port expander C6 shows that the pins are hardwired there */ -#define MATRIX_ROW_PINS { D5, D6, B6, D7, C7, B4, B5, D3, D4, C6 } -#define MATRIX_COL_PINS { B2, D2, B3, B7, F5, F4, F1, F0 } - #define RGB_DI_PIN B1 #define RGBLED_NUM 25 #define RGBLIGHT_EFFECT_BREATHING @@ -46,9 +30,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - #define USB_MAX_POWER_CONSUMPTION 400 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json index 9aee029a07..d4e3df24a7 100644 --- a/keyboards/p3d/glitch/info.json +++ b/keyboards/p3d/glitch/info.json @@ -8,6 +8,11 @@ "pid": "0x3568", "device_version": "0.0.1" }, + "matrix_pins": { + "cols": ["B2", "D2", "B3", "B7", "F5", "F4", "F1", "F0"], + "rows": ["D5", "D6", "B6", "D7", "C7", "B4", "B5", "D3", "D4", "C6"] + }, + "diode_direction": "COL2ROW", "encoder": { "rotary": [ {"pin_a": "F6", "pin_b": "F7", "resolution": 2} -- cgit v1.2.3 From 9e2ef5078a9eb532f492d7d9a15d35f9c1d48744 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 13 Mar 2023 22:22:20 +1100 Subject: Adjust offset for some layouts (#20075) --- keyboards/p3d/glitch/info.json | 142 ++++++++++++++++++++--------------------- 1 file changed, 71 insertions(+), 71 deletions(-) (limited to 'keyboards/p3d') diff --git a/keyboards/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json index d4e3df24a7..ebe7ac6e30 100644 --- a/keyboards/p3d/glitch/info.json +++ b/keyboards/p3d/glitch/info.json @@ -23,81 +23,81 @@ "layouts": { "LAYOUT_all": { "layout": [ - { "label": "ESC", "x": 0.5, "y": 0.5 }, - { "label": "1", "x": 1.5, "y": 0.5 }, - { "label": "2", "x": 3.25, "y": 1.0 }, - { "label": "3", "x": 4.25, "y": 1.0 }, - { "label": "4", "x": 5.25, "y": 1.0 }, - { "label": "5", "x": 6.25, "y": 1.0 }, - { "label": "6", "x": 7.25, "y": 1.0 }, - { "label": "7", "x": 10, "y": 1.0 }, - { "label": "8", "x": 11, "y": 1.0 }, - { "label": "9", "x": 12, "y": 1.0 }, - { "label": "0", "x": 13, "y": 1.0 }, - { "label": "_", "x": 14.5, "y": 0.6 }, - { "label": "+", "x": 15.5, "y": 0.6 }, - { "label": "Back", "x": 16.5, "y": 0.6 }, - { "label": "Del", "x": 17.5, "y": 0.6 }, - { "x": 19.1, "y": 0.1 }, + { "x": 0.5, "y": 0.5 }, + { "x": 1.5, "y": 0.5 }, + { "x": 3.25, "y": 0.5 }, + { "x": 4.25, "y": 0.5 }, + { "x": 5.25, "y": 0.5 }, + { "x": 6.25, "y": 0.5 }, + { "x": 7.25, "y": 0.5 }, + { "x": 10, "y": 0.5 }, + { "x": 11, "y": 0.5 }, + { "x": 12, "y": 0.5 }, + { "x": 13, "y": 0.5 }, + { "x": 14.5, "y": 0.5 }, + { "x": 15.5, "y": 0.5 }, + { "x": 16.5, "y": 0.5 }, + { "x": 17.5, "y": 0.5 }, + { "x": 19, "y": 0 }, - { "label": "TAB", "x": 0.15, "y": 1.5, "w": 1.5 }, - { "label": "Q", "x": 1.65, "y": 1.5 }, - { "label": "W", "x": 3.75, "y": 2.0 }, - { "label": "E", "x": 4.75, "y": 2.0 }, - { "label": "R", "x": 5.75, "y": 2.0 }, - { "label": "T", "x": 6.75, "y": 2.0 }, - { "label": "Y", "x": 9.5, "y": 2.0 }, - { "label": "U", "x": 10.5, "y": 2.0 }, - { "label": "I", "x": 11.5, "y": 2.0 }, - { "label": "O", "x": 12.5, "y": 2.0 }, - { "label": "P", "x": 14.35, "y": 1.6 }, - { "label": "[", "x": 15.35, "y": 1.6 }, - { "label": "]", "x": 16.35, "y": 1.6 }, - { "label": "\\", "x": 17.35, "y": 1.6, "w": 1.5 }, - { "x": 19.1, "y": 1.6 }, + { "x": 0.15, "y": 1.5, "w": 1.5 }, + { "x": 1.65, "y": 1.5 }, + { "x": 3.75, "y": 1.5 }, + { "x": 4.75, "y": 1.5 }, + { "x": 5.75, "y": 1.5 }, + { "x": 6.75, "y": 1.5 }, + { "x": 9.5, "y": 1.5 }, + { "x": 10.5, "y": 1.5 }, + { "x": 11.5, "y": 1.5 }, + { "x": 12.5, "y": 1.5 }, + { "x": 14.25, "y": 1.5 }, + { "x": 15.25, "y": 1.5 }, + { "x": 16.25, "y": 1.5 }, + { "x": 17.25, "y": 1.5, "w": 1.5 }, + { "x": 19, "y": 1.5 }, - { "label": "CAPS", "x": 0.15, "y": 2.5, "w": 1.75 }, - { "label": "A", "x": 1.9, "y": 2.5 }, - { "label": "S", "x": 4, "y": 3.0 }, - { "label": "D", "x": 5, "y": 3.0 }, - { "label": "F", "x": 6, "y": 3.0 }, - { "label": "G", "x": 7, "y": 3.0 }, - { "label": "H", "x": 9.75, "y": 3.0 }, - { "label": "J", "x": 10.75, "y": 3.0 }, - { "label": "K", "x": 11.75, "y": 3.0 }, - { "label": "L", "x": 12.75, "y": 3.0 }, - { "label": ";", "x": 14.6, "y": 2.6 }, - { "label": "'", "x": 15.6, "y": 2.6 }, - { "label": "ENTER", "x": 16.6, "y": 2.6, "w": 2.25 }, - { "x": 19.1, "y": 2.6 }, + { "x": 0.15, "y": 2.5, "w": 1.75 }, + { "x": 1.9, "y": 2.5 }, + { "x": 4, "y": 2.5 }, + { "x": 5, "y": 2.5 }, + { "x": 6, "y": 2.5 }, + { "x": 7, "y": 2.5 }, + { "x": 9.75, "y": 2.5 }, + { "x": 10.75, "y": 2.5 }, + { "x": 11.75, "y": 2.5 }, + { "x": 12.75, "y": 2.5 }, + { "x": 14.5, "y": 2.5 }, + { "x": 15.5, "y": 2.5 }, + { "x": 16.5, "y": 2.5, "w": 2.25 }, + { "x": 19, "y": 2.5 }, - { "label": "SHIFT", "x": 0, "y": 3.5, "w": 2.25 }, - { "label": "Z", "x": 2.25, "y": 3.5 }, - { "label": "X", "x": 4.5, "y": 4.0 }, - { "label": "C", "x": 5.5, "y": 4.0 }, - { "label": "V", "x": 6.5, "y": 4.0 }, - { "label": "B", "x": 7.5, "y": 4.0 }, - { "label": "BEE", "x": 9.25, "y": 4.0 }, - { "label": "N", "x": 10.25, "y": 4.0 }, - { "label": "M", "x": 11.25, "y": 4.0 }, - { "label": ",", "x": 12.25, "y": 4.0 }, - { "label": ".", "x": 14.25, "y": 3.6 }, - { "label": "?", "x": 15.25, "y": 3.6 }, - { "label": "SHIFT", "x": 16.25, "y": 3.6, "w": 1.75 }, - { "label": "UP", "x": 18.25, "y": 3.85 }, - { "x": 19.5, "y": 3.6 }, + { "x": 0, "y": 3.5, "w": 2.25 }, + { "x": 2.25, "y": 3.5 }, + { "x": 4.5, "y": 3.5 }, + { "x": 5.5, "y": 3.5 }, + { "x": 6.5, "y": 3.5 }, + { "x": 7.5, "y": 3.5 }, + { "x": 9.25, "y": 3.5 }, + { "x": 10.25, "y": 3.5 }, + { "x": 11.25, "y": 3.5 }, + { "x": 12.25, "y": 3.5 }, + { "x": 14.25, "y": 3.5 }, + { "x": 15.25, "y": 3.5 }, + { "x": 16.25, "y": 3.5, "w": 1.75 }, + { "x": 18.25, "y": 3.75 }, + { "x": 19.5, "y": 3.5 }, - { "label": "CTRL", "x": 0, "y": 4.5, "w": 1.25 }, - { "label": "WIN", "x": 1.25, "y": 4.5, "w": 1.25 }, - { "x": 4.75, "y": 5.0, "w": 2.75 }, - { "label": "ALT", "x": 7.5, "y": 5.0, "w": 1.25 }, - { "label": "ALT", "x": 9.5, "y": 5.0, "w": 1.25 }, - { "x": 10.75, "y": 5.0, "w": 2.25 }, - { "label": "WIN", "x": 15, "y": 4.6 }, - { "label": "CTRL", "x": 16, "y": 4.6 }, - { "label": "LEFT", "x": 17.25, "y": 4.85 }, - { "label": "DOWN", "x": 18.25, "y": 4.85 }, - { "label": "RIGHT", "x": 19.25, "y": 4.85 } + { "x": 0, "y": 4.5, "w": 1.25 }, + { "x": 1.25, "y": 4.5, "w": 1.25 }, + { "x": 4.75, "y": 4.5, "w": 2.75 }, + { "x": 7.5, "y": 4.5, "w": 1.25 }, + { "x": 9.5, "y": 4.5, "w": 1.25 }, + { "x": 10.75, "y": 4.5, "w": 2.25 }, + { "x": 15, "y": 4.5 }, + { "x": 16, "y": 4.5 }, + { "x": 17.25, "y": 4.75 }, + { "x": 18.25, "y": 4.75 }, + { "x": 19.25, "y": 4.75 } ] } } -- cgit v1.2.3 From 47966dc2a65c88ac90fcd64d12243d72f3f6753b Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 6 Apr 2023 18:00:54 +1000 Subject: Migrate `rgblight.pin` and `RGB_DI_PIN` to `ws2812.pin` (#20303) --- keyboards/p3d/glitch/config.h | 1 - keyboards/p3d/glitch/info.json | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'keyboards/p3d') diff --git a/keyboards/p3d/glitch/config.h b/keyboards/p3d/glitch/config.h index a8026b4d17..2db0b8566c 100644 --- a/keyboards/p3d/glitch/config.h +++ b/keyboards/p3d/glitch/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGB_DI_PIN B1 #define RGBLED_NUM 25 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json index ebe7ac6e30..6f6b51ef0d 100644 --- a/keyboards/p3d/glitch/info.json +++ b/keyboards/p3d/glitch/info.json @@ -18,6 +18,9 @@ {"pin_a": "F6", "pin_b": "F7", "resolution": 2} ] }, + "ws2812": { + "pin": "B1" + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { -- cgit v1.2.3 From 172a40686b84af7f887350a20c526855c7f7649c Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 15 Apr 2023 21:08:15 +1000 Subject: Move single `LAYOUT_all`s to data driven (#20430) --- keyboards/p3d/glitch/glitch.c | 2 +- keyboards/p3d/glitch/glitch.h | 40 ----------- keyboards/p3d/glitch/info.json | 153 ++++++++++++++++++++++------------------- 3 files changed, 83 insertions(+), 112 deletions(-) delete mode 100644 keyboards/p3d/glitch/glitch.h (limited to 'keyboards/p3d') diff --git a/keyboards/p3d/glitch/glitch.c b/keyboards/p3d/glitch/glitch.c index 9957e0c7ad..6680e6506a 100644 --- a/keyboards/p3d/glitch/glitch.c +++ b/keyboards/p3d/glitch/glitch.c @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "glitch.h" +#include "quantum.h" #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { diff --git a/keyboards/p3d/glitch/glitch.h b/keyboards/p3d/glitch/glitch.h deleted file mode 100644 index 4b4f77396b..0000000000 --- a/keyboards/p3d/glitch/glitch.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright 2021 Matthew Dias - * - * 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 . - */ - -#pragma once - -#define XXX KC_NO - -#include "quantum.h" - -#define LAYOUT_all( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ - K10, K11, K12, K13, K14, K15, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ - K20, K21, K22, K23, K24, K25, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \ - K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \ - K40, K41, K43, K45, K47, K49, K4B, K4C, K4D, K4E, K4F \ -) { \ - { K00, K02, K04, K06, K08, K0A, K0C, K0E }, \ - { K01, K03, K05, K07, K09, K0B, K0D, K0F }, \ - { K10, K12, K14, XXX, K18, K1A, K1C, K1E }, \ - { K11, K13, K15, K17, K19, K1B, K1D, K1F }, \ - { K20, K22, K24, XXX, K28, K2A, K2C, K2E }, \ - { K21, K23, K25, K27, K29, K2B, XXX, K2F }, \ - { K30, K32, K34, K36, K38, K3A, K3C, K3E }, \ - { XXX, K33, K35, K37, K39, K3B, K3D, K3F }, \ - { K40, XXX, XXX, XXX, XXX, XXX, K4C, K4E }, \ - { K41, K43, K45, K47, K49, K4B, K4D, K4F } \ -} diff --git a/keyboards/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json index 6f6b51ef0d..9ff596476f 100644 --- a/keyboards/p3d/glitch/info.json +++ b/keyboards/p3d/glitch/info.json @@ -26,81 +26,92 @@ "layouts": { "LAYOUT_all": { "layout": [ - { "x": 0.5, "y": 0.5 }, - { "x": 1.5, "y": 0.5 }, - { "x": 3.25, "y": 0.5 }, - { "x": 4.25, "y": 0.5 }, - { "x": 5.25, "y": 0.5 }, - { "x": 6.25, "y": 0.5 }, - { "x": 7.25, "y": 0.5 }, - { "x": 10, "y": 0.5 }, - { "x": 11, "y": 0.5 }, - { "x": 12, "y": 0.5 }, - { "x": 13, "y": 0.5 }, - { "x": 14.5, "y": 0.5 }, - { "x": 15.5, "y": 0.5 }, - { "x": 16.5, "y": 0.5 }, - { "x": 17.5, "y": 0.5 }, - { "x": 19, "y": 0 }, + {"matrix": [0, 0], "x": 0.5, "y": 0.5}, + {"matrix": [1, 0], "x": 1.5, "y": 0.5}, + {"matrix": [0, 1], "x": 3.25, "y": 0.5}, + {"matrix": [1, 1], "x": 4.25, "y": 0.5}, + {"matrix": [0, 2], "x": 5.25, "y": 0.5}, + {"matrix": [1, 2], "x": 6.25, "y": 0.5}, + {"matrix": [0, 3], "x": 7.25, "y": 0.5}, - { "x": 0.15, "y": 1.5, "w": 1.5 }, - { "x": 1.65, "y": 1.5 }, - { "x": 3.75, "y": 1.5 }, - { "x": 4.75, "y": 1.5 }, - { "x": 5.75, "y": 1.5 }, - { "x": 6.75, "y": 1.5 }, - { "x": 9.5, "y": 1.5 }, - { "x": 10.5, "y": 1.5 }, - { "x": 11.5, "y": 1.5 }, - { "x": 12.5, "y": 1.5 }, - { "x": 14.25, "y": 1.5 }, - { "x": 15.25, "y": 1.5 }, - { "x": 16.25, "y": 1.5 }, - { "x": 17.25, "y": 1.5, "w": 1.5 }, - { "x": 19, "y": 1.5 }, + {"matrix": [1, 3], "x": 10, "y": 0.5}, + {"matrix": [0, 4], "x": 11, "y": 0.5}, + {"matrix": [1, 4], "x": 12, "y": 0.5}, + {"matrix": [0, 5], "x": 13, "y": 0.5}, + {"matrix": [1, 5], "x": 14.5, "y": 0.5}, + {"matrix": [0, 6], "x": 15.5, "y": 0.5}, + {"matrix": [1, 6], "x": 16.5, "y": 0.5}, + {"matrix": [0, 7], "x": 17.5, "y": 0.5}, - { "x": 0.15, "y": 2.5, "w": 1.75 }, - { "x": 1.9, "y": 2.5 }, - { "x": 4, "y": 2.5 }, - { "x": 5, "y": 2.5 }, - { "x": 6, "y": 2.5 }, - { "x": 7, "y": 2.5 }, - { "x": 9.75, "y": 2.5 }, - { "x": 10.75, "y": 2.5 }, - { "x": 11.75, "y": 2.5 }, - { "x": 12.75, "y": 2.5 }, - { "x": 14.5, "y": 2.5 }, - { "x": 15.5, "y": 2.5 }, - { "x": 16.5, "y": 2.5, "w": 2.25 }, - { "x": 19, "y": 2.5 }, + {"matrix": [1, 7], "x": 19, "y": 0}, - { "x": 0, "y": 3.5, "w": 2.25 }, - { "x": 2.25, "y": 3.5 }, - { "x": 4.5, "y": 3.5 }, - { "x": 5.5, "y": 3.5 }, - { "x": 6.5, "y": 3.5 }, - { "x": 7.5, "y": 3.5 }, - { "x": 9.25, "y": 3.5 }, - { "x": 10.25, "y": 3.5 }, - { "x": 11.25, "y": 3.5 }, - { "x": 12.25, "y": 3.5 }, - { "x": 14.25, "y": 3.5 }, - { "x": 15.25, "y": 3.5 }, - { "x": 16.25, "y": 3.5, "w": 1.75 }, - { "x": 18.25, "y": 3.75 }, - { "x": 19.5, "y": 3.5 }, + {"matrix": [2, 0], "x": 0.15, "y": 1.5, "w": 1.5}, + {"matrix": [3, 0], "x": 1.65, "y": 1.5}, + {"matrix": [2, 1], "x": 3.75, "y": 1.5}, + {"matrix": [3, 1], "x": 4.75, "y": 1.5}, + {"matrix": [2, 2], "x": 5.75, "y": 1.5}, + {"matrix": [3, 2], "x": 6.75, "y": 1.5}, - { "x": 0, "y": 4.5, "w": 1.25 }, - { "x": 1.25, "y": 4.5, "w": 1.25 }, - { "x": 4.75, "y": 4.5, "w": 2.75 }, - { "x": 7.5, "y": 4.5, "w": 1.25 }, - { "x": 9.5, "y": 4.5, "w": 1.25 }, - { "x": 10.75, "y": 4.5, "w": 2.25 }, - { "x": 15, "y": 4.5 }, - { "x": 16, "y": 4.5 }, - { "x": 17.25, "y": 4.75 }, - { "x": 18.25, "y": 4.75 }, - { "x": 19.25, "y": 4.75 } + {"matrix": [3, 3], "x": 9.5, "y": 1.5}, + {"matrix": [2, 4], "x": 10.5, "y": 1.5}, + {"matrix": [3, 4], "x": 11.5, "y": 1.5}, + {"matrix": [2, 5], "x": 12.5, "y": 1.5}, + {"matrix": [3, 5], "x": 14.25, "y": 1.5}, + {"matrix": [2, 6], "x": 15.25, "y": 1.5}, + {"matrix": [3, 6], "x": 16.25, "y": 1.5}, + {"matrix": [2, 7], "x": 17.25, "y": 1.5, "w": 1.5}, + + {"matrix": [3, 7], "x": 19, "y": 1.5}, + + {"matrix": [4, 0], "x": 0.15, "y": 2.5, "w": 1.75}, + {"matrix": [5, 0], "x": 1.9, "y": 2.5}, + {"matrix": [4, 1], "x": 4, "y": 2.5}, + {"matrix": [5, 1], "x": 5, "y": 2.5}, + {"matrix": [4, 2], "x": 6, "y": 2.5}, + {"matrix": [5, 2], "x": 7, "y": 2.5}, + + {"matrix": [5, 3], "x": 9.75, "y": 2.5}, + {"matrix": [4, 4], "x": 10.75, "y": 2.5}, + {"matrix": [5, 4], "x": 11.75, "y": 2.5}, + {"matrix": [4, 5], "x": 12.75, "y": 2.5}, + {"matrix": [5, 5], "x": 14.5, "y": 2.5}, + {"matrix": [4, 6], "x": 15.5, "y": 2.5}, + {"matrix": [4, 7], "x": 16.5, "y": 2.5, "w": 2.25}, + + {"matrix": [5, 7], "x": 19, "y": 2.5}, + + {"matrix": [6, 0], "x": 0, "y": 3.5, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3.5}, + {"matrix": [7, 1], "x": 4.5, "y": 3.5}, + {"matrix": [6, 2], "x": 5.5, "y": 3.5}, + {"matrix": [7, 2], "x": 6.5, "y": 3.5}, + {"matrix": [6, 3], "x": 7.5, "y": 3.5}, + + {"matrix": [7, 3], "x": 9.25, "y": 3.5}, + {"matrix": [6, 4], "x": 10.25, "y": 3.5}, + {"matrix": [7, 4], "x": 11.25, "y": 3.5}, + {"matrix": [6, 5], "x": 12.25, "y": 3.5}, + {"matrix": [7, 5], "x": 14.25, "y": 3.5}, + {"matrix": [6, 6], "x": 15.25, "y": 3.5}, + {"matrix": [7, 6], "x": 16.25, "y": 3.5, "w": 1.75}, + + {"matrix": [6, 7], "x": 18.25, "y": 3.75}, + + {"matrix": [7, 7], "x": 19.5, "y": 3.5}, + + {"matrix": [8, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4.5, "w": 1.25}, + {"matrix": [9, 1], "x": 4.75, "y": 4.5, "w": 2.75}, + {"matrix": [9, 2], "x": 7.5, "y": 4.5, "w": 1.25}, + + {"matrix": [9, 3], "x": 9.5, "y": 4.5, "w": 1.25}, + {"matrix": [9, 4], "x": 10.75, "y": 4.5, "w": 2.25}, + {"matrix": [9, 5], "x": 15, "y": 4.5}, + {"matrix": [8, 6], "x": 16, "y": 4.5}, + + {"matrix": [9, 6], "x": 17.25, "y": 4.75}, + {"matrix": [8, 7], "x": 18.25, "y": 4.75}, + {"matrix": [9, 7], "x": 19.25, "y": 4.75} ] } } -- cgit v1.2.3 From 2944e938703e2049bb6262a0ab31e701d27e8ab3 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 1 May 2023 17:37:12 +1000 Subject: Move `USB_MAX_POWER_CONSUMPTION` to data driven (#20648) --- keyboards/p3d/glitch/config.h | 2 -- keyboards/p3d/glitch/info.json | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'keyboards/p3d') diff --git a/keyboards/p3d/glitch/config.h b/keyboards/p3d/glitch/config.h index 2db0b8566c..a754828053 100644 --- a/keyboards/p3d/glitch/config.h +++ b/keyboards/p3d/glitch/config.h @@ -29,8 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define USB_MAX_POWER_CONSUMPTION 400 - /* 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/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json index 9ff596476f..25dc17b820 100644 --- a/keyboards/p3d/glitch/info.json +++ b/keyboards/p3d/glitch/info.json @@ -6,7 +6,8 @@ "usb": { "vid": "0x7033", "pid": "0x3568", - "device_version": "0.0.1" + "device_version": "0.0.1", + "max_power": 400 }, "matrix_pins": { "cols": ["B2", "D2", "B3", "B7", "F5", "F4", "F1", "F0"], -- cgit v1.2.3 From 69369976477600776d2da49e6faabe558cc3e6f6 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 6 May 2023 23:02:42 -0700 Subject: P3D Glitch Layout Addition (#20763) * add matrix_diagram.md * info.json: apply friendly formatting * add LAYOUT_2u_bs --- keyboards/p3d/glitch/info.json | 261 ++++++++++++++++++++++----------- keyboards/p3d/glitch/matrix_diagram.md | 21 +++ 2 files changed, 196 insertions(+), 86 deletions(-) create mode 100644 keyboards/p3d/glitch/matrix_diagram.md (limited to 'keyboards/p3d') diff --git a/keyboards/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json index 25dc17b820..4f323df447 100644 --- a/keyboards/p3d/glitch/info.json +++ b/keyboards/p3d/glitch/info.json @@ -27,92 +27,181 @@ "layouts": { "LAYOUT_all": { "layout": [ - {"matrix": [0, 0], "x": 0.5, "y": 0.5}, - {"matrix": [1, 0], "x": 1.5, "y": 0.5}, - {"matrix": [0, 1], "x": 3.25, "y": 0.5}, - {"matrix": [1, 1], "x": 4.25, "y": 0.5}, - {"matrix": [0, 2], "x": 5.25, "y": 0.5}, - {"matrix": [1, 2], "x": 6.25, "y": 0.5}, - {"matrix": [0, 3], "x": 7.25, "y": 0.5}, - - {"matrix": [1, 3], "x": 10, "y": 0.5}, - {"matrix": [0, 4], "x": 11, "y": 0.5}, - {"matrix": [1, 4], "x": 12, "y": 0.5}, - {"matrix": [0, 5], "x": 13, "y": 0.5}, - {"matrix": [1, 5], "x": 14.5, "y": 0.5}, - {"matrix": [0, 6], "x": 15.5, "y": 0.5}, - {"matrix": [1, 6], "x": 16.5, "y": 0.5}, - {"matrix": [0, 7], "x": 17.5, "y": 0.5}, - - {"matrix": [1, 7], "x": 19, "y": 0}, - - {"matrix": [2, 0], "x": 0.15, "y": 1.5, "w": 1.5}, - {"matrix": [3, 0], "x": 1.65, "y": 1.5}, - {"matrix": [2, 1], "x": 3.75, "y": 1.5}, - {"matrix": [3, 1], "x": 4.75, "y": 1.5}, - {"matrix": [2, 2], "x": 5.75, "y": 1.5}, - {"matrix": [3, 2], "x": 6.75, "y": 1.5}, - - {"matrix": [3, 3], "x": 9.5, "y": 1.5}, - {"matrix": [2, 4], "x": 10.5, "y": 1.5}, - {"matrix": [3, 4], "x": 11.5, "y": 1.5}, - {"matrix": [2, 5], "x": 12.5, "y": 1.5}, - {"matrix": [3, 5], "x": 14.25, "y": 1.5}, - {"matrix": [2, 6], "x": 15.25, "y": 1.5}, - {"matrix": [3, 6], "x": 16.25, "y": 1.5}, - {"matrix": [2, 7], "x": 17.25, "y": 1.5, "w": 1.5}, - - {"matrix": [3, 7], "x": 19, "y": 1.5}, - - {"matrix": [4, 0], "x": 0.15, "y": 2.5, "w": 1.75}, - {"matrix": [5, 0], "x": 1.9, "y": 2.5}, - {"matrix": [4, 1], "x": 4, "y": 2.5}, - {"matrix": [5, 1], "x": 5, "y": 2.5}, - {"matrix": [4, 2], "x": 6, "y": 2.5}, - {"matrix": [5, 2], "x": 7, "y": 2.5}, - - {"matrix": [5, 3], "x": 9.75, "y": 2.5}, - {"matrix": [4, 4], "x": 10.75, "y": 2.5}, - {"matrix": [5, 4], "x": 11.75, "y": 2.5}, - {"matrix": [4, 5], "x": 12.75, "y": 2.5}, - {"matrix": [5, 5], "x": 14.5, "y": 2.5}, - {"matrix": [4, 6], "x": 15.5, "y": 2.5}, - {"matrix": [4, 7], "x": 16.5, "y": 2.5, "w": 2.25}, - - {"matrix": [5, 7], "x": 19, "y": 2.5}, - - {"matrix": [6, 0], "x": 0, "y": 3.5, "w": 2.25}, - {"matrix": [6, 1], "x": 2.25, "y": 3.5}, - {"matrix": [7, 1], "x": 4.5, "y": 3.5}, - {"matrix": [6, 2], "x": 5.5, "y": 3.5}, - {"matrix": [7, 2], "x": 6.5, "y": 3.5}, - {"matrix": [6, 3], "x": 7.5, "y": 3.5}, - - {"matrix": [7, 3], "x": 9.25, "y": 3.5}, - {"matrix": [6, 4], "x": 10.25, "y": 3.5}, - {"matrix": [7, 4], "x": 11.25, "y": 3.5}, - {"matrix": [6, 5], "x": 12.25, "y": 3.5}, - {"matrix": [7, 5], "x": 14.25, "y": 3.5}, - {"matrix": [6, 6], "x": 15.25, "y": 3.5}, - {"matrix": [7, 6], "x": 16.25, "y": 3.5, "w": 1.75}, - - {"matrix": [6, 7], "x": 18.25, "y": 3.75}, - - {"matrix": [7, 7], "x": 19.5, "y": 3.5}, - - {"matrix": [8, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4.5, "w": 1.25}, - {"matrix": [9, 1], "x": 4.75, "y": 4.5, "w": 2.75}, - {"matrix": [9, 2], "x": 7.5, "y": 4.5, "w": 1.25}, - - {"matrix": [9, 3], "x": 9.5, "y": 4.5, "w": 1.25}, - {"matrix": [9, 4], "x": 10.75, "y": 4.5, "w": 2.25}, - {"matrix": [9, 5], "x": 15, "y": 4.5}, - {"matrix": [8, 6], "x": 16, "y": 4.5}, - - {"matrix": [9, 6], "x": 17.25, "y": 4.75}, - {"matrix": [8, 7], "x": 18.25, "y": 4.75}, - {"matrix": [9, 7], "x": 19.25, "y": 4.75} + {"label": "Esc", "matrix": [0, 0], "x": 0.5, "y": 0.5}, + {"label": "1", "matrix": [1, 0], "x": 1.5, "y": 0.5}, + {"label": "2", "matrix": [0, 1], "x": 3.25, "y": 0.5}, + {"label": "3", "matrix": [1, 1], "x": 4.25, "y": 0.5}, + {"label": "4", "matrix": [0, 2], "x": 5.25, "y": 0.5}, + {"label": "5", "matrix": [1, 2], "x": 6.25, "y": 0.5}, + {"label": "6", "matrix": [0, 3], "x": 7.25, "y": 0.5}, + + {"label": "7", "matrix": [1, 3], "x": 10, "y": 0.5}, + {"label": "8", "matrix": [0, 4], "x": 11, "y": 0.5}, + {"label": "9", "matrix": [1, 4], "x": 12, "y": 0.5}, + {"label": "0", "matrix": [0, 5], "x": 13, "y": 0.5}, + {"label": "-", "matrix": [1, 5], "x": 14.5, "y": 0.5}, + {"label": "=", "matrix": [0, 6], "x": 15.5, "y": 0.5}, + {"label": "Backspace", "matrix": [1, 6], "x": 16.5, "y": 0.5}, + {"label": "Delete", "matrix": [0, 7], "x": 17.5, "y": 0.5}, + + {"label": "Mute", "matrix": [1, 7], "x": 19, "y": 0}, + + {"label": "Tab", "matrix": [2, 0], "x": 0.15, "y": 1.5, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.65, "y": 1.5}, + {"label": "W", "matrix": [2, 1], "x": 3.75, "y": 1.5}, + {"label": "E", "matrix": [3, 1], "x": 4.75, "y": 1.5}, + {"label": "R", "matrix": [2, 2], "x": 5.75, "y": 1.5}, + {"label": "T", "matrix": [3, 2], "x": 6.75, "y": 1.5}, + + {"label": "Y", "matrix": [3, 3], "x": 9.5, "y": 1.5}, + {"label": "U", "matrix": [2, 4], "x": 10.5, "y": 1.5}, + {"label": "I", "matrix": [3, 4], "x": 11.5, "y": 1.5}, + {"label": "O", "matrix": [2, 5], "x": 12.5, "y": 1.5}, + {"label": "P", "matrix": [3, 5], "x": 14.25, "y": 1.5}, + {"label": "[", "matrix": [2, 6], "x": 15.25, "y": 1.5}, + {"label": "]", "matrix": [3, 6], "x": 16.25, "y": 1.5}, + {"label": "\\", "matrix": [2, 7], "x": 17.25, "y": 1.5, "w": 1.5}, + + {"label": "Page Up", "matrix": [3, 7], "x": 19, "y": 1.5}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0.15, "y": 2.5, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.9, "y": 2.5}, + {"label": "S", "matrix": [4, 1], "x": 4, "y": 2.5}, + {"label": "D", "matrix": [5, 1], "x": 5, "y": 2.5}, + {"label": "F", "matrix": [4, 2], "x": 6, "y": 2.5}, + {"label": "G", "matrix": [5, 2], "x": 7, "y": 2.5}, + + {"label": "H", "matrix": [5, 3], "x": 9.75, "y": 2.5}, + {"label": "J", "matrix": [4, 4], "x": 10.75, "y": 2.5}, + {"label": "K", "matrix": [5, 4], "x": 11.75, "y": 2.5}, + {"label": "L", "matrix": [4, 5], "x": 12.75, "y": 2.5}, + {"label": ";", "matrix": [5, 5], "x": 14.5, "y": 2.5}, + {"label": "'", "matrix": [4, 6], "x": 15.5, "y": 2.5}, + {"label": "Enter", "matrix": [4, 7], "x": 16.5, "y": 2.5, "w": 2.25}, + + {"label": "Page Down", "matrix": [5, 7], "x": 19, "y": 2.5}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3.5, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3.5}, + {"label": "X", "matrix": [7, 1], "x": 4.5, "y": 3.5}, + {"label": "C", "matrix": [6, 2], "x": 5.5, "y": 3.5}, + {"label": "V", "matrix": [7, 2], "x": 6.5, "y": 3.5}, + {"label": "B", "matrix": [6, 3], "x": 7.5, "y": 3.5}, + + {"label": "B", "matrix": [7, 3], "x": 9.25, "y": 3.5}, + {"label": "N", "matrix": [6, 4], "x": 10.25, "y": 3.5}, + {"label": "M", "matrix": [7, 4], "x": 11.25, "y": 3.5}, + {"label": ",", "matrix": [6, 5], "x": 12.25, "y": 3.5}, + {"label": ".", "matrix": [7, 5], "x": 14.25, "y": 3.5}, + {"label": "/", "matrix": [6, 6], "x": 15.25, "y": 3.5}, + {"label": "Shift", "matrix": [7, 6], "x": 16.25, "y": 3.5, "w": 1.75}, + + {"label": "\u2191", "matrix": [6, 7], "x": 18.25, "y": 3.75}, + + {"label": "End", "matrix": [7, 7], "x": 19.5, "y": 3.5}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"label": "GUI", "matrix": [9, 0], "x": 1.25, "y": 4.5, "w": 1.25}, + {"label": "Alt", "matrix": [9, 1], "x": 4.75, "y": 4.5, "w": 2.75}, + {"label": "Space", "matrix": [9, 2], "x": 7.5, "y": 4.5, "w": 1.25}, + + {"label": "Space", "matrix": [9, 3], "x": 9.5, "y": 4.5, "w": 1.25}, + {"label": "Alt", "matrix": [9, 4], "x": 10.75, "y": 4.5, "w": 2.25}, + {"label": "GUI", "matrix": [9, 5], "x": 15, "y": 4.5}, + {"label": "Ctrl", "matrix": [8, 6], "x": 16, "y": 4.5}, + + {"label": "\u2190", "matrix": [9, 6], "x": 17.25, "y": 4.75}, + {"label": "\u2193", "matrix": [8, 7], "x": 18.25, "y": 4.75}, + {"label": "\u2192", "matrix": [9, 7], "x": 19.25, "y": 4.75} + ] + }, + "LAYOUT_2u_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0.5, "y": 0.5}, + {"label": "1", "matrix": [1, 0], "x": 1.5, "y": 0.5}, + {"label": "2", "matrix": [0, 1], "x": 3.25, "y": 0.5}, + {"label": "3", "matrix": [1, 1], "x": 4.25, "y": 0.5}, + {"label": "4", "matrix": [0, 2], "x": 5.25, "y": 0.5}, + {"label": "5", "matrix": [1, 2], "x": 6.25, "y": 0.5}, + {"label": "6", "matrix": [0, 3], "x": 7.25, "y": 0.5}, + + {"label": "7", "matrix": [1, 3], "x": 10, "y": 0.5}, + {"label": "8", "matrix": [0, 4], "x": 11, "y": 0.5}, + {"label": "9", "matrix": [1, 4], "x": 12, "y": 0.5}, + {"label": "0", "matrix": [0, 5], "x": 13, "y": 0.5}, + {"label": "-", "matrix": [1, 5], "x": 14.5, "y": 0.5}, + {"label": "=", "matrix": [0, 6], "x": 15.5, "y": 0.5}, + {"label": "Backspace", "matrix": [1, 6], "x": 16.5, "y": 0.5, "w": 2}, + + {"label": "Mute", "matrix": [1, 7], "x": 19, "y": 0}, + + {"label": "Tab", "matrix": [2, 0], "x": 0.15, "y": 1.5, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.65, "y": 1.5}, + {"label": "W", "matrix": [2, 1], "x": 3.75, "y": 1.5}, + {"label": "E", "matrix": [3, 1], "x": 4.75, "y": 1.5}, + {"label": "R", "matrix": [2, 2], "x": 5.75, "y": 1.5}, + {"label": "T", "matrix": [3, 2], "x": 6.75, "y": 1.5}, + + {"label": "Y", "matrix": [3, 3], "x": 9.5, "y": 1.5}, + {"label": "U", "matrix": [2, 4], "x": 10.5, "y": 1.5}, + {"label": "I", "matrix": [3, 4], "x": 11.5, "y": 1.5}, + {"label": "O", "matrix": [2, 5], "x": 12.5, "y": 1.5}, + {"label": "P", "matrix": [3, 5], "x": 14.25, "y": 1.5}, + {"label": "[", "matrix": [2, 6], "x": 15.25, "y": 1.5}, + {"label": "]", "matrix": [3, 6], "x": 16.25, "y": 1.5}, + {"label": "\\", "matrix": [2, 7], "x": 17.25, "y": 1.5, "w": 1.5}, + + {"label": "Page Up", "matrix": [3, 7], "x": 19, "y": 1.5}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0.15, "y": 2.5, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.9, "y": 2.5}, + {"label": "S", "matrix": [4, 1], "x": 4, "y": 2.5}, + {"label": "D", "matrix": [5, 1], "x": 5, "y": 2.5}, + {"label": "F", "matrix": [4, 2], "x": 6, "y": 2.5}, + {"label": "G", "matrix": [5, 2], "x": 7, "y": 2.5}, + + {"label": "H", "matrix": [5, 3], "x": 9.75, "y": 2.5}, + {"label": "J", "matrix": [4, 4], "x": 10.75, "y": 2.5}, + {"label": "K", "matrix": [5, 4], "x": 11.75, "y": 2.5}, + {"label": "L", "matrix": [4, 5], "x": 12.75, "y": 2.5}, + {"label": ";", "matrix": [5, 5], "x": 14.5, "y": 2.5}, + {"label": "'", "matrix": [4, 6], "x": 15.5, "y": 2.5}, + {"label": "Enter", "matrix": [4, 7], "x": 16.5, "y": 2.5, "w": 2.25}, + + {"label": "Page Down", "matrix": [5, 7], "x": 19, "y": 2.5}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3.5, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3.5}, + {"label": "X", "matrix": [7, 1], "x": 4.5, "y": 3.5}, + {"label": "C", "matrix": [6, 2], "x": 5.5, "y": 3.5}, + {"label": "V", "matrix": [7, 2], "x": 6.5, "y": 3.5}, + {"label": "B", "matrix": [6, 3], "x": 7.5, "y": 3.5}, + + {"label": "B", "matrix": [7, 3], "x": 9.25, "y": 3.5}, + {"label": "N", "matrix": [6, 4], "x": 10.25, "y": 3.5}, + {"label": "M", "matrix": [7, 4], "x": 11.25, "y": 3.5}, + {"label": ",", "matrix": [6, 5], "x": 12.25, "y": 3.5}, + {"label": ".", "matrix": [7, 5], "x": 14.25, "y": 3.5}, + {"label": "/", "matrix": [6, 6], "x": 15.25, "y": 3.5}, + {"label": "Shift", "matrix": [7, 6], "x": 16.25, "y": 3.5, "w": 1.75}, + + {"label": "\u2191", "matrix": [6, 7], "x": 18.25, "y": 3.75}, + + {"label": "End", "matrix": [7, 7], "x": 19.5, "y": 3.5}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"label": "GUI", "matrix": [9, 0], "x": 1.25, "y": 4.5, "w": 1.25}, + {"label": "Alt", "matrix": [9, 1], "x": 4.75, "y": 4.5, "w": 2.75}, + {"label": "Space", "matrix": [9, 2], "x": 7.5, "y": 4.5, "w": 1.25}, + + {"label": "Space", "matrix": [9, 3], "x": 9.5, "y": 4.5, "w": 1.25}, + {"label": "Alt", "matrix": [9, 4], "x": 10.75, "y": 4.5, "w": 2.25}, + {"label": "GUI", "matrix": [9, 5], "x": 15, "y": 4.5}, + {"label": "Ctrl", "matrix": [8, 6], "x": 16, "y": 4.5}, + + {"label": "\u2190", "matrix": [9, 6], "x": 17.25, "y": 4.75}, + {"label": "\u2193", "matrix": [8, 7], "x": 18.25, "y": 4.75}, + {"label": "\u2192", "matrix": [9, 7], "x": 19.25, "y": 4.75} ] } } diff --git a/keyboards/p3d/glitch/matrix_diagram.md b/keyboards/p3d/glitch/matrix_diagram.md new file mode 100644 index 0000000000..be3874f4f3 --- /dev/null +++ b/keyboards/p3d/glitch/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for P3D Glitch + +``` + ┌───────┐ + 2u Backspace │16 │ + └───────┘┌───┐ + ┌───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐│17 │ + │00 │10 │01 │11 │02 │12 │03 │ │13 │04 │14 │05 │15 │06 │16 │07 │└───┘ +┌┴───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤┌───┐ +│20 │30 │21 │31 │22 │32 │ │33 │24 │34 │25 │35 │26 │36 │27 ││37 │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ +│40 │50 │41 │51 │42 │52 │ │53 │44 │54 │45 │55 │46 │47 ││57 │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─────┬──┘└─┬─┴─┐ +│60 │61 │71 │62 │72 │63 │ │73 │64 │74 │65 │75 │66 │76 │┌───┐│77 │ +├────┬───┴┬──┴┬──┴───┴───┼───┴┐ └┬──┴─┬─┴───┴──┬┴──┬┴──┬┴──┬───┘│67 │└───┘ +│80 │90 │ │91 │92 │ │93 │94 │ │95 │86 │┌───┼───┼───┐ +└────┴────┘ └──────────┴────┘ └────┴────────┘ └───┴───┘│96 │87 │97 │ + ┌────┬──────────┐ ┌────────┬────┐ └───┴───┴───┘ + │91 │92 │ │93 │94 │ + └────┴──────────┘ └────────┴────┘ +``` -- cgit v1.2.3