From ed151979671b36cadb7cd3c0505205c44d3fba73 Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Wed, 12 Jan 2022 14:08:37 -0800
Subject: [PATCH] NoPunIn10Did Kastenwagen touch-up (#15836)

---
 keyboards/nopunin10did/jabberwocky/readme.md  |  2 +-
 .../nopunin10did/kastenwagen1840/info.json    |  3 +-
 .../kastenwagen1840/kastenwagen1840.h         | 33 +++++++++----------
 .../kastenwagen1840/keymaps/default/keymap.c  |  8 ++---
 .../kastenwagen1840/keymaps/via/keymap.c      |  8 ++---
 .../nopunin10did/kastenwagen1840/readme.md    | 16 ++++-----
 .../nopunin10did/kastenwagen48/info.json      |  3 +-
 .../kastenwagen48/kastenwagen48.h             | 17 +++++++++-
 .../kastenwagen48/keymaps/default/keymap.c    |  8 ++---
 .../keymaps/via}/keymap.c                     |  8 ++---
 .../kastenwagen48/keymaps/via/rules.mk        |  2 ++
 .../nopunin10did/kastenwagen48/readme.md      | 18 +++++-----
 keyboards/nopunin10did/railroad/readme.md     |  2 +-
 .../nopunin10did/railroad/rev0/readme.md      |  2 +-
 keyboards/nopunin10did/readme.md              | 14 ++++++++
 15 files changed, 83 insertions(+), 61 deletions(-)
 rename keyboards/nopunin10did/{kastenwagen1840/keymaps/default48 => kastenwagen48/keymaps/via}/keymap.c (98%)
 create mode 100644 keyboards/nopunin10did/kastenwagen48/keymaps/via/rules.mk
 create mode 100644 keyboards/nopunin10did/readme.md

diff --git a/keyboards/nopunin10did/jabberwocky/readme.md b/keyboards/nopunin10did/jabberwocky/readme.md
index d3557be61d..98c514caa8 100644
--- a/keyboards/nopunin10did/jabberwocky/readme.md
+++ b/keyboards/nopunin10did/jabberwocky/readme.md
@@ -10,7 +10,7 @@ Both the Dexterous and Sinister use the same firmware.  The numpad and the four
 
 For more information, join the [NoPunIn10Key Discord](https://discord.gg/sku2Y6w).
 
-* Keyboard Maintainer: [Alex Ronke](https://nopunin10did.com/), also known as NoPunIn10Did.
+* Keyboard Maintainer: [Alex Ronke](https://nopunin10did.com/), also known as [NoPunIn10Did](https://github.com/NoPunIn10Did)
 * Hardware Supported: Dexterous Jabberwocky and Sinister Jabberwocky (2021 March)
 * Hardware Availability: Currently by request only
 
diff --git a/keyboards/nopunin10did/kastenwagen1840/info.json b/keyboards/nopunin10did/kastenwagen1840/info.json
index 63b401f8e3..fabfd31aea 100644
--- a/keyboards/nopunin10did/kastenwagen1840/info.json
+++ b/keyboards/nopunin10did/kastenwagen1840/info.json
@@ -2,9 +2,8 @@
     "keyboard_name": "Kastenwagen 1840",
     "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/kastenwagen1840",
     "maintainer": "NoPunIn10Did",
-    "manufacturer": "NoPunIn10Did",
     "layouts": {
-        "LAYOUT_1840": {
+        "LAYOUT_all": {
             "layout": [
                 {"x":0   ,  "y":0,    "label":"Esc"},
                 {"x":1   ,  "y":0,    "label":"Q"},
diff --git a/keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.h b/keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.h
index b06cd3596c..a6fad98d00 100644
--- a/keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.h
+++ b/keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.h
@@ -18,8 +18,22 @@
 
 #include "quantum.h"
 
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐  ┌───┬───┬───┬───┐
+ * │100│101│110│111│120│121│130│131│140│141│150│151│160   │  │170│171│180│181│
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬─────┤  ├───┼───┼───┼───┤
+ * │202 │203│212│213│222│223│232│233│242│243│252│253│262  │  │272│273│282│283│
+ * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬──┘  ├───┼───┼───┼───┤   ┌───┐
+ * │304   │305│314│315│324│325│334│335│344│345│354│355 │┌───┐│374│375│384│385│   │   │
+ * ├────┬─┴──┬┴──┬┴───┴───┴─┬─┴───┴──┬┴──┬┴───┼───┴┬───┘│364│└───┼───┼───┼───┤   │487│ 2u NumEnter
+ * │406 │407 │416│417       │437     │446│447 │456 │┌───┼───┼───┐│477│486│487│   │   │
+ * └────┴────┴───┴──────────┴────────┴───┴────┴────┘│457│467│476│└───┴───┴───┘   └───┘
+ *           ┌───────────────────────────┐          └───┴───┴───┘┌───────┐
+ *           │417                        │ 7u Space              │477    │ 2u Num0
+ *           └───────────────────────────┘                       └───────┘
+ */
 
-#define LAYOUT_1840( \
+#define LAYOUT_all( \
 K100  , K101  , K110  , K111  , K120  , K121  , K130  , K131  , K140  , K141  , K150  , K151  , K160        ,   K170  , K171  , K180  , K181  , \
 K202    , K203  , K212  , K213  , K222  , K223  , K232  , K233  , K242  , K243  , K252  , K253  , K262      ,   K272  , K273  , K282  , K283  , \
 K304        , K305  , K314  , K315  , K324  , K325  , K334  , K335  , K344  , K345  , K354  , K355    , K364  , K374  , K375  , K384  , K385  , \
@@ -35,20 +49,3 @@ K406    , K407    , K416  , K417                , K437            , K446  , K447
 	{ K406 , K416 , KC_NO, KC_NO, K446 , K456 , KC_NO, K476 , K486 }, \
 	{ K407 , K417 , KC_NO, K437 , K447 , K457 , K467 , K477 , K487 } \
 }
-
-#define LAYOUT_48( \
-K100  , K101  , K110  , K111  , K120  , K121  , K130  , K131  , K140  , K141  , K150  , K151  , K160        ,   K170  , \
-K202    , K203  , K212  , K213  , K222  , K223  , K232  , K233  , K242  , K243  , K252  , K253  , K262      ,   K272  , \
-K304        , K305  , K314  , K315  , K324  , K325  , K334  , K335  , K344  , K345  , K354  , K355    , K364  , K374  , \
-K406    , K407    , K416  , K417                , K437            , K446  , K447    , K456    ,  K457 , K467 , K476     \
-) \
-{ \
-	{ K100 , K110 , K120 , K130 , K140 , K150 , K160 , K170  }, \
-	{ K101 , K111 , K121 , K131 , K141 , K151 , KC_NO, KC_NO }, \
-	{ K202 , K212 , K222 , K232 , K242 , K252 , K262 , K272  }, \
-	{ K203 , K213 , K223 , K233 , K243 , K253 , KC_NO, KC_NO }, \
-	{ K304 , K314 , K324 , K334 , K344 , K354 , K364 , K374  }, \
-	{ K305 , K315 , K325 , K335 , K345 , K355 , KC_NO, KC_NO }, \
-	{ K406 , K416 , KC_NO, KC_NO, K446 , K456 , KC_NO, K476  }, \
-	{ K407 , K417 , KC_NO, K437 , K447 , K457 , K467 , KC_NO } \
-}
\ No newline at end of file
diff --git a/keyboards/nopunin10did/kastenwagen1840/keymaps/default/keymap.c b/keyboards/nopunin10did/kastenwagen1840/keymaps/default/keymap.c
index b9e9ad1511..59a009211c 100644
--- a/keyboards/nopunin10did/kastenwagen1840/keymaps/default/keymap.c
+++ b/keyboards/nopunin10did/kastenwagen1840/keymaps/default/keymap.c
@@ -28,26 +28,26 @@ uint16_t alt_tab_timer = 0;
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-[0] = LAYOUT_1840(
+[0] = LAYOUT_all(
 
     KC_ESC ,KC_Q   ,KC_W   ,KC_E   ,KC_R   ,KC_T   ,KC_Y   ,KC_U   ,KC_I   ,KC_O   ,KC_P   ,KC_LBRC,KC_BSPC      , KC_P7  ,KC_P8  ,KC_P9  ,KC_PMNS,
     KC_TAB   ,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_LSPO      ,KC_Z   ,KC_X   ,KC_C   ,KC_V   ,KC_B   ,KC_N   ,KC_M   ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSPC ,KC_UP , KC_P1  ,KC_P2  ,KC_P3  ,KC_PAST,
     KC_LCTL  ,KC_LALT  ,MO(2)  ,L2_SPC               ,L3_SPC           ,MO(3)  ,RWINALT  ,MO(1)   ,KC_LEFT,KC_DOWN,KC_RGHT,KC_P0  ,KC_PDOT,L3_PENT  
     ),
-[1] = LAYOUT_1840(
+[1] = LAYOUT_all(
     RESET  ,KC_F1  ,KC_F2  ,KC_F3  ,KC_F4  ,KC_F5  ,KC_F6  ,KC_F7  ,KC_F8  ,KC_F9  ,KC_F10 ,KC_RBRC,KC_DEL       , KC_HOME,XXXXXXX,KC_PGUP,XXXXXXX,
     KC_CAPS  ,KC_F11 ,KC_F12 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX    , XXXXXXX,XXXXXXX,XXXXXXX,KC_PAST,
     _______      ,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,KC_INS ,KC_APP ,KC_LGUI,KC_RGUI,XXXXXXX,_______ ,KC_PGUP,KC_END ,XXXXXXX,KC_PGDN,KC_PSLS,
     KC_RCTL  ,_______  ,_______,XXXXXXX              ,XXXXXXX          ,_______,_______  ,_______ ,KC_HOME,KC_PGDN,KC_END ,KC_INS ,KC_DEL ,KC_EQL   
     ),
-[2] = LAYOUT_1840(
+[2] = LAYOUT_all(
     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       , XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
     KC_TILD  ,KC_EXLM,KC_AT  ,KC_HASH,KC_DLR ,KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_UNDS,KC_LBRC,KC_RBRC,KC_BSLS    , XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
     _______      ,ISO_LT ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______ ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
     _______  ,_______  ,_______,XXXXXXX              ,XXXXXXX          ,_______,_______  ,_______ ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX  
     ),
-[3] = LAYOUT_1840(
+[3] = LAYOUT_all(
     KC_TILD,KC_EXLM,KC_AT  ,KC_HASH,KC_DLR ,KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_UNDS,KC_PLUS      , KC_NLCK,KC_PSLS,KC_PAST,XXXXXXX,
     _______  ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_LCBR,KC_RCBR,KC_PIPE    , KC_PSCR,KC_SLCK,KC_PAUS,XXXXXXX,
     _______      ,ISO_GT ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______ ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
diff --git a/keyboards/nopunin10did/kastenwagen1840/keymaps/via/keymap.c b/keyboards/nopunin10did/kastenwagen1840/keymaps/via/keymap.c
index b9e9ad1511..59a009211c 100644
--- a/keyboards/nopunin10did/kastenwagen1840/keymaps/via/keymap.c
+++ b/keyboards/nopunin10did/kastenwagen1840/keymaps/via/keymap.c
@@ -28,26 +28,26 @@ uint16_t alt_tab_timer = 0;
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-[0] = LAYOUT_1840(
+[0] = LAYOUT_all(
 
     KC_ESC ,KC_Q   ,KC_W   ,KC_E   ,KC_R   ,KC_T   ,KC_Y   ,KC_U   ,KC_I   ,KC_O   ,KC_P   ,KC_LBRC,KC_BSPC      , KC_P7  ,KC_P8  ,KC_P9  ,KC_PMNS,
     KC_TAB   ,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_LSPO      ,KC_Z   ,KC_X   ,KC_C   ,KC_V   ,KC_B   ,KC_N   ,KC_M   ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSPC ,KC_UP , KC_P1  ,KC_P2  ,KC_P3  ,KC_PAST,
     KC_LCTL  ,KC_LALT  ,MO(2)  ,L2_SPC               ,L3_SPC           ,MO(3)  ,RWINALT  ,MO(1)   ,KC_LEFT,KC_DOWN,KC_RGHT,KC_P0  ,KC_PDOT,L3_PENT  
     ),
-[1] = LAYOUT_1840(
+[1] = LAYOUT_all(
     RESET  ,KC_F1  ,KC_F2  ,KC_F3  ,KC_F4  ,KC_F5  ,KC_F6  ,KC_F7  ,KC_F8  ,KC_F9  ,KC_F10 ,KC_RBRC,KC_DEL       , KC_HOME,XXXXXXX,KC_PGUP,XXXXXXX,
     KC_CAPS  ,KC_F11 ,KC_F12 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX    , XXXXXXX,XXXXXXX,XXXXXXX,KC_PAST,
     _______      ,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,KC_INS ,KC_APP ,KC_LGUI,KC_RGUI,XXXXXXX,_______ ,KC_PGUP,KC_END ,XXXXXXX,KC_PGDN,KC_PSLS,
     KC_RCTL  ,_______  ,_______,XXXXXXX              ,XXXXXXX          ,_______,_______  ,_______ ,KC_HOME,KC_PGDN,KC_END ,KC_INS ,KC_DEL ,KC_EQL   
     ),
-[2] = LAYOUT_1840(
+[2] = LAYOUT_all(
     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       , XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
     KC_TILD  ,KC_EXLM,KC_AT  ,KC_HASH,KC_DLR ,KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_UNDS,KC_LBRC,KC_RBRC,KC_BSLS    , XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
     _______      ,ISO_LT ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______ ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
     _______  ,_______  ,_______,XXXXXXX              ,XXXXXXX          ,_______,_______  ,_______ ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX  
     ),
-[3] = LAYOUT_1840(
+[3] = LAYOUT_all(
     KC_TILD,KC_EXLM,KC_AT  ,KC_HASH,KC_DLR ,KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_UNDS,KC_PLUS      , KC_NLCK,KC_PSLS,KC_PAST,XXXXXXX,
     _______  ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_LCBR,KC_RCBR,KC_PIPE    , KC_PSCR,KC_SLCK,KC_PAUS,XXXXXXX,
     _______      ,ISO_GT ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______ ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
diff --git a/keyboards/nopunin10did/kastenwagen1840/readme.md b/keyboards/nopunin10did/kastenwagen1840/readme.md
index e70890b48d..51d57ef8b2 100644
--- a/keyboards/nopunin10did/kastenwagen1840/readme.md
+++ b/keyboards/nopunin10did/kastenwagen1840/readme.md
@@ -4,14 +4,10 @@
 
 Kastenwagen 1840 is a 40% keyboard with a mini-numpad and dedicated arrows.  The main alpha block is 13.75u long, allowing for more dedicated punctuation keys to be paired with common Minivan-like mod keys.
 
-A second model of Kastenwagen, the [Kastenwagen 48](https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/kastenwagen48), is similar but replaces the numpad with a three-key macro column.
-
-Please note that the Kastenwagen 1840 via-compatible keymap firmware is also compatible with the Kastenwagen 48.  The Kastenwagen 48 does not have a dedicated via-compatible firmware.
-
 For more information, join the [NoPunIn10Key Discord](https://discord.gg/sku2Y6w).
 
-* Keyboard Maintainer: [Alex Ronke](diplomacyvariants.wordpress.com), also known as NoPunIn10Did. 
-* Hardware Supported: Kastenwagen 1840 & 48 (2021 June)
+* Keyboard Maintainer: [Alex Ronke](https://nopunin10did.com/), also known as [NoPunIn10Did](https://github.com/NoPunIn10Did)
+* Hardware Supported: Kastenwagen 1840 (2021 June)
 * Hardware Availability: Currently by request only
 
 To jump the bootloader, either:
@@ -19,14 +15,14 @@ To jump the bootloader, either:
 * Use the physical reset switch on the Elite C **OR**
 * Briefly jump the Reset and Ground pins of the Elite C
 
-Make example for the 1840 model (after setting up your build environment):
+Make example for this keyboard (after setting up your build environment):
 
     make nopunin10did/kastenwagen1840:default
     
-Make example for the 48 model:
+Flashing example for this keyboard:
 
-    make nopunin10did/kastenwagen48:default
+    make nopunin10did/kastenwagen1840: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).
 
-![Kastenwagen Default Layouts](https://diplomacyvariants.files.wordpress.com/2022/01/kastenwagen-default-layouts.png)
\ No newline at end of file
+![Kastenwagen Default Layouts](https://diplomacyvariants.files.wordpress.com/2022/01/kastenwagen-default-layouts.png)
diff --git a/keyboards/nopunin10did/kastenwagen48/info.json b/keyboards/nopunin10did/kastenwagen48/info.json
index bccfbeb36d..12d375863b 100644
--- a/keyboards/nopunin10did/kastenwagen48/info.json
+++ b/keyboards/nopunin10did/kastenwagen48/info.json
@@ -2,9 +2,8 @@
     "keyboard_name": "Kastenwagen 48",
     "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/kastenwagen48",
     "maintainer": "NoPunIn10Did",
-    "manufacturer": "NoPunIn10Did",
     "layouts": {
-        "LAYOUT_48": {
+        "LAYOUT_all": {
             "layout": [
                 {"x":0   ,  "y":0,    "label":"Esc"},
                 {"x":1   ,  "y":0,    "label":"Q"},
diff --git a/keyboards/nopunin10did/kastenwagen48/kastenwagen48.h b/keyboards/nopunin10did/kastenwagen48/kastenwagen48.h
index 8f948fca6a..65ed03d201 100644
--- a/keyboards/nopunin10did/kastenwagen48/kastenwagen48.h
+++ b/keyboards/nopunin10did/kastenwagen48/kastenwagen48.h
@@ -18,7 +18,22 @@
 
 #include "quantum.h"
 
-#define LAYOUT_48( \
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐  ┌───┐
+ * │100│101│110│111│120│121│130│131│140│141│150│151│160   │  │170│
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬─────┤  ├───┤
+ * │202 │203│212│213│222│223│232│233│242│243│252│253│262  │  │272│
+ * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬──┘  ├───┤
+ * │304   │305│314│315│324│325│334│335│344│345│354│355 │┌───┐│374│
+ * ├────┬─┴──┬┴──┬┴───┴───┴─┬─┴───┴──┬┴──┬┴───┼───┴┬───┘│364│└───┘
+ * │406 │407 │416│417       │437     │446│447 │456 │┌───┼───┼───┐
+ * └────┴────┴───┴──────────┴────────┴───┴────┴────┘│457│467│476│
+ *           ┌───────────────────────────┐          └───┴───┴───┘
+ *           │417                        │ 7u Space
+ *           └───────────────────────────┘
+ */
+
+#define LAYOUT_all( \
 K100  , K101  , K110  , K111  , K120  , K121  , K130  , K131  , K140  , K141  , K150  , K151  , K160        ,   K170  , \
 K202    , K203  , K212  , K213  , K222  , K223  , K232  , K233  , K242  , K243  , K252  , K253  , K262      ,   K272  , \
 K304        , K305  , K314  , K315  , K324  , K325  , K334  , K335  , K344  , K345  , K354  , K355    , K364  , K374  , \
diff --git a/keyboards/nopunin10did/kastenwagen48/keymaps/default/keymap.c b/keyboards/nopunin10did/kastenwagen48/keymaps/default/keymap.c
index ca6b66d59c..397b75b901 100644
--- a/keyboards/nopunin10did/kastenwagen48/keymaps/default/keymap.c
+++ b/keyboards/nopunin10did/kastenwagen48/keymaps/default/keymap.c
@@ -27,26 +27,26 @@ uint16_t alt_tab_timer = 0;
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-[0] = LAYOUT_48(
+[0] = LAYOUT_all(
 
     KC_ESC ,KC_Q   ,KC_W   ,KC_E   ,KC_R   ,KC_T   ,KC_Y   ,KC_U   ,KC_I   ,KC_O   ,KC_P   ,KC_LBRC,KC_BSPC      , KC_DEL ,
     KC_TAB   ,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_PGUP,
     KC_LSPO      ,KC_Z   ,KC_X   ,KC_C   ,KC_V   ,KC_B   ,KC_N   ,KC_M   ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSPC ,KC_UP , KC_PGDN,
     KC_LCTL  ,KC_LALT  ,MO(2)  ,L2_SPC               ,L3_SPC           ,MO(3)  ,RWINALT  ,MO(1)   ,KC_LEFT,KC_DOWN,KC_RGHT 
     ),
-[1] = LAYOUT_48(
+[1] = LAYOUT_all(
     RESET  ,KC_F1  ,KC_F2  ,KC_F3  ,KC_F4  ,KC_F5  ,KC_F6  ,KC_F7  ,KC_F8  ,KC_F9  ,KC_F10 ,KC_RBRC,KC_DEL       , KC_INS ,
     KC_CAPS  ,KC_F11 ,KC_F12 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX    , KC_HOME,
     _______      ,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,KC_INS ,KC_APP ,KC_LGUI,KC_RGUI,XXXXXXX,_______ ,KC_PGUP,KC_END ,
     KC_RCTL  ,_______  ,_______,XXXXXXX              ,XXXXXXX          ,_______,_______  ,_______ ,KC_HOME,KC_PGDN,KC_END  
     ),
-[2] = LAYOUT_48(
+[2] = LAYOUT_all(
     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       , XXXXXXX,
     KC_TILD  ,KC_EXLM,KC_AT  ,KC_HASH,KC_DLR ,KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_UNDS,KC_LBRC,KC_RBRC,KC_BSLS    , XXXXXXX,
     _______      ,ISO_LT ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______ ,XXXXXXX,XXXXXXX,
     _______  ,_______  ,_______,XXXXXXX              ,XXXXXXX          ,_______,_______  ,_______ ,XXXXXXX,XXXXXXX,XXXXXXX 
     ),
-[3] = LAYOUT_48(
+[3] = LAYOUT_all(
     KC_TILD,KC_EXLM,KC_AT  ,KC_HASH,KC_DLR ,KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_UNDS,KC_PLUS      , XXXXXXX,
     _______  ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_LCBR,KC_RCBR,KC_PIPE    , XXXXXXX,
     _______      ,ISO_GT ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______ ,XXXXXXX,XXXXXXX,
diff --git a/keyboards/nopunin10did/kastenwagen1840/keymaps/default48/keymap.c b/keyboards/nopunin10did/kastenwagen48/keymaps/via/keymap.c
similarity index 98%
rename from keyboards/nopunin10did/kastenwagen1840/keymaps/default48/keymap.c
rename to keyboards/nopunin10did/kastenwagen48/keymaps/via/keymap.c
index ca6b66d59c..397b75b901 100644
--- a/keyboards/nopunin10did/kastenwagen1840/keymaps/default48/keymap.c
+++ b/keyboards/nopunin10did/kastenwagen48/keymaps/via/keymap.c
@@ -27,26 +27,26 @@ uint16_t alt_tab_timer = 0;
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-[0] = LAYOUT_48(
+[0] = LAYOUT_all(
 
     KC_ESC ,KC_Q   ,KC_W   ,KC_E   ,KC_R   ,KC_T   ,KC_Y   ,KC_U   ,KC_I   ,KC_O   ,KC_P   ,KC_LBRC,KC_BSPC      , KC_DEL ,
     KC_TAB   ,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_PGUP,
     KC_LSPO      ,KC_Z   ,KC_X   ,KC_C   ,KC_V   ,KC_B   ,KC_N   ,KC_M   ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSPC ,KC_UP , KC_PGDN,
     KC_LCTL  ,KC_LALT  ,MO(2)  ,L2_SPC               ,L3_SPC           ,MO(3)  ,RWINALT  ,MO(1)   ,KC_LEFT,KC_DOWN,KC_RGHT 
     ),
-[1] = LAYOUT_48(
+[1] = LAYOUT_all(
     RESET  ,KC_F1  ,KC_F2  ,KC_F3  ,KC_F4  ,KC_F5  ,KC_F6  ,KC_F7  ,KC_F8  ,KC_F9  ,KC_F10 ,KC_RBRC,KC_DEL       , KC_INS ,
     KC_CAPS  ,KC_F11 ,KC_F12 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX    , KC_HOME,
     _______      ,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,KC_INS ,KC_APP ,KC_LGUI,KC_RGUI,XXXXXXX,_______ ,KC_PGUP,KC_END ,
     KC_RCTL  ,_______  ,_______,XXXXXXX              ,XXXXXXX          ,_______,_______  ,_______ ,KC_HOME,KC_PGDN,KC_END  
     ),
-[2] = LAYOUT_48(
+[2] = LAYOUT_all(
     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       , XXXXXXX,
     KC_TILD  ,KC_EXLM,KC_AT  ,KC_HASH,KC_DLR ,KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_UNDS,KC_LBRC,KC_RBRC,KC_BSLS    , XXXXXXX,
     _______      ,ISO_LT ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______ ,XXXXXXX,XXXXXXX,
     _______  ,_______  ,_______,XXXXXXX              ,XXXXXXX          ,_______,_______  ,_______ ,XXXXXXX,XXXXXXX,XXXXXXX 
     ),
-[3] = LAYOUT_48(
+[3] = LAYOUT_all(
     KC_TILD,KC_EXLM,KC_AT  ,KC_HASH,KC_DLR ,KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_UNDS,KC_PLUS      , XXXXXXX,
     _______  ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_LCBR,KC_RCBR,KC_PIPE    , XXXXXXX,
     _______      ,ISO_GT ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______ ,XXXXXXX,XXXXXXX,
diff --git a/keyboards/nopunin10did/kastenwagen48/keymaps/via/rules.mk b/keyboards/nopunin10did/kastenwagen48/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/nopunin10did/kastenwagen48/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/nopunin10did/kastenwagen48/readme.md b/keyboards/nopunin10did/kastenwagen48/readme.md
index f6db1aa410..d0ea708313 100644
--- a/keyboards/nopunin10did/kastenwagen48/readme.md
+++ b/keyboards/nopunin10did/kastenwagen48/readme.md
@@ -4,13 +4,9 @@
 
 Kastenwagen 48 is a 40% keyboard with a macro column and dedicated arrows.  The main alpha block is 13.75u long, allowing for more dedicated punctuation keys to be paired with common Minivan-like mod keys.
 
-A second model of Kastenwagen, the [Kastenwagen 1840](https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/kastenwagen1840), is similar but replaces the macro column with a mini-numpad.
-
-Please note that the Kastenwagen 1840 via-compatible keymap firmware is also compatible with the Kastenwagen 48.  The Kastenwagen 48 does not have a dedicated via-compatible firmware.
-
 For more information, join the [NoPunIn10Key Discord](https://discord.gg/sku2Y6w).
 
-* Keyboard Maintainer: [Alex Ronke](diplomacyvariants.wordpress.com), also known as NoPunIn10Did. 
+* Keyboard Maintainer: [Alex Ronke](https://nopunin10did.com/), also known as [NoPunIn10Did](https://github.com/NoPunIn10Did)
 * Hardware Supported: Kastenwagen 48 (2021 June)
 * Hardware Availability: Currently by request only
 
@@ -18,11 +14,15 @@ To jump the bootloader, either:
 * If loaded with the default layout, use Function-Escape *(the function button is the farthest righthand 1.25u on the bottom row)* **OR**
 * Use the physical reset switch on the Elite C **OR**
 * Briefly jump the Reset and Ground pins of the Elite C
-    
-Make example for the 48 model:
 
-    make nopunin10did/kastenwagen48:default48
+Make example for this keyboard (after setting up your build environment):
+
+    make nopunin10did/kastenwagen48:default
+
+Flashing example for this keyboard:
+
+    make nopunin10did/kastenwagen48: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).
 
-![Kastenwagen Default Layouts](https://diplomacyvariants.files.wordpress.com/2022/01/kastenwagen-default-layouts.png)
\ No newline at end of file
+![Kastenwagen Default Layouts](https://diplomacyvariants.files.wordpress.com/2022/01/kastenwagen-default-layouts.png)
diff --git a/keyboards/nopunin10did/railroad/readme.md b/keyboards/nopunin10did/railroad/readme.md
index aac088f12e..91c4554c20 100644
--- a/keyboards/nopunin10did/railroad/readme.md
+++ b/keyboards/nopunin10did/railroad/readme.md
@@ -4,7 +4,7 @@
 
 A long keyboard with ortholinear alphas and semi-standard modifier keys. For more information, join the [NoPunIn10Key Discord](https://discord.gg/sku2Y6w).
 
-* Keyboard Maintainer: [Alex Ronke](diplomacyvariants.wordpress.com), also known as NoPunIn10Did. 
+* Keyboard Maintainer: [Alex Ronke](https://nopunin10did.com/), also known as [NoPunIn10Did](https://github.com/NoPunIn10Did)
 * Hardware Supported: The Railroad: 2020-07 Prototype
 * Hardware Availability: Currently by request only
 
diff --git a/keyboards/nopunin10did/railroad/rev0/readme.md b/keyboards/nopunin10did/railroad/rev0/readme.md
index e3b8dc8bcd..91c4554c20 100644
--- a/keyboards/nopunin10did/railroad/rev0/readme.md
+++ b/keyboards/nopunin10did/railroad/rev0/readme.md
@@ -4,7 +4,7 @@
 
 A long keyboard with ortholinear alphas and semi-standard modifier keys. For more information, join the [NoPunIn10Key Discord](https://discord.gg/sku2Y6w).
 
-* Keyboard Maintainer: [Alex Ronke](https://diplomacyvariants.wordpress.com/), also known as [NoPunIn10Did](https://github.com/nopunin10did). 
+* Keyboard Maintainer: [Alex Ronke](https://nopunin10did.com/), also known as [NoPunIn10Did](https://github.com/NoPunIn10Did)
 * Hardware Supported: The Railroad: 2020-07 Prototype
 * Hardware Availability: Currently by request only
 
diff --git a/keyboards/nopunin10did/readme.md b/keyboards/nopunin10did/readme.md
new file mode 100644
index 0000000000..a23f94e664
--- /dev/null
+++ b/keyboards/nopunin10did/readme.md
@@ -0,0 +1,14 @@
+# NoPunIn10Did
+
+Contains the codebases for keyboards designed by Alex Ronke, also known as NoPunIn10Did.
+
+* [GitHub](https://github.com/nopunin10did)
+* [Website](https://nopunin10did.com/)
+* [NoPunIn10Key Discord](https://discord.gg/sku2Y6w)
+
+## Keyboards
+
+* [Jabberwocky](jabberwocky/) - a full-size, columnar-staggered, Alice-style keyboard, featuring left- or right-side numpad
+* [Kastenwagen 1840](kastenwagen1840/) - a 40% keyboard with a mini-numpad and dedicated arrows
+* [Kastenwagen 48](kastenwagen48/) - a 40% keyboard with a macro column and dedicated arrows
+* [The Railroad](railroad/rev0/) - a 97-key keyboard combining ortholinear alphas with semi-standard modifier keys