From 3df52050c12cd5e6286664672efc6f43849d935d Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Wed, 5 Aug 2020 11:43:31 -0700
Subject: [PATCH] [Keyboard] Fix Configurator data for Mechlovin Hannah910 rev2
 (#9903)

* fix Configurator data

* rework layout macros

* enable 65_ansi_blocker Community Layout support

* fix layout macro references in info.json

* update rules.mk per fauxpark

* update rules.mk per fauxpark II
---
 keyboards/mechlovin/hannah910/rev2/info.json | 147 ++++++++++++++++++-
 keyboards/mechlovin/hannah910/rev2/rev2.h    |  80 +++++-----
 keyboards/mechlovin/hannah910/rev2/rules.mk  |  17 +--
 3 files changed, 188 insertions(+), 56 deletions(-)

diff --git a/keyboards/mechlovin/hannah910/rev2/info.json b/keyboards/mechlovin/hannah910/rev2/info.json
index df48fbcf324..b094bfdcf86 100644
--- a/keyboards/mechlovin/hannah910/rev2/info.json
+++ b/keyboards/mechlovin/hannah910/rev2/info.json
@@ -5,8 +5,7 @@
     "width": 16,
     "height": 5,
     "layouts": {
-        "LAYOUT": {
-            "key_count": 72,
+        "LAYOUT_all": {
             "layout": [
                 {"label":"K00 (B0,B5)", "x":0, "y":0},
                 {"label":"K01 (B0,B6)", "x":1, "y":0},
@@ -81,6 +80,150 @@
                 {"label":"K4D (B4,D2)", "x":14, "y":4},
                 {"label":"K4E (B4,D3)", "x":15, "y":4}
             ]
+        },
+        "LAYOUT_65_iso_blocker_split_bs": {
+            "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":"K04", "x":4, "y":0},
+                {"label":"K05", "x":5, "y":0},
+                {"label":"K06", "x":6, "y":0},
+                {"label":"K07", "x":7, "y":0},
+                {"label":"K08", "x":8, "y":0},
+                {"label":"K09", "x":9, "y":0},
+                {"label":"K0A", "x":10, "y":0},
+                {"label":"K0B", "x":11, "y":0},
+                {"label":"K0C", "x":12, "y":0},
+                {"label":"K0D", "x":13, "y":0},
+                {"label":"K0E", "x":14, "y":0},
+                {"label":"K49", "x":15, "y":0},
+                {"label":"K10", "x":0, "y":1, "w":1.5},
+                {"label":"K11", "x":1.5, "y":1},
+                {"label":"K12", "x":2.5, "y":1},
+                {"label":"K13", "x":3.5, "y":1},
+                {"label":"K14", "x":4.5, "y":1},
+                {"label":"K15", "x":5.5, "y":1},
+                {"label":"K16", "x":6.5, "y":1},
+                {"label":"K17", "x":7.5, "y":1},
+                {"label":"K18", "x":8.5, "y":1},
+                {"label":"K19", "x":9.5, "y":1},
+                {"label":"K1A", "x":10.5, "y":1},
+                {"label":"K1B", "x":11.5, "y":1},
+                {"label":"K1C", "x":12.5, "y":1},
+                {"label":"K1E", "x":15, "y":1},
+                {"label":"K20", "x":0, "y":2, "w":1.75},
+                {"label":"K21", "x":1.75, "y":2},
+                {"label":"K22", "x":2.75, "y":2},
+                {"label":"K23", "x":3.75, "y":2},
+                {"label":"K24", "x":4.75, "y":2},
+                {"label":"K25", "x":5.75, "y":2},
+                {"label":"K26", "x":6.75, "y":2},
+                {"label":"K27", "x":7.75, "y":2},
+                {"label":"K28", "x":8.75, "y":2},
+                {"label":"K29", "x":9.75, "y":2},
+                {"label":"K2A", "x":10.75, "y":2},
+                {"label":"K2B", "x":11.75, "y":2},
+                {"label":"K2C", "x":12.75, "y":2},
+                {"label":"K2D", "x":13.75, "y":1, "w":1.25, "h":2},
+                {"label":"K2E", "x":15, "y":2},
+                {"label":"K30", "x":0, "y":3, "w":1.25},
+                {"label":"K31", "x":1.25, "y":3},
+                {"label":"K32", "x":2.25, "y":3},
+                {"label":"K33", "x":3.25, "y":3},
+                {"label":"K34", "x":4.25, "y":3},
+                {"label":"K35", "x":5.25, "y":3},
+                {"label":"K36", "x":6.25, "y":3},
+                {"label":"K37", "x":7.25, "y":3},
+                {"label":"K38", "x":8.25, "y":3},
+                {"label":"K39", "x":9.25, "y":3},
+                {"label":"K3A", "x":10.25, "y":3},
+                {"label":"K3B", "x":11.25, "y":3},
+                {"label":"K3C", "x":12.25, "y":3, "w":1.75},
+                {"label":"K3D", "x":14, "y":3},
+                {"label":"K3E", "x":15, "y":3},
+                {"label":"K40", "x":0, "y":4, "w":1.25},
+                {"label":"K41", "x":1.25, "y":4, "w":1.25},
+                {"label":"K42", "x":2.5, "y":4, "w":1.25},
+                {"label":"K46", "x":3.75, "y":4, "w":6.25},
+                {"label":"K4A", "x":10, "y":4, "w":1.25},
+                {"label":"K4B", "x":11.25, "y":4, "w":1.25},
+                {"label":"K4C", "x":13, "y":4},
+                {"label":"K4D", "x":14, "y":4},
+                {"label":"K4E", "x":15, "y":4}
+            ]
+        },
+        "LAYOUT_65_ansi_blocker": {
+            "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":"K04", "x":4, "y":0},
+                {"label":"K05", "x":5, "y":0},
+                {"label":"K06", "x":6, "y":0},
+                {"label":"K07", "x":7, "y":0},
+                {"label":"K08", "x":8, "y":0},
+                {"label":"K09", "x":9, "y":0},
+                {"label":"K0A", "x":10, "y":0},
+                {"label":"K0B", "x":11, "y":0},
+                {"label":"K0C", "x":12, "y":0},
+                {"label":"K0D", "x":13, "y":0, "w":2},
+                {"label":"K49", "x":15, "y":0},
+                {"label":"K10", "x":0, "y":1, "w":1.5},
+                {"label":"K11", "x":1.5, "y":1},
+                {"label":"K12", "x":2.5, "y":1},
+                {"label":"K13", "x":3.5, "y":1},
+                {"label":"K14", "x":4.5, "y":1},
+                {"label":"K15", "x":5.5, "y":1},
+                {"label":"K16", "x":6.5, "y":1},
+                {"label":"K17", "x":7.5, "y":1},
+                {"label":"K18", "x":8.5, "y":1},
+                {"label":"K19", "x":9.5, "y":1},
+                {"label":"K1A", "x":10.5, "y":1},
+                {"label":"K1B", "x":11.5, "y":1},
+                {"label":"K1C", "x":12.5, "y":1},
+                {"label":"K1D", "x":13.5, "y":1, "w":1.5},
+                {"label":"K1E", "x":15, "y":1},
+                {"label":"K20", "x":0, "y":2, "w":1.75},
+                {"label":"K21", "x":1.75, "y":2},
+                {"label":"K22", "x":2.75, "y":2},
+                {"label":"K23", "x":3.75, "y":2},
+                {"label":"K24", "x":4.75, "y":2},
+                {"label":"K25", "x":5.75, "y":2},
+                {"label":"K26", "x":6.75, "y":2},
+                {"label":"K27", "x":7.75, "y":2},
+                {"label":"K28", "x":8.75, "y":2},
+                {"label":"K29", "x":9.75, "y":2},
+                {"label":"K2A", "x":10.75, "y":2},
+                {"label":"K2B", "x":11.75, "y":2},
+                {"label":"K2D", "x":12.75, "y":2, "w":2.25},
+                {"label":"K2E", "x":15, "y":2},
+                {"label":"K30", "x":0, "y":3, "w":2.25},
+                {"label":"K32", "x":2.25, "y":3},
+                {"label":"K33", "x":3.25, "y":3},
+                {"label":"K34", "x":4.25, "y":3},
+                {"label":"K35", "x":5.25, "y":3},
+                {"label":"K36", "x":6.25, "y":3},
+                {"label":"K37", "x":7.25, "y":3},
+                {"label":"K38", "x":8.25, "y":3},
+                {"label":"K39", "x":9.25, "y":3},
+                {"label":"K3A", "x":10.25, "y":3},
+                {"label":"K3B", "x":11.25, "y":3},
+                {"label":"K3C", "x":12.25, "y":3, "w":1.75},
+                {"label":"K3D", "x":14, "y":3},
+                {"label":"K3E", "x":15, "y":3},
+                {"label":"K40", "x":0, "y":4, "w":1.25},
+                {"label":"K41", "x":1.25, "y":4, "w":1.25},
+                {"label":"K42", "x":2.5, "y":4, "w":1.25},
+                {"label":"K46", "x":3.75, "y":4, "w":6.25},
+                {"label":"K4A", "x":10, "y":4, "w":1.25},
+                {"label":"K4B", "x":11.25, "y":4, "w":1.25},
+                {"label":"K4C", "x":13, "y":4},
+                {"label":"K4D", "x":14, "y":4},
+                {"label":"K4E", "x":15, "y":4}
+            ]
         }
     }
     ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
diff --git a/keyboards/mechlovin/hannah910/rev2/rev2.h b/keyboards/mechlovin/hannah910/rev2/rev2.h
index d212d1ea3e0..6d87fea7e88 100644
--- a/keyboards/mechlovin/hannah910/rev2/rev2.h
+++ b/keyboards/mechlovin/hannah910/rev2/rev2.h
@@ -1,50 +1,48 @@
 #pragma once
 
-
 #include "quantum.h"
 
-
 #define LAYOUT_all( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k67, \
-    k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, k45, \
-    k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60, \
-    k61, k62, k63,      k64,      k65,      k66,      k68, k69, k70, k71, k72  \
-) \
-{ \
-    { k00, k01, k02, k03,   k04, k05,   k06, k07,   k08, k09, k10, k11, k12, k13, k14 }, \
-    { k15, k16, k17, k18,   k19, k20,   k21, k22,   k23, k24, k25, k26, k27, k28, k29 }, \
-    { k30, k31, k32, k33,   k34, k35,   k36, k37,   k38, k39, k40, k41, k42, k43, k45 }, \
-    { k46, k47, k48, k49,   k50, k51,   k52, k53,   k54, k55, k56, k57, k58, k59, k60 }, \
-    { k61, k62, k63, KC_NO, k64, KC_NO, k65, KC_NO, k66, k67, k68, k69, k70, k71, k72 }, \
-}
-#define LAYOUT_iso( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k66, \
-    k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27,      k29, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, k45, \
-    k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60, \
-    k61, k62, k63,                k65,                k67, k68, k69, k70, k71  \
-) \
-{ \
-    { k00, k01, k02, k03,   k04,   k05,   k06,   k07,   k08, k09,   k10, k11, k12, k13,   k14 }, \
-    { k15, k16, k17, k18,   k19,   k20,   k21,   k22,   k23, k24,   k25, k26, k27, KC_NO, k29 }, \
-    { k30, k31, k32, k33,   k34,   k35,   k36,   k37,   k38, k39,   k40, k41, k42, k43,   k45 }, \
-    { k46, k47, k48, k49,   k50,   k51,   k52,   k53,   k54, k55,   k56, k57, k58, k59,   k60 }, \
-    { k61, k62, k63, KC_NO, KC_NO, KC_NO, k65, KC_NO, KC_NO, k66, k67, k68, k69, k70,   k71 }, \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K49, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+    K40, K41, K42,      K44,      K46,      K48,      K4A, K4B, K4C, K4D, K4E  \
+) { \
+    { K00, K01, K02, K03,   K04, K05,   K06, K07,   K08, K09, K0A, K0B, K0C, K0D, K0E }, \
+    { K10, K11, K12, K13,   K14, K15,   K16, K17,   K18, K19, K1A, K1B, K1C, K1D, K1E }, \
+    { K20, K21, K22, K23,   K24, K25,   K26, K27,   K28, K29, K2A, K2B, K2C, K2D, K2E }, \
+    { K30, K31, K32, K33,   K34, K35,   K36, K37,   K38, K39, K3A, K3B, K3C, K3D, K3E }, \
+    { K40, K41, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, K49, K4A, K4B, K4C, K4D, K4E }  \
 }
 
-#define LAYOUT_ansi( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k66, \
-    k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41,      k43, k45, \
-    k46,      k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60, \
-    k61, k62, k63,                k65,                k67, k68, k69, k70, k71  \
-) \
-{ \
-    { k00, k01,   k02, k03,   k04,   k05,   k06, k07,   k08,   k09,   k10, k11, k12,   k13, KC_NO }, \
-    { k15, k16,   k17, k18,   k19,   k20,   k21, k22,   k23,   k24,   k25, k26, k27,   k28, k29   }, \
-    { k30, k31,   k32, k33,   k34,   k35,   k36, k37,   k38,   k39,   k40, k41, KC_NO, k43, k45   }, \
-    { k46, KC_NO, k48, k49,   k50,   k51,   k52, k53,   k54,   k55,   k56, k57, k58,   k59, k60   }, \
-    { k61, k62,   k63, KC_NO, KC_NO, KC_NO, k65, KC_NO, KC_NO, k66, k67, k68, k69,   k70, k71 }, \
+#define LAYOUT_65_iso_blocker_split_bs( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K49, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      K1E, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+    K40, K41, K42,                K46,                K4A, K4B, K4C, K4D, K4E  \
+) { \
+    { K00, K01, K02, K03,   K04,   K05,   K06, K07,   K08,   K09, K0A, K0B, K0C, K0D,   K0E }, \
+    { K10, K11, K12, K13,   K14,   K15,   K16, K17,   K18,   K19, K1A, K1B, K1C, KC_NO, K1E }, \
+    { K20, K21, K22, K23,   K24,   K25,   K26, K27,   K28,   K29, K2A, K2B, K2C, K2D,   K2E }, \
+    { K30, K31, K32, K33,   K34,   K35,   K36, K37,   K38,   K39, K3A, K3B, K3C, K3D,   K3E }, \
+    { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D,   K4E }  \
 }
 
+#define LAYOUT_65_ansi_blocker( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, K2E, \
+    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+    K40, K41, K42,                K46,                K4A, K4B, K4C, K4D, K4E  \
+) { \
+    { K00, K01,   K02, K03,   K04,   K05,   K06, K07,   K08,   K09, K0A, K0B, K0C,   K0D, KC_NO }, \
+    { K10, K11,   K12, K13,   K14,   K15,   K16, K17,   K18,   K19, K1A, K1B, K1C,   K1D, K1E   }, \
+    { K20, K21,   K22, K23,   K24,   K25,   K26, K27,   K28,   K29, K2A, K2B, KC_NO, K2D, K2E   }, \
+    { K30, KC_NO, K32, K33,   K34,   K35,   K36, K37,   K38,   K39, K3A, K3B, K3C,   K3D, K3E   }, \
+    { K40, K41,   K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, K4B, K4C,   K4D, K4E   }  \
+}
+
+#define LAYOUT_iso LAYOUT_65_iso_blocker_split_bs
+#define LAYOUT_ansi LAYOUT_65_ansi_blocker
diff --git a/keyboards/mechlovin/hannah910/rev2/rules.mk b/keyboards/mechlovin/hannah910/rev2/rules.mk
index e8100a0f42d..4f114baa92b 100644
--- a/keyboards/mechlovin/hannah910/rev2/rules.mk
+++ b/keyboards/mechlovin/hannah910/rev2/rules.mk
@@ -2,13 +2,6 @@
 MCU = atmega32u4
 
 # Bootloader selection
-#   Teensy       halfkay
-#   Pro Micro    caterina
-#   Atmel DFU    atmel-dfu
-#   LUFA DFU     lufa-dfu
-#   QMK DFU      qmk-dfu
-#   ATmega32A    bootloadHID
-#   ATmega328P   USBasp
 BOOTLOADER = atmel-dfu
 
 # Build Options
@@ -25,9 +18,7 @@ SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 NKRO_ENABLE = no            # USB Nkey Rollover
 BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-MIDI_ENABLE = no            # MIDI support
-UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no           # Audio output on port C6
-FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no         # Enable support for HD44780 based LCDs
\ No newline at end of file
+BLUETOOTH_ENABLE = no       # Enable Bluetooth
+AUDIO_ENABLE = no           # Audio output
+
+LAYOUTS = 65_ansi_blocker