From 86dd439eb68759ef0daa19b09be95048b93e08d9 Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Wed, 17 Nov 2021 01:36:10 +0000
Subject: [PATCH] handwired/myskeeb Layout Macro Refactor (#15181)

* handwired/myskeeb: update key positions in info.json

* remove unused matrix positions

L26 and R20 aren't physically present on the keyboard.

* add image to readme file

* add supported hardware and flashing example to readme
---
 keyboards/handwired/myskeeb/info.json         | 145 +++++++++---------
 .../myskeeb/keymaps/default/keymap.c          |  11 +-
 keyboards/handwired/myskeeb/myskeeb.h         |  16 +-
 keyboards/handwired/myskeeb/readme.md         |   7 +
 4 files changed, 95 insertions(+), 84 deletions(-)

diff --git a/keyboards/handwired/myskeeb/info.json b/keyboards/handwired/myskeeb/info.json
index eecb6705367..27f1d2ae525 100644
--- a/keyboards/handwired/myskeeb/info.json
+++ b/keyboards/handwired/myskeeb/info.json
@@ -5,80 +5,85 @@
     "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":8, "y":0},
-                {"x":9, "y":0},
-                {"x":10, "y":0},
-                {"x":11, "y":0},
-                {"x":12, "y":0},
-                {"x":13, "y":0},
-                {"x":14, "y":0},
+                {"x":0, "y":1, "w":1.5},
+                {"x":1.5, "y":0.75},
+                {"x":2.5, "y":0.25},
+                {"x":3.5, "y":0},
+                {"x":4.5, "y":0.25},
+                {"x":5.5, "y":0.75},
+                {"x":6.5, "y":1},
 
-                {"x":0, "y":1},
-                {"x":1, "y":1},
-                {"x":2, "y":1},
-                {"x":3, "y":1},
-                {"x":4, "y":1},
-                {"x":5, "y":1},
-                {"x":6, "y":1},
-                {"x":8, "y":1},
-                {"x":9, "y":1},
-                {"x":10, "y":1},
-                {"x":11, "y":1},
-                {"x":12, "y":1},
-                {"x":13, "y":1},
-                {"x":14, "y":1},
+                {"x":9.5, "y":1},
+                {"x":10.5, "y":0.75},
+                {"x":11.5, "y":0.25},
+                {"x":12.5, "y":0},
+                {"x":13.5, "y":0.25},
+                {"x":14.5, "y":0.75},
+                {"x":15.5, "y":1, "w":1.5},
 
-                {"x":0, "y":2},
-                {"x":1, "y":2},
-                {"x":2, "y":2},
-                {"x":3, "y":2},
-                {"x":4, "y":2},
-                {"x":5, "y":2},
-                {"x":6, "y":2},
-                {"x":8, "y":2},
-                {"x":9, "y":2},
-                {"x":10, "y":2},
-                {"x":11, "y":2},
-                {"x":12, "y":2},
-                {"x":13, "y":2},
-                {"x":14, "y":2},
+                {"x":0, "y":2, "w":1.5},
+                {"x":1.5, "y":1.75},
+                {"x":2.5, "y":1.25},
+                {"x":3.5, "y":1},
+                {"x":4.5, "y":1.25},
+                {"x":5.5, "y":1.75},
+                {"x":6.5, "y":2, "h":1.5},
 
-                {"x":0, "y":3},
-                {"x":1, "y":3},
-                {"x":2, "y":3},
-                {"x":3, "y":3},
-                {"x":4, "y":3},
-                {"x":5, "y":3},
-                {"x":6, "y":3},
-                {"x":8, "y":3},
-                {"x":9, "y":3},
-                {"x":10, "y":3},
-                {"x":11, "y":3},
-                {"x":12, "y":3},
-                {"x":13, "y":3},
-                {"x":14, "y":3},
+                {"x":9.5, "y":2, "h":1.5},
+                {"x":10.5, "y":1.75},
+                {"x":11.5, "y":1.25},
+                {"x":12.5, "y":1},
+                {"x":13.5, "y":1.25},
+                {"x":14.5, "y":1.75},
+                {"x":15.5, "y":2, "w":1.5},
 
-                {"x":0, "y":4},
-                {"x":1, "y":4},
-                {"x":2, "y":4},
-                {"x":3, "y":4},
-                {"x":4, "y":4},
-                {"x":5, "y":4},
-                {"x":6, "y":4},
-                {"x":8, "y":4},
-                {"x":9, "y":4},
-                {"x":10, "y":4},
-                {"x":11, "y":4},
-                {"x":12, "y":4},
-                {"x":13, "y":4},
-                {"x":14, "y":4}
+                {"x":0, "y":3, "w":1.5},
+                {"x":1.5, "y":2.75},
+                {"x":2.5, "y":2.25},
+                {"x":3.5, "y":2},
+                {"x":4.5, "y":2.25},
+                {"x":5.5, "y":2.75},
+
+                {"x":10.5, "y":2.75},
+                {"x":11.5, "y":2.25},
+                {"x":12.5, "y":2},
+                {"x":13.5, "y":2.25},
+                {"x":14.5, "y":2.75},
+                {"x":15.5, "y":3, "w":1.5},
+
+                {"x":0, "y":4, "w":1.5},
+                {"x":1.5, "y":3.75},
+                {"x":2.5, "y":3.25},
+                {"x":3.5, "y":3},
+                {"x":4.5, "y":3.25},
+                {"x":5.5, "y":3.75},
+                {"x":6.5, "y":3.5, "h":1.5},
+
+                {"x":9.5, "y":3.5, "h":1.5},
+                {"x":10.5, "y":3.75},
+                {"x":11.5, "y":3.25},
+                {"x":12.5, "y":3},
+                {"x":13.5, "y":3.25},
+                {"x":14.5, "y":3.75},
+                {"x":15.5, "y":4, "w":1.5},
+
+                {"x":0.25, "y":5},
+                {"x":1.5, "y":4.75},
+                {"x":2.5, "y":4.25},
+                {"x":3.5, "y":4},
+
+                {"x":5, "y":6},
+                {"x":6, "y":5.5, "h":2},
+                {"x":7, "y":5.5, "h":2},
+
+                {"x":9, "y":5.5, "h":2},
+                {"x":10, "y":5.5, "h":2},
+                {"x":11, "y":6},
+
+                {"x":12.5, "y":4},
+                {"x":13.5, "y":4.25},
+                {"x":14.5, "y":4.75},
+                {"x":15.75, "y":5}
             ]
         }
     }
diff --git a/keyboards/handwired/myskeeb/keymaps/default/keymap.c b/keyboards/handwired/myskeeb/keymaps/default/keymap.c
index 05abf5d5435..61cf607865b 100644
--- a/keyboards/handwired/myskeeb/keymaps/default/keymap.c
+++ b/keyboards/handwired/myskeeb/keymaps/default/keymap.c
@@ -68,32 +68,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [0] = LAYOUT(
         KC_ESC,  KC_1,    KC_2,    KC_3,   KC_4,          KC_5,   KC_EQL,             KC_MINS,    KC_6,   KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
         KC_TAB,  KC_Q,    KC_W,    KC_E,   KC_R,          KC_T,   TD(OP_QT),          TD(CL_QT),  KC_Y,   KC_U,    KC_I,    KC_O,    KC_P,    KC_BSLS,
-        KC_CAPS, KC_A,    KC_S,    KC_D,   KC_F,          KC_G,   KC_NO,              KC_NO,      KC_H,   KC_J,    KC_K,    KC_L,    KC_SCLN, TD(TD_DQ),
+        KC_CAPS, KC_A,    KC_S,    KC_D,   KC_F,          KC_G,                                   KC_H,   KC_J,    KC_K,    KC_L,    KC_SCLN, TD(TD_DQ),
         KC_LSFT, KC_Z,    KC_X,    KC_C,   KC_V,          KC_B,   KC_CALC,            KC_PSCR,    KC_N,   KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
         KC_LCTL, KC_LGUI, KC_LALT, KC_DEL, LT(1,KC_BSPC), KC_SPC, KC_ENT,             KC_ENT,     KC_SPC, TD(TL),  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
     ),
     [1] = LAYOUT(
         KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,            KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_BSPC,
         KC_CAPS, KC_PDOT, KC_PPLS, KC_PMNS, KC_PAST, KC_PSLS, KC_MSEL,          KC_MSTP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PWR,  RESET,
-        KC_TAB,  KC_P6,   KC_P7,   KC_P8,   KC_P9,   KC_P0,   KC_NO,            KC_NO,   KC_SLCK, NK_ON,   EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TAB,  KC_P6,   KC_P7,   KC_P8,   KC_P9,   KC_P0,                              KC_SLCK, NK_ON,   EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS,
         KC_LSFT, KC_P1,   KC_P2,   KC_P3,   KC_P4,   KC_P5,   KC_MUTE,          KC_MPLY, KC_NLCK, NK_OFF,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
         KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_TRNS, KC_VOLD, KC_VOLU,          KC_MPRV, KC_MNXT, TO(2),   KC_HOME, KC_PGDN, KC_PGUP, KC_END
     ),
     [2] = LAYOUT(
         KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,             KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
         KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_7,             KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
-        KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_NO,            KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
+        KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_SPC,           KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
         KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_SPC,  KC_SPC,  KC_SPC,           KC_NO,   KC_NO,   TO(3),   KC_NO,   KC_NO,   KC_LALT, KC_TAB
     ),
     [3] = LAYOUT(
         KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,             KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
         KC_TAB,  KC_A,    KC_W,    KC_E,    KC_R,    KC_T,    KC_H,             KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
-        KC_LSFT, KC_Z,    KC_S,    KC_D,    KC_F,    KC_G,    KC_NO,            KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
+        KC_LSFT, KC_Z,    KC_S,    KC_D,    KC_F,    KC_G,                               KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
         KC_LCTL, KC_NO,   KC_X,    KC_C,    KC_V,    KC_B,    KC_M,             KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
         KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_SPC,  KC_SPC,  KC_Q,             KC_NO,   KC_NO,   TO(0),   KC_NO,   KC_NO,   KC_LALT, KC_TAB
     )
 };
-
-
-	
\ No newline at end of file
diff --git a/keyboards/handwired/myskeeb/myskeeb.h b/keyboards/handwired/myskeeb/myskeeb.h
index 60762a35cd6..208258b77bc 100644
--- a/keyboards/handwired/myskeeb/myskeeb.h
+++ b/keyboards/handwired/myskeeb/myskeeb.h
@@ -1,21 +1,23 @@
 #include "quantum.h"
 
+#define XXX KC_NO
+
 #define LAYOUT( \
-    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
-    L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
-    L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
-    L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
-    L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46  \
+    L00, L01, L02, L03, L04, L05, L06,   R00, R01, R02, R03, R04, R05, R06, \
+    L10, L11, L12, L13, L14, L15, L16,   R10, R11, R12, R13, R14, R15, R16, \
+    L20, L21, L22, L23, L24, L25,             R21, R22, R23, R24, R25, R26, \
+    L30, L31, L32, L33, L34, L35, L36,   R30, R31, R32, R33, R34, R35, R36, \
+    L40, L41, L42, L43, L44, L45, L46,   R40, R41, R42, R43, R44, R45, R46  \
     ) \
     { \
         { L00, L01, L02, L03, L04, L05, L06 }, \
         { L10, L11, L12, L13, L14, L15, L16 }, \
-        { L20, L21, L22, L23, L24, L25, L26 }, \
+        { L20, L21, L22, L23, L24, L25, XXX }, \
         { L30, L31, L32, L33, L34, L35, L36 }, \
         { L40, L41, L42, L43, L44, L45, L46 }, \
         { R00, R01, R02, R03, R04, R05, R06 }, \
         { R10, R11, R12, R13, R14, R15, R16 }, \
-        { R20, R21, R22, R23, R24, R25, R26 }, \
+        { XXX, R21, R22, R23, R24, R25, R26 }, \
         { R30, R31, R32, R33, R34, R35, R36 }, \
         { R40, R41, R42, R43, R44, R45, R46 }  \
     }
diff --git a/keyboards/handwired/myskeeb/readme.md b/keyboards/handwired/myskeeb/readme.md
index 80be57e4b68..ddc326fe3e3 100644
--- a/keyboards/handwired/myskeeb/readme.md
+++ b/keyboards/handwired/myskeeb/readme.md
@@ -1,11 +1,18 @@
 # myskeeb
 
+![](https://i.imgur.com/ojGvzrbh.jpg)
+
 Handwired Keyboard based on the Ergodash, with an OLED similar to Kyria.
 
 * Keyboard Maintainer: [su8044](https://github.com/su8044)
+* Hardware Supported: Pro Micro (ATmega32U4)
 
 Make example for this keyboard (after setting up your build environment):
 
     make handwired/myskeeb:default
 
+Flashing example for this keyboard:
+
+    make handwired/myskeeb:default:flash
+
 See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).