From aab2ac22c5217afcbbbaff8b5444b02765f6de66 Mon Sep 17 00:00:00 2001
From: Ryan <fauxpark@gmail.com>
Date: Fri, 4 Mar 2022 14:52:15 +1100
Subject: [PATCH] Melody96 refactor (#16455)

---
 keyboards/melody96/info.json                  | 886 +++++++++++++++++-
 keyboards/melody96/keymaps/default/keymap.c   |  86 +-
 .../keymap.c                                  |  32 +-
 .../default_std60_split_num0/readme.md        |  39 -
 keyboards/melody96/keymaps/via/keymap.c       |  64 +-
 keyboards/melody96/keymaps/via/readme.md      |   5 -
 keyboards/melody96/keymaps/via/rules.mk       |   2 +-
 keyboards/melody96/melody96.h                 | 310 ++++--
 keyboards/melody96/readme.md                  |  14 +-
 keyboards/melody96/rules.mk                   |  14 +-
 10 files changed, 1177 insertions(+), 275 deletions(-)
 rename keyboards/melody96/keymaps/{default_std60_split_num0 => default_96_with60_split_num0}/keymap.c (82%)
 delete mode 100644 keyboards/melody96/keymaps/default_std60_split_num0/readme.md
 delete mode 100644 keyboards/melody96/keymaps/via/readme.md

diff --git a/keyboards/melody96/info.json b/keyboards/melody96/info.json
index e6f3a03ad8..7db60fa7d4 100644
--- a/keyboards/melody96/info.json
+++ b/keyboards/melody96/info.json
@@ -1,16 +1,884 @@
 {
-    "keyboard_name": "melody96", 
-    "url": "", 
-    "maintainer": "qmk", 
+    "keyboard_name": "melody96",
+    "url": "",
+    "maintainer": "qmk",
+    "layout_aliases": {
+        "LAYOUT": "LAYOUT_all",
+        "LAYOUT_hotswap": "LAYOUT_96_ansi"
+    },
     "layouts": {
-        "LAYOUT": {
-            "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Scroll Lock", "x":14, "y":0}, {"label":"Pause", "x":15, "y":0}, {"label":"Insert", "x":16, "y":0}, {"label":"Home", "x":17, "y":0}, {"label":"PgUp", "x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"label":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"+", "x":18, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"x":18, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Enter", "x":18, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Win", "x":11, "y":5}, {"x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"label":".", "x":17, "y":5}, {"x":18, "y":5}]
+        "LAYOUT_all": {
+            "layout": [
+                {"x": 0, "y": 0},
+                {"x": 1, "y": 0},
+                {"x": 2, "y": 0},
+                {"x": 3, "y": 0},
+                {"x": 4, "y": 0},
+                {"x": 5, "y": 0},
+                {"x": 6, "y": 0},
+                {"x": 7, "y": 0},
+                {"x": 8, "y": 0},
+                {"x": 9, "y": 0},
+                {"x": 10, "y": 0},
+                {"x": 11, "y": 0},
+                {"x": 12, "y": 0},
+                {"x": 13, "y": 0},
+                {"x": 14, "y": 0},
+                {"x": 15, "y": 0},
+                {"x": 16, "y": 0},
+                {"x": 17, "y": 0},
+                {"x": 18, "y": 0},
+
+                {"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": 7, "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": 15, "y": 1},
+                {"x": 16, "y": 1},
+                {"x": 17, "y": 1},
+                {"x": 18, "y": 1},
+
+                {"x": 0, "y": 2, "w": 1.5},
+                {"x": 1.5, "y": 2},
+                {"x": 2.5, "y": 2},
+                {"x": 3.5, "y": 2},
+                {"x": 4.5, "y": 2},
+                {"x": 5.5, "y": 2},
+                {"x": 6.5, "y": 2},
+                {"x": 7.5, "y": 2},
+                {"x": 8.5, "y": 2},
+                {"x": 9.5, "y": 2},
+                {"x": 10.5, "y": 2},
+                {"x": 11.5, "y": 2},
+                {"x": 12.5, "y": 2},
+                {"x": 13.5, "y": 2, "w": 1.5},
+                {"x": 15, "y": 2},
+                {"x": 16, "y": 2},
+                {"x": 17, "y": 2},
+                {"x": 18, "y": 2},
+
+                {"x": 0, "y": 3, "w": 1.75},
+                {"x": 1.75, "y": 3},
+                {"x": 2.75, "y": 3},
+                {"x": 3.75, "y": 3},
+                {"x": 4.75, "y": 3},
+                {"x": 5.75, "y": 3},
+                {"x": 6.75, "y": 3},
+                {"x": 7.75, "y": 3},
+                {"x": 8.75, "y": 3},
+                {"x": 9.75, "y": 3},
+                {"x": 10.75, "y": 3},
+                {"x": 11.75, "y": 3},
+                {"x": 12.75, "y": 3, "w": 2.25},
+                {"x": 15, "y": 3},
+                {"x": 16, "y": 3},
+                {"x": 17, "y": 3},
+                {"x": 18, "y": 3},
+
+                {"x": 0, "y": 4, "w": 1.25},
+                {"x": 1.25, "y": 4},
+                {"x": 2.25, "y": 4},
+                {"x": 3.25, "y": 4},
+                {"x": 4.25, "y": 4},
+                {"x": 5.25, "y": 4},
+                {"x": 6.25, "y": 4},
+                {"x": 7.25, "y": 4},
+                {"x": 8.25, "y": 4},
+                {"x": 9.25, "y": 4},
+                {"x": 10.25, "y": 4},
+                {"x": 11.25, "y": 4},
+                {"x": 12.25, "y": 4, "w": 1.75},
+                {"x": 14, "y": 4},
+                {"x": 15, "y": 4},
+                {"x": 16, "y": 4},
+                {"x": 17, "y": 4},
+                {"x": 18, "y": 4},
+
+                {"x": 0, "y": 5, "w": 1.25},
+                {"x": 1.25, "y": 5, "w": 1.25},
+                {"x": 2.5, "y": 5, "w": 1.25},
+                {"x": 3.75, "y": 5, "w": 6.25},
+                {"x": 10, "y": 5},
+                {"x": 11, "y": 5},
+                {"x": 12, "y": 5},
+                {"x": 13, "y": 5},
+                {"x": 14, "y": 5},
+                {"x": 15, "y": 5},
+                {"x": 16, "y": 5},
+                {"x": 17, "y": 5},
+                {"x": 18, "y": 5}
+            ]
         },
-        "LAYOUT_hotswap": {
-            "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Home", "x":13, "y":0}, {"label":"End", "x":14, "y":0}, {"label":"PgUp", "x":15, "y":0}, {"label":"PgDn", "x":16, "y":0}, {"label":"Media Play", "x":17, "y":0}, {"label":"Pause", "x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"+", "x":18, "y":2, "h":2}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"Up", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"GUI", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"label":"Space", "x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"Left", "x":13, "y":5}, {"label":"Down", "x":14, "y":5}, {"label":"Right", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"label":".", "x":17, "y":5}, {"label":"Enter", "x":18, "y":4, "h":2}]
+        "LAYOUT_96_ansi": {
+            "layout": [
+                {"x": 0, "y": 0},
+                {"x": 1, "y": 0},
+                {"x": 2, "y": 0},
+                {"x": 3, "y": 0},
+                {"x": 4, "y": 0},
+                {"x": 5, "y": 0},
+                {"x": 6, "y": 0},
+                {"x": 7, "y": 0},
+                {"x": 8, "y": 0},
+                {"x": 9, "y": 0},
+                {"x": 10, "y": 0},
+                {"x": 11, "y": 0},
+                {"x": 12, "y": 0},
+                {"x": 13, "y": 0},
+                {"x": 14, "y": 0},
+                {"x": 15, "y": 0},
+                {"x": 16, "y": 0},
+                {"x": 17, "y": 0},
+                {"x": 18, "y": 0},
+
+                {"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": 7, "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, "w": 2},
+                {"x": 15, "y": 1},
+                {"x": 16, "y": 1},
+                {"x": 17, "y": 1},
+                {"x": 18, "y": 1},
+
+                {"x": 0, "y": 2, "w": 1.5},
+                {"x": 1.5, "y": 2},
+                {"x": 2.5, "y": 2},
+                {"x": 3.5, "y": 2},
+                {"x": 4.5, "y": 2},
+                {"x": 5.5, "y": 2},
+                {"x": 6.5, "y": 2},
+                {"x": 7.5, "y": 2},
+                {"x": 8.5, "y": 2},
+                {"x": 9.5, "y": 2},
+                {"x": 10.5, "y": 2},
+                {"x": 11.5, "y": 2},
+                {"x": 12.5, "y": 2},
+                {"x": 13.5, "y": 2, "w": 1.5},
+                {"x": 15, "y": 2},
+                {"x": 16, "y": 2},
+                {"x": 17, "y": 2},
+                {"x": 18, "y": 2, "h": 2},
+
+                {"x": 0, "y": 3, "w": 1.75},
+                {"x": 1.75, "y": 3},
+                {"x": 2.75, "y": 3},
+                {"x": 3.75, "y": 3},
+                {"x": 4.75, "y": 3},
+                {"x": 5.75, "y": 3},
+                {"x": 6.75, "y": 3},
+                {"x": 7.75, "y": 3},
+                {"x": 8.75, "y": 3},
+                {"x": 9.75, "y": 3},
+                {"x": 10.75, "y": 3},
+                {"x": 11.75, "y": 3},
+                {"x": 12.75, "y": 3, "w": 2.25},
+                {"x": 15, "y": 3},
+                {"x": 16, "y": 3},
+                {"x": 17, "y": 3},
+
+                {"x": 0, "y": 4, "w": 2.25},
+                {"x": 2.25, "y": 4},
+                {"x": 3.25, "y": 4},
+                {"x": 4.25, "y": 4},
+                {"x": 5.25, "y": 4},
+                {"x": 6.25, "y": 4},
+                {"x": 7.25, "y": 4},
+                {"x": 8.25, "y": 4},
+                {"x": 9.25, "y": 4},
+                {"x": 10.25, "y": 4},
+                {"x": 11.25, "y": 4},
+                {"x": 12.25, "y": 4, "w": 1.75},
+                {"x": 14, "y": 4},
+                {"x": 15, "y": 4},
+                {"x": 16, "y": 4},
+                {"x": 17, "y": 4},
+                {"x": 18, "y": 4, "h": 2},
+
+                {"x": 0, "y": 5, "w": 1.25},
+                {"x": 1.25, "y": 5, "w": 1.25},
+                {"x": 2.5, "y": 5, "w": 1.25},
+                {"x": 3.75, "y": 5, "w": 6.25},
+                {"x": 10, "y": 5},
+                {"x": 11, "y": 5},
+                {"x": 12, "y": 5},
+                {"x": 13, "y": 5},
+                {"x": 14, "y": 5},
+                {"x": 15, "y": 5},
+                {"x": 16, "y": 5},
+                {"x": 17, "y": 5}
+            ]
         },
-        "LAYOUT_std60_split_num0": {
-            "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Home", "x":14, "y":0}, {"label":"End", "x":15, "y":0}, {"label":"PgUp", "x":16, "y":0}, {"label":"PgDn", "x":17, "y":0}, {"label":"Delete", "x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"+", "x":18, "y":2, "h":2}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":2.75}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"GUI", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"label":"Space", "x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5, "w":1.25}, {"label":"Fn", "x":11.25, "y":5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5, "w":1.25}, {"label":"0", "x":15, "y":5}, {"label":"00", "x":16, "y":5}, {"label":".", "x":17, "y":5}, {"label":"Enter", "x":18, "y":4, "h":2}]
+        "LAYOUT_96_ansi_splitbs": {
+            "layout": [
+                {"x": 0, "y": 0},
+                {"x": 1, "y": 0},
+                {"x": 2, "y": 0},
+                {"x": 3, "y": 0},
+                {"x": 4, "y": 0},
+                {"x": 5, "y": 0},
+                {"x": 6, "y": 0},
+                {"x": 7, "y": 0},
+                {"x": 8, "y": 0},
+                {"x": 9, "y": 0},
+                {"x": 10, "y": 0},
+                {"x": 11, "y": 0},
+                {"x": 12, "y": 0},
+                {"x": 13, "y": 0},
+                {"x": 14, "y": 0},
+                {"x": 15, "y": 0},
+                {"x": 16, "y": 0},
+                {"x": 17, "y": 0},
+                {"x": 18, "y": 0},
+
+                {"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": 7, "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": 15, "y": 1},
+                {"x": 16, "y": 1},
+                {"x": 17, "y": 1},
+                {"x": 18, "y": 1},
+
+                {"x": 0, "y": 2, "w": 1.5},
+                {"x": 1.5, "y": 2},
+                {"x": 2.5, "y": 2},
+                {"x": 3.5, "y": 2},
+                {"x": 4.5, "y": 2},
+                {"x": 5.5, "y": 2},
+                {"x": 6.5, "y": 2},
+                {"x": 7.5, "y": 2},
+                {"x": 8.5, "y": 2},
+                {"x": 9.5, "y": 2},
+                {"x": 10.5, "y": 2},
+                {"x": 11.5, "y": 2},
+                {"x": 12.5, "y": 2},
+                {"x": 13.5, "y": 2, "w": 1.5},
+                {"x": 15, "y": 2},
+                {"x": 16, "y": 2},
+                {"x": 17, "y": 2},
+                {"x": 18, "y": 2, "h": 2},
+
+                {"x": 0, "y": 3, "w": 1.75},
+                {"x": 1.75, "y": 3},
+                {"x": 2.75, "y": 3},
+                {"x": 3.75, "y": 3},
+                {"x": 4.75, "y": 3},
+                {"x": 5.75, "y": 3},
+                {"x": 6.75, "y": 3},
+                {"x": 7.75, "y": 3},
+                {"x": 8.75, "y": 3},
+                {"x": 9.75, "y": 3},
+                {"x": 10.75, "y": 3},
+                {"x": 11.75, "y": 3},
+                {"x": 12.75, "y": 3, "w": 2.25},
+                {"x": 15, "y": 3},
+                {"x": 16, "y": 3},
+                {"x": 17, "y": 3},
+
+                {"x": 0, "y": 4, "w": 2.25},
+                {"x": 2.25, "y": 4},
+                {"x": 3.25, "y": 4},
+                {"x": 4.25, "y": 4},
+                {"x": 5.25, "y": 4},
+                {"x": 6.25, "y": 4},
+                {"x": 7.25, "y": 4},
+                {"x": 8.25, "y": 4},
+                {"x": 9.25, "y": 4},
+                {"x": 10.25, "y": 4},
+                {"x": 11.25, "y": 4},
+                {"x": 12.25, "y": 4, "w": 1.75},
+                {"x": 14, "y": 4},
+                {"x": 15, "y": 4},
+                {"x": 16, "y": 4},
+                {"x": 17, "y": 4},
+                {"x": 18, "y": 4, "h": 2},
+
+                {"x": 0, "y": 5, "w": 1.25},
+                {"x": 1.25, "y": 5, "w": 1.25},
+                {"x": 2.5, "y": 5, "w": 1.25},
+                {"x": 3.75, "y": 5, "w": 6.25},
+                {"x": 10, "y": 5},
+                {"x": 11, "y": 5},
+                {"x": 12, "y": 5},
+                {"x": 13, "y": 5},
+                {"x": 14, "y": 5},
+                {"x": 15, "y": 5},
+                {"x": 16, "y": 5},
+                {"x": 17, "y": 5}
+            ]
+        },
+        "LAYOUT_96_iso": {
+            "layout": [
+                {"x": 0, "y": 0},
+                {"x": 1, "y": 0},
+                {"x": 2, "y": 0},
+                {"x": 3, "y": 0},
+                {"x": 4, "y": 0},
+                {"x": 5, "y": 0},
+                {"x": 6, "y": 0},
+                {"x": 7, "y": 0},
+                {"x": 8, "y": 0},
+                {"x": 9, "y": 0},
+                {"x": 10, "y": 0},
+                {"x": 11, "y": 0},
+                {"x": 12, "y": 0},
+                {"x": 13, "y": 0},
+                {"x": 14, "y": 0},
+                {"x": 15, "y": 0},
+                {"x": 16, "y": 0},
+                {"x": 17, "y": 0},
+                {"x": 18, "y": 0},
+
+                {"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": 7, "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, "w": 2},
+                {"x": 15, "y": 1},
+                {"x": 16, "y": 1},
+                {"x": 17, "y": 1},
+                {"x": 18, "y": 1},
+
+                {"x": 0, "y": 2, "w": 1.5},
+                {"x": 1.5, "y": 2},
+                {"x": 2.5, "y": 2},
+                {"x": 3.5, "y": 2},
+                {"x": 4.5, "y": 2},
+                {"x": 5.5, "y": 2},
+                {"x": 6.5, "y": 2},
+                {"x": 7.5, "y": 2},
+                {"x": 8.5, "y": 2},
+                {"x": 9.5, "y": 2},
+                {"x": 10.5, "y": 2},
+                {"x": 11.5, "y": 2},
+                {"x": 12.5, "y": 2},
+                {"x": 15, "y": 2},
+                {"x": 16, "y": 2},
+                {"x": 17, "y": 2},
+                {"x": 18, "y": 2, "h": 2},
+
+                {"x": 0, "y": 3, "w": 1.75},
+                {"x": 1.75, "y": 3},
+                {"x": 2.75, "y": 3},
+                {"x": 3.75, "y": 3},
+                {"x": 4.75, "y": 3},
+                {"x": 5.75, "y": 3},
+                {"x": 6.75, "y": 3},
+                {"x": 7.75, "y": 3},
+                {"x": 8.75, "y": 3},
+                {"x": 9.75, "y": 3},
+                {"x": 10.75, "y": 3},
+                {"x": 11.75, "y": 3},
+                {"x": 12.75, "y": 3},
+                {"x": 13.75, "y": 2, "w": 1.25, "h": 2},
+                {"x": 15, "y": 3},
+                {"x": 16, "y": 3},
+                {"x": 17, "y": 3},
+
+                {"x": 0, "y": 4, "w": 1.25},
+                {"x": 1.25, "y": 4},
+                {"x": 2.25, "y": 4},
+                {"x": 3.25, "y": 4},
+                {"x": 4.25, "y": 4},
+                {"x": 5.25, "y": 4},
+                {"x": 6.25, "y": 4},
+                {"x": 7.25, "y": 4},
+                {"x": 8.25, "y": 4},
+                {"x": 9.25, "y": 4},
+                {"x": 10.25, "y": 4},
+                {"x": 11.25, "y": 4},
+                {"x": 12.25, "y": 4, "w": 1.75},
+                {"x": 14, "y": 4},
+                {"x": 15, "y": 4},
+                {"x": 16, "y": 4},
+                {"x": 17, "y": 4},
+                {"x": 18, "y": 4, "h": 2},
+
+                {"x": 0, "y": 5, "w": 1.25},
+                {"x": 1.25, "y": 5, "w": 1.25},
+                {"x": 2.5, "y": 5, "w": 1.25},
+                {"x": 3.75, "y": 5, "w": 6.25},
+                {"x": 10, "y": 5},
+                {"x": 11, "y": 5},
+                {"x": 12, "y": 5},
+                {"x": 13, "y": 5},
+                {"x": 14, "y": 5},
+                {"x": 15, "y": 5},
+                {"x": 16, "y": 5},
+                {"x": 17, "y": 5}
+            ]
+        },
+        "LAYOUT_96_iso_splitbs": {
+            "layout": [
+                {"x": 0, "y": 0},
+                {"x": 1, "y": 0},
+                {"x": 2, "y": 0},
+                {"x": 3, "y": 0},
+                {"x": 4, "y": 0},
+                {"x": 5, "y": 0},
+                {"x": 6, "y": 0},
+                {"x": 7, "y": 0},
+                {"x": 8, "y": 0},
+                {"x": 9, "y": 0},
+                {"x": 10, "y": 0},
+                {"x": 11, "y": 0},
+                {"x": 12, "y": 0},
+                {"x": 13, "y": 0},
+                {"x": 14, "y": 0},
+                {"x": 15, "y": 0},
+                {"x": 16, "y": 0},
+                {"x": 17, "y": 0},
+                {"x": 18, "y": 0},
+
+                {"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": 7, "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": 15, "y": 1},
+                {"x": 16, "y": 1},
+                {"x": 17, "y": 1},
+                {"x": 18, "y": 1},
+
+                {"x": 0, "y": 2, "w": 1.5},
+                {"x": 1.5, "y": 2},
+                {"x": 2.5, "y": 2},
+                {"x": 3.5, "y": 2},
+                {"x": 4.5, "y": 2},
+                {"x": 5.5, "y": 2},
+                {"x": 6.5, "y": 2},
+                {"x": 7.5, "y": 2},
+                {"x": 8.5, "y": 2},
+                {"x": 9.5, "y": 2},
+                {"x": 10.5, "y": 2},
+                {"x": 11.5, "y": 2},
+                {"x": 12.5, "y": 2},
+                {"x": 15, "y": 2},
+                {"x": 16, "y": 2},
+                {"x": 17, "y": 2},
+                {"x": 18, "y": 2, "h": 2},
+
+                {"x": 0, "y": 3, "w": 1.75},
+                {"x": 1.75, "y": 3},
+                {"x": 2.75, "y": 3},
+                {"x": 3.75, "y": 3},
+                {"x": 4.75, "y": 3},
+                {"x": 5.75, "y": 3},
+                {"x": 6.75, "y": 3},
+                {"x": 7.75, "y": 3},
+                {"x": 8.75, "y": 3},
+                {"x": 9.75, "y": 3},
+                {"x": 10.75, "y": 3},
+                {"x": 11.75, "y": 3},
+                {"x": 12.75, "y": 3},
+                {"x": 13.75, "y": 2, "w": 1.25, "h": 2},
+                {"x": 15, "y": 3},
+                {"x": 16, "y": 3},
+                {"x": 17, "y": 3},
+
+                {"x": 0, "y": 4, "w": 1.25},
+                {"x": 1.25, "y": 4},
+                {"x": 2.25, "y": 4},
+                {"x": 3.25, "y": 4},
+                {"x": 4.25, "y": 4},
+                {"x": 5.25, "y": 4},
+                {"x": 6.25, "y": 4},
+                {"x": 7.25, "y": 4},
+                {"x": 8.25, "y": 4},
+                {"x": 9.25, "y": 4},
+                {"x": 10.25, "y": 4},
+                {"x": 11.25, "y": 4},
+                {"x": 12.25, "y": 4, "w": 1.75},
+                {"x": 14, "y": 4},
+                {"x": 15, "y": 4},
+                {"x": 16, "y": 4},
+                {"x": 17, "y": 4},
+                {"x": 18, "y": 4, "h": 2},
+
+                {"x": 0, "y": 5, "w": 1.25},
+                {"x": 1.25, "y": 5, "w": 1.25},
+                {"x": 2.5, "y": 5, "w": 1.25},
+                {"x": 3.75, "y": 5, "w": 6.25},
+                {"x": 10, "y": 5},
+                {"x": 11, "y": 5},
+                {"x": 12, "y": 5},
+                {"x": 13, "y": 5},
+                {"x": 14, "y": 5},
+                {"x": 15, "y": 5},
+                {"x": 16, "y": 5},
+                {"x": 17, "y": 5}
+            ]
+        },
+        "LAYOUT_96_with60": {
+            "layout": [
+                {"x": 0, "y": 0},
+                {"x": 1, "y": 0},
+                {"x": 2, "y": 0},
+                {"x": 3, "y": 0},
+                {"x": 4, "y": 0},
+                {"x": 5, "y": 0},
+                {"x": 6, "y": 0},
+                {"x": 7, "y": 0},
+                {"x": 8, "y": 0},
+                {"x": 9, "y": 0},
+                {"x": 10, "y": 0},
+                {"x": 11, "y": 0},
+                {"x": 12, "y": 0},
+                {"x": 13, "y": 0},
+                {"x": 14, "y": 0},
+                {"x": 15, "y": 0},
+                {"x": 16, "y": 0},
+                {"x": 17, "y": 0},
+                {"x": 18, "y": 0},
+
+                {"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": 7, "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, "w": 2},
+                {"x": 15, "y": 1},
+                {"x": 16, "y": 1},
+                {"x": 17, "y": 1},
+                {"x": 18, "y": 1},
+
+                {"x": 0, "y": 2, "w": 1.5},
+                {"x": 1.5, "y": 2},
+                {"x": 2.5, "y": 2},
+                {"x": 3.5, "y": 2},
+                {"x": 4.5, "y": 2},
+                {"x": 5.5, "y": 2},
+                {"x": 6.5, "y": 2},
+                {"x": 7.5, "y": 2},
+                {"x": 8.5, "y": 2},
+                {"x": 9.5, "y": 2},
+                {"x": 10.5, "y": 2},
+                {"x": 11.5, "y": 2},
+                {"x": 12.5, "y": 2},
+                {"x": 13.5, "y": 2, "w": 1.5},
+                {"x": 15, "y": 2},
+                {"x": 16, "y": 2},
+                {"x": 17, "y": 2},
+                {"x": 18, "y": 2, "h": 2},
+
+                {"x": 0, "y": 3, "w": 1.75},
+                {"x": 1.75, "y": 3},
+                {"x": 2.75, "y": 3},
+                {"x": 3.75, "y": 3},
+                {"x": 4.75, "y": 3},
+                {"x": 5.75, "y": 3},
+                {"x": 6.75, "y": 3},
+                {"x": 7.75, "y": 3},
+                {"x": 8.75, "y": 3},
+                {"x": 9.75, "y": 3},
+                {"x": 10.75, "y": 3},
+                {"x": 11.75, "y": 3},
+                {"x": 12.75, "y": 3, "w": 2.25},
+                {"x": 15, "y": 3},
+                {"x": 16, "y": 3},
+                {"x": 17, "y": 3},
+
+                {"x": 0, "y": 4, "w": 2.25},
+                {"x": 2.25, "y": 4},
+                {"x": 3.25, "y": 4},
+                {"x": 4.25, "y": 4},
+                {"x": 5.25, "y": 4},
+                {"x": 6.25, "y": 4},
+                {"x": 7.25, "y": 4},
+                {"x": 8.25, "y": 4},
+                {"x": 9.25, "y": 4},
+                {"x": 10.25, "y": 4},
+                {"x": 11.25, "y": 4},
+                {"x": 12.25, "y": 4, "w": 2.75},
+                {"x": 15, "y": 4},
+                {"x": 16, "y": 4},
+                {"x": 17, "y": 4},
+                {"x": 18, "y": 4, "h": 2}
+
+                {"x": 0, "y": 5, "w": 1.25},
+                {"x": 1.25, "y": 5, "w": 1.25},
+                {"x": 2.5, "y": 5, "w": 1.25},
+                {"x": 3.75, "y": 5, "w": 6.25},
+                {"x": 10, "y": 5, "w": 1.25},
+                {"x": 11.25, "y": 5, "w": 1.25},
+                {"x": 12.5, "y": 5, "w": 1.25},
+                {"x": 13.75, "y": 5, "w": 1.25},
+                {"x": 15, "y": 5, "w": 2},
+                {"x": 17, "y": 5},
+            ]
+        },
+        "LAYOUT_96_with60_splitbs": {
+            "layout": [
+                {"x": 0, "y": 0},
+                {"x": 1, "y": 0},
+                {"x": 2, "y": 0},
+                {"x": 3, "y": 0},
+                {"x": 4, "y": 0},
+                {"x": 5, "y": 0},
+                {"x": 6, "y": 0},
+                {"x": 7, "y": 0},
+                {"x": 8, "y": 0},
+                {"x": 9, "y": 0},
+                {"x": 10, "y": 0},
+                {"x": 11, "y": 0},
+                {"x": 12, "y": 0},
+                {"x": 13, "y": 0},
+                {"x": 14, "y": 0},
+                {"x": 15, "y": 0},
+                {"x": 16, "y": 0},
+                {"x": 17, "y": 0},
+                {"x": 18, "y": 0},
+
+                {"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": 7, "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": 15, "y": 1},
+                {"x": 16, "y": 1},
+                {"x": 17, "y": 1},
+                {"x": 18, "y": 1},
+
+                {"x": 0, "y": 2, "w": 1.5},
+                {"x": 1.5, "y": 2},
+                {"x": 2.5, "y": 2},
+                {"x": 3.5, "y": 2},
+                {"x": 4.5, "y": 2},
+                {"x": 5.5, "y": 2},
+                {"x": 6.5, "y": 2},
+                {"x": 7.5, "y": 2},
+                {"x": 8.5, "y": 2},
+                {"x": 9.5, "y": 2},
+                {"x": 10.5, "y": 2},
+                {"x": 11.5, "y": 2},
+                {"x": 12.5, "y": 2},
+                {"x": 13.5, "y": 2, "w": 1.5},
+                {"x": 15, "y": 2},
+                {"x": 16, "y": 2},
+                {"x": 17, "y": 2},
+                {"x": 18, "y": 2, "h": 2},
+
+                {"x": 0, "y": 3, "w": 1.75},
+                {"x": 1.75, "y": 3},
+                {"x": 2.75, "y": 3},
+                {"x": 3.75, "y": 3},
+                {"x": 4.75, "y": 3},
+                {"x": 5.75, "y": 3},
+                {"x": 6.75, "y": 3},
+                {"x": 7.75, "y": 3},
+                {"x": 8.75, "y": 3},
+                {"x": 9.75, "y": 3},
+                {"x": 10.75, "y": 3},
+                {"x": 11.75, "y": 3},
+                {"x": 12.75, "y": 3, "w": 2.25},
+                {"x": 15, "y": 3},
+                {"x": 16, "y": 3},
+                {"x": 17, "y": 3},
+
+                {"x": 0, "y": 4, "w": 2.25},
+                {"x": 2.25, "y": 4},
+                {"x": 3.25, "y": 4},
+                {"x": 4.25, "y": 4},
+                {"x": 5.25, "y": 4},
+                {"x": 6.25, "y": 4},
+                {"x": 7.25, "y": 4},
+                {"x": 8.25, "y": 4},
+                {"x": 9.25, "y": 4},
+                {"x": 10.25, "y": 4},
+                {"x": 11.25, "y": 4},
+                {"x": 12.25, "y": 4, "w": 2.75},
+                {"x": 15, "y": 4},
+                {"x": 16, "y": 4},
+                {"x": 17, "y": 4},
+                {"x": 18, "y": 4, "h": 2}
+
+                {"x": 0, "y": 5, "w": 1.25},
+                {"x": 1.25, "y": 5, "w": 1.25},
+                {"x": 2.5, "y": 5, "w": 1.25},
+                {"x": 3.75, "y": 5, "w": 6.25},
+                {"x": 10, "y": 5, "w": 1.25},
+                {"x": 11.25, "y": 5, "w": 1.25},
+                {"x": 12.5, "y": 5, "w": 1.25},
+                {"x": 13.75, "y": 5, "w": 1.25},
+                {"x": 15, "y": 5, "w": 2},
+                {"x": 17, "y": 5},
+            ]
+        },
+        "LAYOUT_96_with60_split_num0": {
+            "layout": [
+                {"x": 0, "y": 0},
+                {"x": 1, "y": 0},
+                {"x": 2, "y": 0},
+                {"x": 3, "y": 0},
+                {"x": 4, "y": 0},
+                {"x": 5, "y": 0},
+                {"x": 6, "y": 0},
+                {"x": 7, "y": 0},
+                {"x": 8, "y": 0},
+                {"x": 9, "y": 0},
+                {"x": 10, "y": 0},
+                {"x": 11, "y": 0},
+                {"x": 12, "y": 0},
+                {"x": 13, "y": 0},
+                {"x": 14, "y": 0},
+                {"x": 15, "y": 0},
+                {"x": 16, "y": 0},
+                {"x": 17, "y": 0},
+                {"x": 18, "y": 0},
+
+                {"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": 7, "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, "w": 2},
+                {"x": 15, "y": 1},
+                {"x": 16, "y": 1},
+                {"x": 17, "y": 1},
+                {"x": 18, "y": 1},
+
+                {"x": 0, "y": 2, "w": 1.5},
+                {"x": 1.5, "y": 2},
+                {"x": 2.5, "y": 2},
+                {"x": 3.5, "y": 2},
+                {"x": 4.5, "y": 2},
+                {"x": 5.5, "y": 2},
+                {"x": 6.5, "y": 2},
+                {"x": 7.5, "y": 2},
+                {"x": 8.5, "y": 2},
+                {"x": 9.5, "y": 2},
+                {"x": 10.5, "y": 2},
+                {"x": 11.5, "y": 2},
+                {"x": 12.5, "y": 2},
+                {"x": 13.5, "y": 2, "w": 1.5},
+                {"x": 15, "y": 2},
+                {"x": 16, "y": 2},
+                {"x": 17, "y": 2},
+                {"x": 18, "y": 2, "h": 2},
+
+                {"x": 0, "y": 3, "w": 1.75},
+                {"x": 1.75, "y": 3},
+                {"x": 2.75, "y": 3},
+                {"x": 3.75, "y": 3},
+                {"x": 4.75, "y": 3},
+                {"x": 5.75, "y": 3},
+                {"x": 6.75, "y": 3},
+                {"x": 7.75, "y": 3},
+                {"x": 8.75, "y": 3},
+                {"x": 9.75, "y": 3},
+                {"x": 10.75, "y": 3},
+                {"x": 11.75, "y": 3},
+                {"x": 12.75, "y": 3, "w": 2.25},
+                {"x": 15, "y": 3},
+                {"x": 16, "y": 3},
+                {"x": 17, "y": 3},
+
+                {"x": 0, "y": 4, "w": 2.25},
+                {"x": 2.25, "y": 4},
+                {"x": 3.25, "y": 4},
+                {"x": 4.25, "y": 4},
+                {"x": 5.25, "y": 4},
+                {"x": 6.25, "y": 4},
+                {"x": 7.25, "y": 4},
+                {"x": 8.25, "y": 4},
+                {"x": 9.25, "y": 4},
+                {"x": 10.25, "y": 4},
+                {"x": 11.25, "y": 4},
+                {"x": 12.25, "y": 4, "w": 2.75},
+                {"x": 15, "y": 4},
+                {"x": 16, "y": 4},
+                {"x": 17, "y": 4},
+                {"x": 18, "y": 4, "h": 2},
+
+                {"x": 0, "y": 5, "w": 1.25},
+                {"x": 1.25, "y": 5, "w": 1.25},
+                {"x": 2.5, "y": 5, "w": 1.25},
+                {"x": 3.75, "y": 5, "w": 6.25},
+                {"x": 10, "y": 5, "w": 1.25},
+                {"x": 11.25, "y": 5, "w": 1.25},
+                {"x": 12.5, "y": 5, "w": 1.25},
+                {"x": 13.75, "y": 5, "w": 1.25},
+                {"x": 15, "y": 5},
+                {"x": 16, "y": 5},
+                {"x": 17, "y": 5}
+            ]
         }
     }
 }
diff --git a/keyboards/melody96/keymaps/default/keymap.c b/keyboards/melody96/keymaps/default/keymap.c
index ba73cbce83..3ed6f3068b 100644
--- a/keyboards/melody96/keymaps/default/keymap.c
+++ b/keyboards/melody96/keymaps/default/keymap.c
@@ -1,74 +1,20 @@
 #include QMK_KEYBOARD_H
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-  /* Layer 0, default layer
-____________________________________________________________________________________________________________________________________________________________________________
-|        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |
-| ESC*   |   F1   |   F2   |   F3   |   F4   |   F5   |   F6   |   F7   |   F8   |   F9   |  F10   |  F11   |  F12   | P SCN  |  HOME  |   END  |  P UP  | P DOWN |  DEL   |
-|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
-|        |        |        |        |        |        |        |        |        |        |        |        |        |        | BACK   |  NUM   |        |        |        |
-|  ~`    |   1    |   2    |   3    |   4    |   5    |   6    |   7    |   8    |   9    |   0    |  _ -   | =  +   |   \    | SPACE  |  LOCK  |   /    |  *     |   -    |
-|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
-|            |        |        |        |        |        |        |        |        |        |        |  [     |   ]    |             |        |        |        |        |
-|    TAB     |   Q    |   W    |   E    |   R    |   T    |   Y    |   U    |   I    |   O    |   P    |  {     |   }    |  |   \      |   7    |   8    |   9    |   -    |
-|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________|
-|              |        |        |        |        |        |        |        |        |        |   ;    |   '    |                    |        |        |        |        |
-|   CAPS LOCK  |   A    |   S    |   D    |   F    |   G    |   H    |   J    |   K    |   L    |   :    |   "    |       ENTER        |   4    |   5    |   6    |   +    |
-|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
-|         |        |        |        |        |        |        |        |        |   ,    |    .   |   /    |                |        |        |        |        |        |
-|  SHIFT  |  NUBS  |   Z    |   X    |   C    |   V    |   B    |   N    |   M    |   <    |    >   |   ?    |       SHIFT    |   UP   |   1    |   2    |   3    | ENTER  |
-|_________|________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________|
-|          |          |          |                                                        |        |   MO   |   MO   |        |        |        |        |        |        |
-| CTRL     |   LGUI   | L ALT    |                      SPACE                             | R ALT  |  _FN   |  _FN   |  LEFT  |  DOWN  | RIGHT  |   0    |   .    | ENTER  |
-|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
-*/
-
-
-
-	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_PSCR, KC_HOME, KC_END,  KC_PGUP, KC_PGDN, KC_DEL,
-    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,          KC_P7,   KC_P8,   KC_P9,   KC_PMNS,
-    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,                    KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
-    KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          KC_UP,   KC_P1,   KC_P2,   KC_P3,   KC_PENT,
-    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),   MO(1),   KC_LEFT, KC_DOWN, KC_RGHT, KC_P0,   KC_PDOT, KC_PENT),
-
-
-
-  /* Layer 1, function layer
-____________________________________________________________________________________________________________________________________________________________________________
-|        |        |        |        |        |        |        |        |        |        |        |        |        |        |  VOL   |  VOL   |        |        |        |
-| RESET  |        |        |        |        |        |        |        |        |        |        |        |        | MUTE   |  DOWN  |   UP   |        |        |        |
-|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
-|        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |
-|        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |
-|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
-|            |  RGB   |        |  RGB   |  HUE   |  HUE   | SATUR. | SATUR. | VALUE  | VALUE  |        |        |        |             |        |        |        |        |
-|            | TOGGLE |        |  MODE  |INCREASE| DCRSE  |INCREASE| DCRSE  |INCREASE| DCRSE  |        |        |        |             |        |        |        |        |
-|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________|
-| BACKLIGHT    |        |        |        |        |        |        |        |        |        |        |        |                    |        |        |        |        |
-| TOGGLE       |        |        |        |        |        |        |        |        |        |        |        |                    |        |        |        |        |
-|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
-|         |        |        |        |BACKLHT |BACKLHT |BACKLHT |        |        |        |        |        |                |        |        |        |        |        |
-|         |        |        |        | DCRSE  |TOGGLE  |INCREASE|        |        |        |        |        |                |        |        |        |        |        |
-|_________|________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________|
-|          |          |          |                                                        |        |        |        |        |        |        |        |        |        |
-|          |          |          |                                                        |        |        |        |        |        |        |        |        |        |
-|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
-BL_TOGG, BL_DEC, BL_INC changes the in-switch LEDs
-*/
-
-
-	LAYOUT(
-    RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
-    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-    _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,          _______, _______, _______, _______,
-    BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______,
-    _______, _______, _______, _______, BL_DEC,  BL_TOGG, BL_INC,  _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______,
-    _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______, _______, _______, _______),
+    [0] = LAYOUT_all(
+        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_PSCR, KC_HOME, KC_END,  KC_PGUP, KC_PGDN, KC_DEL,
+        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,          KC_P7,   KC_P8,   KC_P9,   KC_PMNS,
+        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,                    KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
+        KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          KC_UP,   KC_P1,   KC_P2,   KC_P3,   KC_PENT,
+        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),   MO(1),   KC_LEFT, KC_DOWN, KC_RGHT, KC_P0,   KC_PDOT, KC_PENT
+    ),
+    [1] = LAYOUT_all(
+        RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,          _______, _______, _______, _______,
+        BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______,
+        _______, _______, _______, _______, BL_DEC,  BL_TOGG, BL_INC,  _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______,
+        _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______, _______, _______, _______
+    )
 };
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-	return true;
-}
diff --git a/keyboards/melody96/keymaps/default_std60_split_num0/keymap.c b/keyboards/melody96/keymaps/default_96_with60_split_num0/keymap.c
similarity index 82%
rename from keyboards/melody96/keymaps/default_std60_split_num0/keymap.c
rename to keyboards/melody96/keymaps/default_96_with60_split_num0/keymap.c
index 25881d3f80..5dc26b150d 100644
--- a/keyboards/melody96/keymaps/default_std60_split_num0/keymap.c
+++ b/keyboards/melody96/keymaps/default_96_with60_split_num0/keymap.c
@@ -1,40 +1,36 @@
 #include QMK_KEYBOARD_H
 
-// Defines the keycodes used by our macros in process_record_user
 enum custom_keycodes {
     KC_P00 = SAFE_RANGE
 };
 
-
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-    [0] = LAYOUT_std60_split_num0(
+    [0] = LAYOUT_96_with60_split_num0(
         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_PSCR, KC_HOME, KC_END,  KC_PGUP, KC_PGDN, KC_DEL,
         KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,           KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC,          KC_BSLS, KC_P7,   KC_P8,   KC_P9,
-        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,                   KC_ENT,  KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
-        KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,                   KC_RSFT, KC_P1,   KC_P2,   KC_P3,
-        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),            KC_APP,  KC_RCTL, KC_P0,   KC_P00,  KC_PDOT, KC_PENT
+        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC,          KC_BSLS, KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
+        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,                   KC_ENT,  KC_P4,   KC_P5,   KC_P6,
+        KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,                   KC_RSFT, KC_P1,   KC_P2,   KC_P3,   KC_PENT,
+        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),            KC_APP,  KC_RCTL, KC_P0,   KC_P00,  KC_PDOT
     ),
-
-    [0] = LAYOUT_std60_split_num0(
+    [1] = LAYOUT_96_with60_split_num0(
         RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______,
-        _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______,          _______, _______, _______, _______,
-        BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______,
-        _______,          _______, _______, BL_DEC,  BL_TOGG, BL_INC,  _______, _______, _______, _______, _______,                   _______, _______, _______, _______,
-        _______, _______, _______,                            _______,                            _______, _______,          _______, _______, _______, _______, _______, _______
-    ),
-
+        _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______,          _______, _______, _______, _______, _______,
+        BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______,
+        _______,          _______, _______, BL_DEC,  BL_TOGG, BL_INC,  _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______,
+        _______, _______, _______,                            _______,                            _______, _______,          _______, _______, _______, _______, _______
+    )
 };
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
         case KC_P00:
             if (record->event.pressed) {
-                SEND_STRING("00");
+                tap_code(KC_P0);
+                tap_code(KC_P0);
             }
-            break;
+            return false;
     }
     return true;
 }
diff --git a/keyboards/melody96/keymaps/default_std60_split_num0/readme.md b/keyboards/melody96/keymaps/default_std60_split_num0/readme.md
deleted file mode 100644
index d20a179aa9..0000000000
--- a/keyboards/melody96/keymaps/default_std60_split_num0/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# default_std60_split_num0
-
-A modified default keymap for use with the LAYOUT_std60_split_num0 macro.
-
-## Base Layer
-
-```
-┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
-│Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Prt│Hm │End│PUp│PDn│Del│
-├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤
-│` ~│1 !│2 @│3 #│4 $│5 %│6 ^│7 &│8 *│9 (│0 )│- _│= +│ Bksp  │NLk│ / │ * │ - │
-├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤
-│ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │[ {│] }│ \ | │7  │8  │9  │ + │
-├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤   │
-│CapsLk│ A │ S │ D │ F │ G │ H │ J │ K │ L │; :│' "│ Enter  │4  │5  │6  │   │
-├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┼───┼───┼───┼───┤
-│ Shift  │ Z │ X │ C │ V │ B │ N │ M │, <│. >│/ ?│  Shift   │1  │2  │3  │Ent│
-├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┼───┼───┼───┤   │
-│Ctrl│GUI │Alt │Space                   │Alt │Fn  │Menu│Ctrl│0  │00 │ . │   │
-└────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┴───┴───┴───┘
-```
-
-## Function Layer
-
-```
-┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
-│RST│   │   │   │   │   │   │   │   │   │   │   │   │Mut│VDn│VUp│   │   │   │
-├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤
-│   │   │   │   │   │   │   │   │   │   │   │   │   │       │   │   │   │   │
-├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤
-│     │RTg│   │RMd│RH+│RH-│RS+│RS-│RV+│RV-│   │   │   │     │   │   │   │   │
-├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤   │
-│BLTogg│   │   │   │   │   │   │   │   │   │   │   │        │   │   │   │   │
-├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┼───┼───┼───┼───┤
-│        │   │   │BL-│BTg│BL+│   │   │   │   │   │          │   │   │   │   │
-├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┼───┼───┼───┤   │
-│    │    │    │                        │    │    │    │    │   │   │   │   │
-└────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┴───┴───┴───┘
-```
diff --git a/keyboards/melody96/keymaps/via/keymap.c b/keyboards/melody96/keymaps/via/keymap.c
index 24d7d2d8ad..c02fa785a8 100644
--- a/keyboards/melody96/keymaps/via/keymap.c
+++ b/keyboards/melody96/keymaps/via/keymap.c
@@ -1,36 +1,36 @@
 #include QMK_KEYBOARD_H
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-	[0] = 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_PSCR, KC_HOME, KC_END,  KC_PGUP, KC_PGDN, KC_DEL,
-    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,          KC_P7,   KC_P8,   KC_P9,   KC_PMNS,
-    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,                    KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
-    KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          KC_UP,   KC_P1,   KC_P2,   KC_P3,   KC_PENT,
-    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),   MO(1),   KC_LEFT, KC_DOWN, KC_RGHT, KC_P0,   KC_PDOT, KC_PENT),
-
-	[1] = LAYOUT(
-    RESET,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS,
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-    KC_TRNS, RGB_TOG, KC_TRNS, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-    BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC,  BL_TOGG, BL_INC,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-    KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-	[2] = LAYOUT(
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-	[3] = LAYOUT(
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+    [0] = LAYOUT_all(
+        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_PSCR, KC_HOME, KC_END,  KC_PGUP, KC_PGDN, KC_DEL,
+        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,          KC_P7,   KC_P8,   KC_P9,   KC_PMNS,
+        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,                    KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
+        KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          KC_UP,   KC_P1,   KC_P2,   KC_P3,   KC_PENT,
+        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),   MO(1),   KC_LEFT, KC_DOWN, KC_RGHT, KC_P0,   KC_PDOT, KC_PENT
+    ),
+    [1] = LAYOUT_all(
+        RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,          _______, _______, _______, _______,
+        BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______,
+        _______, _______, _______, _______, BL_DEC,  BL_TOGG, BL_INC,  _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______,
+        _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______, _______, _______, _______
+    ),
+    [2] = LAYOUT_all(
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______,
+        _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______, _______, _______, _______
+    ),
+    [3] = LAYOUT_all(
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______,
+        _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______, _______, _______, _______
+    )
 };
diff --git a/keyboards/melody96/keymaps/via/readme.md b/keyboards/melody96/keymaps/via/readme.md
deleted file mode 100644
index 9db51187a4..0000000000
--- a/keyboards/melody96/keymaps/via/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The via keymap for YMDK Melody 96
-
-This folder contains the [VIA](https://caniusevia.com/) configuration for the YMDK Melody 96
-
-Maintained by: [vlee489](https://github.com/vlee489)
diff --git a/keyboards/melody96/keymaps/via/rules.mk b/keyboards/melody96/keymaps/via/rules.mk
index 6d6d45bac8..36b7ba9cbc 100644
--- a/keyboards/melody96/keymaps/via/rules.mk
+++ b/keyboards/melody96/keymaps/via/rules.mk
@@ -1,2 +1,2 @@
 VIA_ENABLE = yes
-LTO_ENABLE = yes # reduce firmware size
+LTO_ENABLE = yes
diff --git a/keyboards/melody96/melody96.h b/keyboards/melody96/melody96.h
index 37a6a85b09..3d3bc6070c 100644
--- a/keyboards/melody96/melody96.h
+++ b/keyboards/melody96/melody96.h
@@ -2,100 +2,232 @@
 
 #include "quantum.h"
 
-#define LAYOUT( \
-  K050, K051, K052, K053, K054, K055, K056, K057, K058, K118, K117, K115, K114, K113, K116, K112, K111, K110, K063, \
-  K040, K041, K042, K043, K044, K045, K046, K047, K048, K108, K107, K105, K104, K103, K106, K102, K101, K100, K064, \
-  K030, K031, K032, K033, K034, K035, K036, K037, K038, K098, K097, K095, K094, K084,       K096, K092, K091, K090, \
-  K020, K021, K022, K023, K024, K025, K026, K027, K028, K088, K087, K085, K093,             K086, K082, K081, K080, \
-  K010, K011, K012, K013, K014, K015, K016, K017, K018, K078, K077, K075, K074,       K073, K076, K072, K071, K070, \
-  K000, K001, K002,                   K006,                   K008, K007, K005, K004, K003, K066, K062, K061, K060  \
-) { \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008 }, \
-	{ K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018 }, \
-	{ K020,  K021,  K022,  K023,  K024,  K025,  K026,  K027,  K028 }, \
-	{ K030,  K031,  K032,  K033,  K034,  K035,  K036,  K037,  K038 }, \
-	{ K040,  K041,  K042,  K043,  K044,  K045,  K046,  K047,  K048 }, \
-	{ K050,  K051,  K052,  K053,  K054,  K055,  K056,  K057,  K058 }, \
-	{ K060,  K061,  K062,  K063,  K064,  KC_NO, K066,  KC_NO, KC_NO }, \
-	{ K070,  K071,  K072,  K073,  K074,  K075,  K076,  K077,  K078 }, \
-	{ K080,  K081,  K082,  KC_NO, K084,  K085,  K086,  K087,  K088 }, \
-	{ K090,  K091,  K092,  K093,  K094,  K095,  K096,  K097,  K098 }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108 }, \
-	{ K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118 }  \
-}
+#define XXX KC_NO
 
 /*
- * The layout macro for the layout of hotswap keyboards, with illustrative grid of a typical
- * assignment.
- * ,---------------------------------------------------------------------------
- * |ESC|F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|PSC|HOM|END|PGU|PGD|DEL|
- * ,--------------------------------------------------------------------------|
- * | ` |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | BKSPC |NLK| / | * | - |
- * |--------------------------------------------------------------------------|
- * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] |  \ | 7 | 8 | 9 |   |
- * |----------------------------------------------------------------------| + |
- * | CTRL  | A | S | D | F | G | H | J | K | L | ; | ' |  RET | 4 | 5 | 6 |   |
- * |----------------------------------------------------------------------|---|
- * | LSHIFT | Z | X | C | V | B | N | M | , | . | / |RSHFT| ↑ | 1 | 2 | 3 |   |
- * |----------------------------------------------------------------------|ENT|
- * |LCTL|LWIN|LALT|         SPACE         |CTL|ALT|FN | ← | ↓ | → | 0 | . |   |
- * `---------------------------------------------------------------------------
+ * ┌────┬───┐                                          ┌───┬───┐
+ * │10  │11 │                                          │A3 │A6 │
+ * └────┴───┘                                          └───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
+ * │50 │51 │52 │53 │54 │55 │56 │57 │58 │B8 │B7 │B5 │B4 │B3 │B6 │B2 │B1 │B0 │63 │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │A8 │A7 │A5 │A4 │A6     │A2 │A1 │A0 │64 │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤    ┌─────┐ ┌───┐
+ * │30   │31 │32 │33 │34 │35 │36 │37 │38 │98 │97 │95 │94 │93   │96 │92 │91 │80 │    │93   │ │90 │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤   │ ┌──┴┐    │ ├───┤
+ * │20    │21 │22 │23 │24 │25 │26 │27 │28 │88 │87 │85 │84      │86 │82 │81 │   │ │84 │    │ │80 │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ ├───┼────┘ └───┘
+ * │10      │12 │13 │14 │15 │16 │17 │18 │78 │77 │75 │74    │73 │76 │72 │71 │60 │ │70 │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┴───┼───┤   │ ├───┤
+ * │00  │01  │02  │06                      │08 │07 │05 │04 │03 │62     │61 │   │ │60 │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───────┴───┴───┘ └───┘
+ *                                                  ┌──────────┬───┬───┐
+ *                                                  │74        │66 │62 │
+ *                                                  └──────────┴───┴───┘
+ * ┌────┬────┬────┬────────────────────────┬─────┬─────┬───┬───┐
+ * │00  │01  │02  │06                      │08   │05   │04 │03 │
+ * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┘
+ * ┌────┬────┬────┬─────────────────────────────┬────┬────┬────┐
+ * │00  │01  │02  │06                      │08  │07  │04  │03  │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ * ┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┐
+ * │00   │01   │06                         │08   │05   │04 │03 │
+ * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┘
+ * ┌─────┬─────┬───────────────────────────┬────┬────┬────┬────┐
+ * │00   │01   │06                         │08  │07  │04  │03  │
+ * └─────┴─────┴───────────────────────────┴────┴────┴────┴────┘
+ * ┌─────┬─────┬───────────────────────────┬───┬───┬───┬───┬───┐
+ * │00   │01   │06                         │08 │07 │05 │04 │03 │
+ * └─────┴─────┴───────────────────────────┴───┴───┴───┴───┴───┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
+ * │00   │01 │02   │06                         │07   │04 │03   │
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ * ┌─────┬───┬─────┬───────────────────────────┬───┬───┬───┬───┐
+ * │00   │01 │02   │06                         │07 │05 │04 │03 │
+ * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
+ * ┌─────┬───┬─────┬───────────────────────┬─────┬─────┬───┬───┐
+ * │00   │01 │02   │06                     │08   │05   │04 │03 │
+ * └─────┴───┴─────┴───────────────────────┴─────┴─────┴───┴───┘
+ * ┌─────┬───┬─────┬───────────────────────┬───┬───┬───┬───┬───┐
+ * │00   │01 │02   │06                     │08 │07 │05 │04 │03 │
+ * └─────┴───┴─────┴───────────────────────┴───┴───┴───┴───┴───┘
+ * ┌─────┬───┬─────┬───────────────────────┬────┬────┬────┬────┐
+ * │00   │01 │02   │06                     │08  │07  │04  │03  │
+ * └─────┴───┴─────┴───────────────────────┴────┴────┴────┴────┘
  */
-#define LAYOUT_hotswap( \
-  K050, K051, K052, K053, K054, K055, K056, K057, K058, K118, K117, K115, K114, K113, K116, K112, K111, K110, K063, \
-  K040, K041, K042, K043, K044, K045, K046, K047, K048, K108, K107, K105, K104,       K106, K102, K101, K100, K064, \
-  K030, K031, K032, K033, K034, K035, K036, K037, K038, K098, K097, K095, K094,       K093, K096, K092, K091,       \
-  K020, K021, K022, K023, K024, K025, K026, K027, K028, K088, K087, K085,             K084, K086, K082, K081, K080, \
-  K010,       K012, K013, K014, K015, K016, K017, K018, K078, K077, K075, K074,       K073, K076, K072, K071,       \
-  K000, K001, K002,                   K006,                   K008, K007, K005, K004, K003, K066, K062, K061, K060  \
+
+#define LAYOUT_all( \
+    k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
+    k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k93, k96, k92, k91, k90, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85,      k84, k86, k82, k81, k80, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k70, \
+    k00, k01, k02,                k06,           k08, k07, k05, k04, k03, k66, k62, k61, k60 \
 ) { \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008 }, \
-	{ K010,  KC_NO, K012,  K013,  K014,  K015,  K016,  K017,  K018 }, \
-	{ K020,  K021,  K022,  K023,  K024,  K025,  K026,  K027,  K028 }, \
-	{ K030,  K031,  K032,  K033,  K034,  K035,  K036,  K037,  K038 }, \
-	{ K040,  K041,  K042,  K043,  K044,  K045,  K046,  K047,  K048 }, \
-	{ K050,  K051,  K052,  K053,  K054,  K055,  K056,  K057,  K058 }, \
-	{ K060,  K061,  K062,  K063,  K064,  KC_NO, K066,  KC_NO, KC_NO }, \
-	{ KC_NO, K071,  K072,  K073,  K074,  K075,  K076,  K077,  K078 }, \
-	{ K080,  K081,  K082,  KC_NO, K084,  K085,  K086,  K087,  K088 }, \
-	{ KC_NO, K091,  K092,  K093,  K094,  K095,  K096,  K097,  K098 }, \
-	{ K100,  K101,  K102,  KC_NO, K104,  K105,  K106,  K107,  K108 }, \
-	{ K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118 }  \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
+    { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
+    { k70, k71, k72, k73, k74, k75, k76, k77, k78 }, \
+    { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
+    { k90, k91, k92, k93, k94, k95, k96, k97, k98 }, \
+    { kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8 }, \
+    { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
 }
 
-/* LAYOUT_std60_split_num0
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Prt│Pau│Hm │End│PUp│PDn│
- * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤
- * │` ~│1 !│2 @│3 #│4 $│5 %│6 ^│7 &│8 *│9 (│0 )│- _│= +│ Bksp  │NLk│ / │ * │ - │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │[ {│] }│ \ | │7  │8  │9  │ + │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤   │
- * │CapsLk│ A │ S │ D │ F │ G │ H │ J │ K │ L │; :│' "│ Enter  │4  │5  │6  │   │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┼───┼───┼───┼───┤
- * │ Shift  │ Z │ X │ C │ V │ B │ N │ M │, <│. >│/ ?│  Shift   │1  │2  │3  │Ent│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┼───┼───┼───┤   │
- * │Ctrl│GUI │Alt │Space                   │Alt │GUI │Menu│Ctrl│0  │00 │ . │   │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┴───┴───┴───┘
- */
-#define LAYOUT_std60_split_num0( \
-  K50, K51, K52, K53, K54, K55, K56, K57, K58, KB8, KB7, KB5, KB4, KB3, KB6,  KB2, KB1, KB0, K63, \
-  K40, K41, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4,      KA6,  KA2, KA1, KA0, K64, \
-  K30,   K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K94,    K84,  K96, K92, K91,      \
-  K20,    K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85,        K93,  K86, K82, K81, K80, \
-  K10,      K12, K13, K14, K15, K16, K17, K18, K78, K77, K75,           K74,  K76, K72, K71,      \
-  K00, K01, K02,                  K06,                   K08, K07, K04, K03,  K66, K62, K61, K60  \
+#define LAYOUT_96_ansi( \
+    k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
+    k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k93, k96, k92, k91, k80, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85,      k84, k86, k82, k81, \
+    k10,      k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \
+    k00, k01, k02,                k06,           k08, k07, k05, k04, k03, k66, k62, k61 \
 ) { \
-	{ K00,    K01,    K02,  K03,    K04,  KC_NO,  K06,  K07,    K08   }, \
-	{ K10,    KC_NO,  K12,  K13,    K14,  K15,    K16,  K17,    K18   }, \
-	{ K20,    K21,    K22,  K23,    K24,  K25,    K26,  K27,    K28   }, \
-	{ K30,    K31,    K32,  K33,    K34,  K35,    K36,  K37,    K38   }, \
-	{ K40,    K41,    K42,  K43,    K44,  K45,    K46,  K47,    K48   }, \
-	{ K50,    K51,    K52,  K53,    K54,  K55,    K56,  K57,    K58   }, \
-	{ K60,    K61,    K62,  K63,    K64,  KC_NO,  K66,  KC_NO,  KC_NO }, \
-	{ KC_NO,  K71,    K72,  KC_NO,  K74,  K75,    K76,  K77,    K78   }, \
-	{ K80,    K81,    K82,  KC_NO,  K84,  K85,    K86,  K87,    K88   }, \
-	{ KC_NO,  K91,    K92,  K93,    K94,  K95,    K96,  K97,    K98   }, \
-	{ KA0,    KA1,    KA2,  KC_NO,  KA4,  KA5,    KA6,  KA7,    KA8   }, \
-	{ KB0,    KB1,    KB2,  KB3,    KB4,  KB5,    KB6,  KB7,    KB8   }  \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
+    { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
+    { XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \
+    { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
+    { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
+    { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
+    { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
+}
+
+#define LAYOUT_96_ansi_splitbs( \
+    k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
+    k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k93, k96, k92, k91, k80, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85,      k84, k86, k82, k81, \
+    k10,      k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \
+    k00, k01, k02,                k06,           k08, k07, k05, k04, k03, k66, k62, k61 \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
+    { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
+    { XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \
+    { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
+    { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
+    { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
+    { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
+}
+
+#define LAYOUT_96_iso( \
+    k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
+    k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94,      k96, k92, k91, k80, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k93, k86, k82, k81, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \
+    k00, k01, k02,                k06,           k08, k07, k05, k04, k03, k66, k62, k61 \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
+    { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
+    { XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \
+    { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
+    { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
+    { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
+    { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
+}
+
+#define LAYOUT_96_iso_splitbs( \
+    k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
+    k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94,      k96, k92, k91, k80, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k93, k86, k82, k81, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \
+    k00, k01, k02,                k06,           k08, k07, k05, k04, k03, k66, k62, k61 \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
+    { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
+    { XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \
+    { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
+    { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
+    { kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8 }, \
+    { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
+}
+
+#define LAYOUT_96_with60( \
+    k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
+    k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k84, k96, k92, k91, k80, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85,      k93, k86, k82, k81, \
+    k10,      k12, k13, k14, k15, k16, k17, k18, k78, k77, k75,      k74, k76, k72, k71, k60,\
+    k00, k01, k02,                k06,                k08, k07, k04, k03, k62,      k61 \
+) { \
+    { k00, k01, k02, k03, k04, XXX, k06, k07, k08 }, \
+    { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
+    { k60, k61, k62, k63, k64, XXX, XXX, XXX, XXX }, \
+    { XXX, k71, k72, XXX, k74, k75, k76, k77, k78 }, \
+    { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
+    { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
+    { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
+    { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
+}
+
+#define LAYOUT_96_with60_splitbs( \
+    k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
+    k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k84, k96, k92, k91, k80, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85,      k93, k86, k82, k81, \
+    k10,      k12, k13, k14, k15, k16, k17, k18, k78, k77, k75,      k74, k76, k72, k71, k60, \
+    k00, k01, k02,                k06,                k08, k07, k04, k03, k62,      k61 \
+) { \
+    { k00, k01, k02, k03, k04, XXX, k06, k07, k08 }, \
+    { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
+    { k60, k61, k62, k63, k64, XXX, XXX, XXX, XXX }, \
+    { XXX, k71, k72, XXX, k74, k75, k76, k77, k78 }, \
+    { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
+    { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
+    { kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8 }, \
+    { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
+}
+
+#define LAYOUT_96_with60_split_num0( \
+    k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
+    k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k84, k96, k92, k91, k80,\
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85,      k93, k86, k82, k81, \
+    k10,      k12, k13, k14, k15, k16, k17, k18, k78, k77, k75,      k74, k76, k72, k71, k60, \
+    k00, k01, k02,                k06,                k08, k07, k04, k03, k66, k62, k61 \
+) { \
+    { k00, k01, k02, k03, k04, XXX, k06, k07, k08 }, \
+    { k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
+    { k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
+    { XXX, k71, k72, XXX, k74, k75, k76, k77, k78 }, \
+    { k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
+    { XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
+    { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
+    { kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
 }
diff --git a/keyboards/melody96/readme.md b/keyboards/melody96/readme.md
index 2d472b3276..16338e9ed3 100644
--- a/keyboards/melody96/readme.md
+++ b/keyboards/melody96/readme.md
@@ -1,15 +1,19 @@
 # YMDK Melody96
 
-![melody96](https://i.imgur.com/9o0a6XF.png)
+![melody96](https://i.imgur.com/9o0a6XFh.png)
 
-96-key Keyboard from YMDK. The PCB for this board is also commonly used in the NYM96. 
+96-key Keyboard from YMDK. The PCB for this board is also commonly used in the NYM96.
 
-Keyboard Maintainer: [superuser41](https://github.com/kaylanm)  
-Hardware Supported: melody96  
-Hardware Availability: [YMDK on Geekhack, group buy closed](https://geekhack.org/index.php?topic=93614.0),  [NYM96 on Massdrop](https://www.massdrop.com/buy/nym96-aluminum-mechanical-keyboard?mode=guest_open)  
+* Keyboard Maintainer: [superuser41](https://github.com/kaylanm)
+* Hardware Supported: melody96
+* Hardware Availability: [YMDK on Geekhack, group buy closed](https://geekhack.org/index.php?topic=93614.0),  [NYM96 on Massdrop](https://www.massdrop.com/buy/nym96-aluminum-mechanical-keyboard?mode=guest_open)
 
 Make example for this keyboard (after setting up your build environment):
 
     make melody96:default
 
+Flashing example for this keyboard:
+
+    make melody96: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).
diff --git a/keyboards/melody96/rules.mk b/keyboards/melody96/rules.mk
index 9ccce6abf4..b27013f863 100644
--- a/keyboards/melody96/rules.mk
+++ b/keyboards/melody96/rules.mk
@@ -8,11 +8,11 @@ BOOTLOADER = atmel-dfu
 #   change yes to no to disable
 #
 BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes	# Mouse keys
-EXTRAKEY_ENABLE = yes	# Audio control and System control
-CONSOLE_ENABLE = no	# Console for debug
-COMMAND_ENABLE = no    # Commands for debug and configuration
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no         # Commands for debug and configuration
 NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes
+BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output