From 125b27f31aa772f9fd41c01533509d159641414f Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Fri, 5 Nov 2021 18:03:07 +0000
Subject: [PATCH]  Superuser TKL Layout Macro Refactor (#15048)

* rename LAYOUT_tkl to LAYOUT_all

* friendly-format info.json

* use K<row><column> notation in tkl.h

* add matrix diagram to tkl.h

* add LAYOUT_tkl_ansi_tsangan

* add LAYOUT_tkl_ansi_tsangan_split_bs_rshift

* add LAYOUT_tkl_iso_tsangan

* add LAYOUT_tkl_iso_tsangan_split_bs_rshift

* correct keyboard maintainer values
---
 keyboards/superuser/tkl/info.json             | 490 +++++++++++++++++-
 .../superuser/tkl/keymaps/default/keymap.c    |   4 +-
 keyboards/superuser/tkl/keymaps/via/keymap.c  |   8 +-
 keyboards/superuser/tkl/readme.md             |   2 +-
 keyboards/superuser/tkl/tkl.h                 | 107 +++-
 5 files changed, 588 insertions(+), 23 deletions(-)

diff --git a/keyboards/superuser/tkl/info.json b/keyboards/superuser/tkl/info.json
index 0a8f2a3cde..4ffe528176 100644
--- a/keyboards/superuser/tkl/info.json
+++ b/keyboards/superuser/tkl/info.json
@@ -1,10 +1,494 @@
 {
     "keyboard_name": "tkl",
     "url": "",
-    "maintainer": "superuser",
+    "maintainer": "kaylanm",
+    "layout_aliases": {
+        "LAYOUT_tkl": "LAYOUT_all"
+    },
     "layouts": {
-        "LAYOUT": {
-            "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Bksp", "x":13, "y":1.25}, {"label":"Bksp", "x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"|", "x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Fn", "x":14, "y":4.25}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Win", "x":1.5, "y":5.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"label":"Alt", "x":11, "y":5.25, "w":1.5}, {"label":"Win", "x":12.5, "y":5.25}, {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
+        "LAYOUT_all": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"F1", "x":2, "y":0},
+                {"label":"F2", "x":3, "y":0},
+                {"label":"F3", "x":4, "y":0},
+                {"label":"F4", "x":5, "y":0},
+                {"label":"F5", "x":6.5, "y":0},
+                {"label":"F6", "x":7.5, "y":0},
+                {"label":"F7", "x":8.5, "y":0},
+                {"label":"F8", "x":9.5, "y":0},
+                {"label":"F9", "x":11, "y":0},
+                {"label":"F10", "x":12, "y":0},
+                {"label":"F11", "x":13, "y":0},
+                {"label":"F12", "x":14, "y":0},
+                {"label":"PrtSc", "x":15.25, "y":0},
+                {"label":"Scroll Lock", "x":16.25, "y":0},
+                {"label":"Pause", "x":17.25, "y":0},
+
+                {"label":"`~", "x":0, "y":1.25},
+                {"label":"1!", "x":1, "y":1.25},
+                {"label":"2@", "x":2, "y":1.25},
+                {"label":"3#", "x":3, "y":1.25},
+                {"label":"4$", "x":4, "y":1.25},
+                {"label":"5%", "x":5, "y":1.25},
+                {"label":"6^", "x":6, "y":1.25},
+                {"label":"7&", "x":7, "y":1.25},
+                {"label":"8*", "x":8, "y":1.25},
+                {"label":"9(", "x":9, "y":1.25},
+                {"label":"0)", "x":10, "y":1.25},
+                {"label":"-_", "x":11, "y":1.25},
+                {"label":"=+", "x":12, "y":1.25},
+                {"label":"Bksp", "x":13, "y":1.25},
+                {"label":"Bksp", "x":14, "y":1.25},
+                {"label":"Insert", "x":15.25, "y":1.25},
+                {"label":"Home", "x":16.25, "y":1.25},
+                {"label":"PgUp", "x":17.25, "y":1.25},
+
+                {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+                {"label":"Q", "x":1.5, "y":2.25},
+                {"label":"W", "x":2.5, "y":2.25},
+                {"label":"E", "x":3.5, "y":2.25},
+                {"label":"R", "x":4.5, "y":2.25},
+                {"label":"T", "x":5.5, "y":2.25},
+                {"label":"Y", "x":6.5, "y":2.25},
+                {"label":"U", "x":7.5, "y":2.25},
+                {"label":"I", "x":8.5, "y":2.25},
+                {"label":"O", "x":9.5, "y":2.25},
+                {"label":"P", "x":10.5, "y":2.25},
+                {"label":"[{", "x":11.5, "y":2.25},
+                {"label":"]}", "x":12.5, "y":2.25},
+                {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+                {"label":"Delete", "x":15.25, "y":2.25},
+                {"label":"End", "x":16.25, "y":2.25},
+                {"label":"PgDn", "x":17.25, "y":2.25},
+
+                {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+                {"label":"A", "x":1.75, "y":3.25},
+                {"label":"S", "x":2.75, "y":3.25},
+                {"label":"D", "x":3.75, "y":3.25},
+                {"label":"F", "x":4.75, "y":3.25},
+                {"label":"G", "x":5.75, "y":3.25},
+                {"label":"H", "x":6.75, "y":3.25},
+                {"label":"J", "x":7.75, "y":3.25},
+                {"label":"K", "x":8.75, "y":3.25},
+                {"label":"L", "x":9.75, "y":3.25},
+                {"label":";:", "x":10.75, "y":3.25},
+                {"label":"'\"", "x":11.75, "y":3.25},
+                {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+                {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+                {"label":"\\|", "x":1.25, "y":4.25},
+                {"label":"Z", "x":2.25, "y":4.25},
+                {"label":"X", "x":3.25, "y":4.25},
+                {"label":"C", "x":4.25, "y":4.25},
+                {"label":"V", "x":5.25, "y":4.25},
+                {"label":"B", "x":6.25, "y":4.25},
+                {"label":"N", "x":7.25, "y":4.25},
+                {"label":"M", "x":8.25, "y":4.25},
+                {"label":",<", "x":9.25, "y":4.25},
+                {"label":".>", "x":10.25, "y":4.25},
+                {"label":"/?", "x":11.25, "y":4.25},
+                {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+                {"label":"Fn", "x":14, "y":4.25},
+                {"label":"\u2191", "x":16.25, "y":4.25},
+
+                {"label":"Ctrl", "x":0, "y":5.25, "w":1.5},
+                {"label":"Win", "x":1.5, "y":5.25},
+                {"label":"Alt", "x":2.5, "y":5.25, "w":1.5},
+                {"label":"Space", "x":4, "y":5.25, "w":7},
+                {"label":"Alt", "x":11, "y":5.25, "w":1.5},
+                {"label":"Win", "x":12.5, "y":5.25},
+                {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5},
+                {"label":"\u2190", "x":15.25, "y":5.25},
+                {"label":"\u2193", "x":16.25, "y":5.25},
+                {"label":"\u2192", "x":17.25, "y":5.25}
+            ]
+        },
+        "LAYOUT_tkl_ansi_tsangan": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"F1", "x":2, "y":0},
+                {"label":"F2", "x":3, "y":0},
+                {"label":"F3", "x":4, "y":0},
+                {"label":"F4", "x":5, "y":0},
+                {"label":"F5", "x":6.5, "y":0},
+                {"label":"F6", "x":7.5, "y":0},
+                {"label":"F7", "x":8.5, "y":0},
+                {"label":"F8", "x":9.5, "y":0},
+                {"label":"F9", "x":11, "y":0},
+                {"label":"F10", "x":12, "y":0},
+                {"label":"F11", "x":13, "y":0},
+                {"label":"F12", "x":14, "y":0},
+                {"label":"PrtSc", "x":15.25, "y":0},
+                {"label":"Scroll Lock", "x":16.25, "y":0},
+                {"label":"Pause", "x":17.25, "y":0},
+
+                {"label":"`~", "x":0, "y":1.25},
+                {"label":"1!", "x":1, "y":1.25},
+                {"label":"2@", "x":2, "y":1.25},
+                {"label":"3#", "x":3, "y":1.25},
+                {"label":"4$", "x":4, "y":1.25},
+                {"label":"5%", "x":5, "y":1.25},
+                {"label":"6^", "x":6, "y":1.25},
+                {"label":"7&", "x":7, "y":1.25},
+                {"label":"8*", "x":8, "y":1.25},
+                {"label":"9(", "x":9, "y":1.25},
+                {"label":"0)", "x":10, "y":1.25},
+                {"label":"-_", "x":11, "y":1.25},
+                {"label":"=+", "x":12, "y":1.25},
+                {"label":"Bksp", "x":13, "y":1.25, "w":2},
+                {"label":"Insert", "x":15.25, "y":1.25},
+                {"label":"Home", "x":16.25, "y":1.25},
+                {"label":"PgUp", "x":17.25, "y":1.25},
+
+                {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+                {"label":"Q", "x":1.5, "y":2.25},
+                {"label":"W", "x":2.5, "y":2.25},
+                {"label":"E", "x":3.5, "y":2.25},
+                {"label":"R", "x":4.5, "y":2.25},
+                {"label":"T", "x":5.5, "y":2.25},
+                {"label":"Y", "x":6.5, "y":2.25},
+                {"label":"U", "x":7.5, "y":2.25},
+                {"label":"I", "x":8.5, "y":2.25},
+                {"label":"O", "x":9.5, "y":2.25},
+                {"label":"P", "x":10.5, "y":2.25},
+                {"label":"[{", "x":11.5, "y":2.25},
+                {"label":"]}", "x":12.5, "y":2.25},
+                {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+                {"label":"Delete", "x":15.25, "y":2.25},
+                {"label":"End", "x":16.25, "y":2.25},
+                {"label":"PgDn", "x":17.25, "y":2.25},
+
+                {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+                {"label":"A", "x":1.75, "y":3.25},
+                {"label":"S", "x":2.75, "y":3.25},
+                {"label":"D", "x":3.75, "y":3.25},
+                {"label":"F", "x":4.75, "y":3.25},
+                {"label":"G", "x":5.75, "y":3.25},
+                {"label":"H", "x":6.75, "y":3.25},
+                {"label":"J", "x":7.75, "y":3.25},
+                {"label":"K", "x":8.75, "y":3.25},
+                {"label":"L", "x":9.75, "y":3.25},
+                {"label":";:", "x":10.75, "y":3.25},
+                {"label":"'\"", "x":11.75, "y":3.25},
+                {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+                {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+                {"label":"Z", "x":2.25, "y":4.25},
+                {"label":"X", "x":3.25, "y":4.25},
+                {"label":"C", "x":4.25, "y":4.25},
+                {"label":"V", "x":5.25, "y":4.25},
+                {"label":"B", "x":6.25, "y":4.25},
+                {"label":"N", "x":7.25, "y":4.25},
+                {"label":"M", "x":8.25, "y":4.25},
+                {"label":",<", "x":9.25, "y":4.25},
+                {"label":".>", "x":10.25, "y":4.25},
+                {"label":"/?", "x":11.25, "y":4.25},
+                {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+                {"label":"\u2191", "x":16.25, "y":4.25},
+
+                {"label":"Ctrl", "x":0, "y":5.25, "w":1.5},
+                {"label":"Win", "x":1.5, "y":5.25},
+                {"label":"Alt", "x":2.5, "y":5.25, "w":1.5},
+                {"label":"Space", "x":4, "y":5.25, "w":7},
+                {"label":"Alt", "x":11, "y":5.25, "w":1.5},
+                {"label":"Win", "x":12.5, "y":5.25},
+                {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5},
+                {"label":"\u2190", "x":15.25, "y":5.25},
+                {"label":"\u2193", "x":16.25, "y":5.25},
+                {"label":"\u2192", "x":17.25, "y":5.25}
+            ]
+        },
+        "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"F1", "x":2, "y":0},
+                {"label":"F2", "x":3, "y":0},
+                {"label":"F3", "x":4, "y":0},
+                {"label":"F4", "x":5, "y":0},
+                {"label":"F5", "x":6.5, "y":0},
+                {"label":"F6", "x":7.5, "y":0},
+                {"label":"F7", "x":8.5, "y":0},
+                {"label":"F8", "x":9.5, "y":0},
+                {"label":"F9", "x":11, "y":0},
+                {"label":"F10", "x":12, "y":0},
+                {"label":"F11", "x":13, "y":0},
+                {"label":"F12", "x":14, "y":0},
+                {"label":"PrtSc", "x":15.25, "y":0},
+                {"label":"Scroll Lock", "x":16.25, "y":0},
+                {"label":"Pause", "x":17.25, "y":0},
+
+                {"label":"`~", "x":0, "y":1.25},
+                {"label":"1!", "x":1, "y":1.25},
+                {"label":"2@", "x":2, "y":1.25},
+                {"label":"3#", "x":3, "y":1.25},
+                {"label":"4$", "x":4, "y":1.25},
+                {"label":"5%", "x":5, "y":1.25},
+                {"label":"6^", "x":6, "y":1.25},
+                {"label":"7&", "x":7, "y":1.25},
+                {"label":"8*", "x":8, "y":1.25},
+                {"label":"9(", "x":9, "y":1.25},
+                {"label":"0)", "x":10, "y":1.25},
+                {"label":"-_", "x":11, "y":1.25},
+                {"label":"=+", "x":12, "y":1.25},
+                {"label":"Bksp", "x":13, "y":1.25},
+                {"label":"Bksp", "x":14, "y":1.25},
+                {"label":"Insert", "x":15.25, "y":1.25},
+                {"label":"Home", "x":16.25, "y":1.25},
+                {"label":"PgUp", "x":17.25, "y":1.25},
+
+                {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+                {"label":"Q", "x":1.5, "y":2.25},
+                {"label":"W", "x":2.5, "y":2.25},
+                {"label":"E", "x":3.5, "y":2.25},
+                {"label":"R", "x":4.5, "y":2.25},
+                {"label":"T", "x":5.5, "y":2.25},
+                {"label":"Y", "x":6.5, "y":2.25},
+                {"label":"U", "x":7.5, "y":2.25},
+                {"label":"I", "x":8.5, "y":2.25},
+                {"label":"O", "x":9.5, "y":2.25},
+                {"label":"P", "x":10.5, "y":2.25},
+                {"label":"[{", "x":11.5, "y":2.25},
+                {"label":"]}", "x":12.5, "y":2.25},
+                {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+                {"label":"Delete", "x":15.25, "y":2.25},
+                {"label":"End", "x":16.25, "y":2.25},
+                {"label":"PgDn", "x":17.25, "y":2.25},
+
+                {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+                {"label":"A", "x":1.75, "y":3.25},
+                {"label":"S", "x":2.75, "y":3.25},
+                {"label":"D", "x":3.75, "y":3.25},
+                {"label":"F", "x":4.75, "y":3.25},
+                {"label":"G", "x":5.75, "y":3.25},
+                {"label":"H", "x":6.75, "y":3.25},
+                {"label":"J", "x":7.75, "y":3.25},
+                {"label":"K", "x":8.75, "y":3.25},
+                {"label":"L", "x":9.75, "y":3.25},
+                {"label":";:", "x":10.75, "y":3.25},
+                {"label":"'\"", "x":11.75, "y":3.25},
+                {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+                {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+                {"label":"Z", "x":2.25, "y":4.25},
+                {"label":"X", "x":3.25, "y":4.25},
+                {"label":"C", "x":4.25, "y":4.25},
+                {"label":"V", "x":5.25, "y":4.25},
+                {"label":"B", "x":6.25, "y":4.25},
+                {"label":"N", "x":7.25, "y":4.25},
+                {"label":"M", "x":8.25, "y":4.25},
+                {"label":",<", "x":9.25, "y":4.25},
+                {"label":".>", "x":10.25, "y":4.25},
+                {"label":"/?", "x":11.25, "y":4.25},
+                {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+                {"label":"Fn", "x":14, "y":4.25},
+                {"label":"\u2191", "x":16.25, "y":4.25},
+
+                {"label":"Ctrl", "x":0, "y":5.25, "w":1.5},
+                {"label":"Win", "x":1.5, "y":5.25},
+                {"label":"Alt", "x":2.5, "y":5.25, "w":1.5},
+                {"label":"Space", "x":4, "y":5.25, "w":7},
+                {"label":"Alt", "x":11, "y":5.25, "w":1.5},
+                {"label":"Win", "x":12.5, "y":5.25},
+                {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5},
+                {"label":"\u2190", "x":15.25, "y":5.25},
+                {"label":"\u2193", "x":16.25, "y":5.25},
+                {"label":"\u2192", "x":17.25, "y":5.25}
+            ]
+        },
+        "LAYOUT_tkl_iso_tsangan": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"F1", "x":2, "y":0},
+                {"label":"F2", "x":3, "y":0},
+                {"label":"F3", "x":4, "y":0},
+                {"label":"F4", "x":5, "y":0},
+                {"label":"F5", "x":6.5, "y":0},
+                {"label":"F6", "x":7.5, "y":0},
+                {"label":"F7", "x":8.5, "y":0},
+                {"label":"F8", "x":9.5, "y":0},
+                {"label":"F9", "x":11, "y":0},
+                {"label":"F10", "x":12, "y":0},
+                {"label":"F11", "x":13, "y":0},
+                {"label":"F12", "x":14, "y":0},
+                {"label":"PrtSc", "x":15.25, "y":0},
+                {"label":"Scroll Lock", "x":16.25, "y":0},
+                {"label":"Pause", "x":17.25, "y":0},
+
+                {"label":"`\u00ac", "x":0, "y":1.25},
+                {"label":"1!", "x":1, "y":1.25},
+                {"label":"2\"", "x":2, "y":1.25},
+                {"label":"3\u00a3", "x":3, "y":1.25},
+                {"label":"4$", "x":4, "y":1.25},
+                {"label":"5%", "x":5, "y":1.25},
+                {"label":"6^", "x":6, "y":1.25},
+                {"label":"7&", "x":7, "y":1.25},
+                {"label":"8*", "x":8, "y":1.25},
+                {"label":"9(", "x":9, "y":1.25},
+                {"label":"0)", "x":10, "y":1.25},
+                {"label":"-_", "x":11, "y":1.25},
+                {"label":"=+", "x":12, "y":1.25},
+                {"label":"Bksp", "x":13, "y":1.25, "w":2},
+                {"label":"Insert", "x":15.25, "y":1.25},
+                {"label":"Home", "x":16.25, "y":1.25},
+                {"label":"PgUp", "x":17.25, "y":1.25},
+
+                {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+                {"label":"Q", "x":1.5, "y":2.25},
+                {"label":"W", "x":2.5, "y":2.25},
+                {"label":"E", "x":3.5, "y":2.25},
+                {"label":"R", "x":4.5, "y":2.25},
+                {"label":"T", "x":5.5, "y":2.25},
+                {"label":"Y", "x":6.5, "y":2.25},
+                {"label":"U", "x":7.5, "y":2.25},
+                {"label":"I", "x":8.5, "y":2.25},
+                {"label":"O", "x":9.5, "y":2.25},
+                {"label":"P", "x":10.5, "y":2.25},
+                {"label":"[{", "x":11.5, "y":2.25},
+                {"label":"]}", "x":12.5, "y":2.25},
+                {"label":"Delete", "x":15.25, "y":2.25},
+                {"label":"End", "x":16.25, "y":2.25},
+                {"label":"PgDn", "x":17.25, "y":2.25},
+
+                {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+                {"label":"A", "x":1.75, "y":3.25},
+                {"label":"S", "x":2.75, "y":3.25},
+                {"label":"D", "x":3.75, "y":3.25},
+                {"label":"F", "x":4.75, "y":3.25},
+                {"label":"G", "x":5.75, "y":3.25},
+                {"label":"H", "x":6.75, "y":3.25},
+                {"label":"J", "x":7.75, "y":3.25},
+                {"label":"K", "x":8.75, "y":3.25},
+                {"label":"L", "x":9.75, "y":3.25},
+                {"label":";:", "x":10.75, "y":3.25},
+                {"label":"'@", "x":11.75, "y":3.25},
+                {"label":"#~", "x":12.75, "y":3.25},
+                {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+                {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+                {"label":"\\|", "x":1.25, "y":4.25},
+                {"label":"Z", "x":2.25, "y":4.25},
+                {"label":"X", "x":3.25, "y":4.25},
+                {"label":"C", "x":4.25, "y":4.25},
+                {"label":"V", "x":5.25, "y":4.25},
+                {"label":"B", "x":6.25, "y":4.25},
+                {"label":"N", "x":7.25, "y":4.25},
+                {"label":"M", "x":8.25, "y":4.25},
+                {"label":",<", "x":9.25, "y":4.25},
+                {"label":".>", "x":10.25, "y":4.25},
+                {"label":"/?", "x":11.25, "y":4.25},
+                {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+                {"label":"\u2191", "x":16.25, "y":4.25},
+
+                {"label":"Ctrl", "x":0, "y":5.25, "w":1.5},
+                {"label":"Win", "x":1.5, "y":5.25},
+                {"label":"Alt", "x":2.5, "y":5.25, "w":1.5},
+                {"label":"Space", "x":4, "y":5.25, "w":7},
+                {"label":"Alt", "x":11, "y":5.25, "w":1.5},
+                {"label":"Win", "x":12.5, "y":5.25},
+                {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5},
+                {"label":"\u2190", "x":15.25, "y":5.25},
+                {"label":"\u2193", "x":16.25, "y":5.25},
+                {"label":"\u2192", "x":17.25, "y":5.25}
+            ]
+        },
+        "LAYOUT_tkl_iso_tsangan_split_bs_rshift": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"F1", "x":2, "y":0},
+                {"label":"F2", "x":3, "y":0},
+                {"label":"F3", "x":4, "y":0},
+                {"label":"F4", "x":5, "y":0},
+                {"label":"F5", "x":6.5, "y":0},
+                {"label":"F6", "x":7.5, "y":0},
+                {"label":"F7", "x":8.5, "y":0},
+                {"label":"F8", "x":9.5, "y":0},
+                {"label":"F9", "x":11, "y":0},
+                {"label":"F10", "x":12, "y":0},
+                {"label":"F11", "x":13, "y":0},
+                {"label":"F12", "x":14, "y":0},
+                {"label":"PrtSc", "x":15.25, "y":0},
+                {"label":"Scroll Lock", "x":16.25, "y":0},
+                {"label":"Pause", "x":17.25, "y":0},
+
+                {"label":"`\u00ac", "x":0, "y":1.25},
+                {"label":"1!", "x":1, "y":1.25},
+                {"label":"2\"", "x":2, "y":1.25},
+                {"label":"3\u00a3", "x":3, "y":1.25},
+                {"label":"4$", "x":4, "y":1.25},
+                {"label":"5%", "x":5, "y":1.25},
+                {"label":"6^", "x":6, "y":1.25},
+                {"label":"7&", "x":7, "y":1.25},
+                {"label":"8*", "x":8, "y":1.25},
+                {"label":"9(", "x":9, "y":1.25},
+                {"label":"0)", "x":10, "y":1.25},
+                {"label":"-_", "x":11, "y":1.25},
+                {"label":"=+", "x":12, "y":1.25},
+                {"label":"Bksp", "x":13, "y":1.25},
+                {"label":"Bksp", "x":14, "y":1.25},
+                {"label":"Insert", "x":15.25, "y":1.25},
+                {"label":"Home", "x":16.25, "y":1.25},
+                {"label":"PgUp", "x":17.25, "y":1.25},
+
+                {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+                {"label":"Q", "x":1.5, "y":2.25},
+                {"label":"W", "x":2.5, "y":2.25},
+                {"label":"E", "x":3.5, "y":2.25},
+                {"label":"R", "x":4.5, "y":2.25},
+                {"label":"T", "x":5.5, "y":2.25},
+                {"label":"Y", "x":6.5, "y":2.25},
+                {"label":"U", "x":7.5, "y":2.25},
+                {"label":"I", "x":8.5, "y":2.25},
+                {"label":"O", "x":9.5, "y":2.25},
+                {"label":"P", "x":10.5, "y":2.25},
+                {"label":"[{", "x":11.5, "y":2.25},
+                {"label":"]}", "x":12.5, "y":2.25},
+                {"label":"Delete", "x":15.25, "y":2.25},
+                {"label":"End", "x":16.25, "y":2.25},
+                {"label":"PgDn", "x":17.25, "y":2.25},
+
+                {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+                {"label":"A", "x":1.75, "y":3.25},
+                {"label":"S", "x":2.75, "y":3.25},
+                {"label":"D", "x":3.75, "y":3.25},
+                {"label":"F", "x":4.75, "y":3.25},
+                {"label":"G", "x":5.75, "y":3.25},
+                {"label":"H", "x":6.75, "y":3.25},
+                {"label":"J", "x":7.75, "y":3.25},
+                {"label":"K", "x":8.75, "y":3.25},
+                {"label":"L", "x":9.75, "y":3.25},
+                {"label":";:", "x":10.75, "y":3.25},
+                {"label":"'@", "x":11.75, "y":3.25},
+                {"label":"#~", "x":12.75, "y":3.25},
+                {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+                {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+                {"label":"\\|", "x":1.25, "y":4.25},
+                {"label":"Z", "x":2.25, "y":4.25},
+                {"label":"X", "x":3.25, "y":4.25},
+                {"label":"C", "x":4.25, "y":4.25},
+                {"label":"V", "x":5.25, "y":4.25},
+                {"label":"B", "x":6.25, "y":4.25},
+                {"label":"N", "x":7.25, "y":4.25},
+                {"label":"M", "x":8.25, "y":4.25},
+                {"label":",<", "x":9.25, "y":4.25},
+                {"label":".>", "x":10.25, "y":4.25},
+                {"label":"/?", "x":11.25, "y":4.25},
+                {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+                {"label":"Fn", "x":14, "y":4.25},
+                {"label":"\u2191", "x":16.25, "y":4.25},
+
+                {"label":"Ctrl", "x":0, "y":5.25, "w":1.5},
+                {"label":"Win", "x":1.5, "y":5.25},
+                {"label":"Alt", "x":2.5, "y":5.25, "w":1.5},
+                {"label":"Space", "x":4, "y":5.25, "w":7},
+                {"label":"Alt", "x":11, "y":5.25, "w":1.5},
+                {"label":"Win", "x":12.5, "y":5.25},
+                {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5},
+                {"label":"\u2190", "x":15.25, "y":5.25},
+                {"label":"\u2193", "x":16.25, "y":5.25},
+                {"label":"\u2192", "x":17.25, "y":5.25}
+            ]
         }
     }
 }
diff --git a/keyboards/superuser/tkl/keymaps/default/keymap.c b/keyboards/superuser/tkl/keymaps/default/keymap.c
index 6eada87c84..b0ab538247 100644
--- a/keyboards/superuser/tkl/keymaps/default/keymap.c
+++ b/keyboards/superuser/tkl/keymaps/default/keymap.c
@@ -17,7 +17,7 @@
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-  [0] = LAYOUT_tkl(
+  [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_SLCK, KC_PAUS,
     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_BSPC,      KC_INS,  KC_HOME, KC_PGUP,
     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_DEL,  KC_END,  KC_PGDN,
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     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,    MO(1),                            KC_UP,
     KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                                                KC_RALT,    KC_RGUI,    KC_RCTL,                 KC_LEFT, KC_DOWN, KC_RGHT),
 
-  [1] = LAYOUT_tkl(
+  [1] = LAYOUT_all(
     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,
diff --git a/keyboards/superuser/tkl/keymaps/via/keymap.c b/keyboards/superuser/tkl/keymaps/via/keymap.c
index f828ccc515..a2bea4e6e1 100644
--- a/keyboards/superuser/tkl/keymaps/via/keymap.c
+++ b/keyboards/superuser/tkl/keymaps/via/keymap.c
@@ -17,7 +17,7 @@
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-  [0] = LAYOUT_tkl(
+  [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_SLCK, KC_PAUS,
     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_BSPC,      KC_INS,  KC_HOME, KC_PGUP,
     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_DEL,  KC_END,  KC_PGDN,
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     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,    MO(1),                            KC_UP,
     KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                                                KC_RALT,    KC_RGUI,    KC_RCTL,                 KC_LEFT, KC_DOWN, KC_RGHT),
 
-  [1] = LAYOUT_tkl(
+  [1] = LAYOUT_all(
     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,
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     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),
 
-  [2] = LAYOUT_tkl(
+  [2] = LAYOUT_all(
     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,
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     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_tkl(
+  [3] = LAYOUT_all(
     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,
diff --git a/keyboards/superuser/tkl/readme.md b/keyboards/superuser/tkl/readme.md
index be5a2cc3a5..1c9ad5b3cc 100644
--- a/keyboards/superuser/tkl/readme.md
+++ b/keyboards/superuser/tkl/readme.md
@@ -2,7 +2,7 @@
 
 An F12 TKL PCB supporting 7u bottom row only.
 
-* Keyboard Maintainer: superuser
+* Keyboard Maintainer: [kaylanm](https://github.com/kaylanm)
 * Hardware Supported: superuser tkl
 * Hardware Availability: Group buy
 
diff --git a/keyboards/superuser/tkl/tkl.h b/keyboards/superuser/tkl/tkl.h
index 31ed941d3e..4cbd8ecfbd 100644
--- a/keyboards/superuser/tkl/tkl.h
+++ b/keyboards/superuser/tkl/tkl.h
@@ -17,18 +17,99 @@
 
 #include "quantum.h"
 
-#define LAYOUT_tkl(\
-    K000,       K002, K003, K004, K005,    K006, K007, K008, K009,    K010, K011, K012, K013,    K014, K015, K016,  \
-    K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K312,    K114, K115, K116,  \
-    K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213,          K214, K215, K216,  \
-    K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311,       K313,                             \
-    K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413,                K415,        \
-    K500, K501, K502,                   K506,                         K511, K512, K513,          K514, K515, K516   \
+/*
+ *              ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ *              │00 │   │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0E │0F │0G │
+ *              └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ *              ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐      ┌───────┐
+ *              │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │3C │ │1E │1F │1G │      │1D     │ 2u Backspace
+ *              ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤      └─┬─────┤
+ *              │20   │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D   │ │2E │2F │2G │        │     │
+ *  2.25u       ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘     ┌──┴┐3D  │ ISO Enter
+ *  LShift      │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D      │                   │2D │    │
+ * ┌────────┐   ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤     ┌───┐       ┌─┴───┴────┤
+ * │40      │   │40  │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C    │4D │     │4F │       │4C        │ 2.75u RShift
+ * └────────┘   ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───┐   └──────────┘
+ *              │50   │51 │52   │56                         │5B   │5C │5D   │ │5E │5F │5G │
+ *              └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+ */
+
+#define LAYOUT_all(\
+    K00,      K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,        K0E, K0F, K0G, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3C,   K1E, K1F, K1G, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,        K2E, K2F, K2G, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,                       \
+    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D,             K4F,      \
+    K50, K51, K52,                K56,                     K5B, K5C, K5D,        K5E, K5F, K5G  \
 ) { \
-    { K000,  KC_NO, K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015,  K016  }, \
-    { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115,  K116  }, \
-    { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215,  K216  }, \
-    { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  KC_NO, KC_NO, KC_NO }, \
-    { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  K412,  K413,  KC_NO, K415,  KC_NO }, \
-    { K500,  K501,  K502,  KC_NO, KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, KC_NO, K511,  K512,  K513,  K514,  K515,  K516  }  \
+    { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, ___, ___ }, \
+    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \
+    { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, ___, K5B, K5C, K5D, K5E, K5F, K5G }  \
+}
+
+#define LAYOUT_tkl_ansi_tsangan( \
+    K00,      K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,   K0E, K0F, K0G, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,   K1E, K1F, K1G, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,   K2E, K2F, K2G, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,                  \
+    K40,      K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B,      K4C,        K4F,      \
+    K50, K51, K52,                K56,                     K5B, K5C, K5D,   K5E, K5F, K5G  \
+) { \
+    { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, ___, ___, ___ }, \
+    { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+    { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, ___, K5B, K5C, K5D, K5E, K5F, K5G }  \
+}
+
+#define LAYOUT_tkl_ansi_tsangan_split_bs_rshift( \
+    K00,      K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,        K0E, K0F, K0G, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3C,   K1E, K1F, K1G, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,        K2E, K2F, K2G, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,                       \
+    K40,      K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D,             K4F,      \
+    K50, K51, K52,                K56,                     K5B, K5C, K5D,        K5E, K5F, K5G  \
+) { \
+    { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, ___, ___ }, \
+    { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \
+    { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, ___, K5B, K5C, K5D, K5E, K5F, K5G }  \
+}
+
+#define LAYOUT_tkl_iso_tsangan( \
+    K00,      K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,   K0E, K0F, K0G, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,   K1E, K1F, K1G, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,        K2E, K2F, K2G, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D,                  \
+    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B,      K4C,        K4F,      \
+    K50, K51, K52,                K56,                     K5B, K5C, K5D,   K5E, K5F, K5G  \
+) { \
+    { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, ___, ___, ___ }, \
+    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+    { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, ___, K5B, K5C, K5D, K5E, K5F, K5G }  \
+}
+
+#define LAYOUT_tkl_iso_tsangan_split_bs_rshift( \
+    K00,      K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,        K0E, K0F, K0G, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3C,   K1E, K1F, K1G, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,             K2E, K2F, K2G, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D,                       \
+    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D,             K4F,      \
+    K50, K51, K52,                K56,                     K5B, K5C, K5D,        K5E, K5F, K5G  \
+) { \
+    { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, ___, ___ }, \
+    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \
+    { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, ___, K5B, K5C, K5D, K5E, K5F, K5G }  \
 }