diff --git a/keyboards/peej/rosaline/keymaps/via/keymap.c b/keyboards/peej/rosaline/keymaps/via/keymap.c
deleted file mode 100644
index 1d6ac2ed82..0000000000
--- a/keyboards/peej/rosaline/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2021 Paul James
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_staggered_40(
- 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_BSPC,
- KC_GESC, 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_LSFT, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-[1] = LAYOUT_staggered_40(
- _______, 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_DEL,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-[2] = LAYOUT_staggered_40(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-[3] = LAYOUT_staggered_40(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-};
diff --git a/keyboards/peej/rosaline/info.json b/keyboards/peej/rosaline/ortho/info.json
similarity index 53%
rename from keyboards/peej/rosaline/info.json
rename to keyboards/peej/rosaline/ortho/info.json
index 8a6f71aae2..cb07d3e083 100644
--- a/keyboards/peej/rosaline/info.json
+++ b/keyboards/peej/rosaline/ortho/info.json
@@ -3,61 +3,6 @@
"url": "https://github.com/peej/rosaline-keyboard",
"maintainer": "Peej",
"layouts": {
- "LAYOUT_staggered_40": {
- "layout": [
- { "x": 0, "y": 0, "w": 1.5 },
- { "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, "w": 1.5 },
- { "x": 0, "y": 1, "w": 1.75 },
- { "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, "w": 2.25 },
- { "x": 0, "y": 2, "w": 2.25 },
- { "x": 1, "y": 2 },
- { "x": 2, "y": 2 },
- { "x": 3, "y": 2 },
- { "x": 4, "y": 2 },
- { "x": 5, "y": 2 },
- { "x": 6, "y": 2 },
- { "x": 7, "y": 2 },
- { "x": 8, "y": 2 },
- { "x": 9, "y": 2 },
- { "x": 10, "y": 2 },
- { "x": 11, "y": 2, "w": 1.75 },
- { "x": 12, "y": 2 },
- { "x": 0, "y": 3, "w": 1.5 },
- { "x": 1, "y": 3, "w": 1.5 },
- { "x": 2, "y": 3, "w": 1.5 },
- { "x": 3, "y": 3, "w": 2.75 },
- { "x": 4, "y": 3 },
- { "x": 5, "y": 3, "w": 2.25 },
- { "x": 6, "y": 3 },
- { "x": 7, "y": 3 },
- { "x": 8, "y": 3 },
- { "x": 9, "y": 3 },
- { "x": 10, "y": 3 }
- ]
- },
"LAYOUT_ortho_4x15": {
"layout": [
{ "x": 0, "y": 0 },
diff --git a/keyboards/peej/rosaline/keymaps/ortho/keymap.c b/keyboards/peej/rosaline/ortho/keymaps/default/keymap.c
similarity index 100%
rename from keyboards/peej/rosaline/keymaps/ortho/keymap.c
rename to keyboards/peej/rosaline/ortho/keymaps/default/keymap.c
diff --git a/keyboards/peej/rosaline/keymaps/via-ortho/keymap.c b/keyboards/peej/rosaline/ortho/keymaps/via/keymap.c
similarity index 100%
rename from keyboards/peej/rosaline/keymaps/via-ortho/keymap.c
rename to keyboards/peej/rosaline/ortho/keymaps/via/keymap.c
diff --git a/keyboards/peej/rosaline/keymaps/via-ortho/rules.mk b/keyboards/peej/rosaline/ortho/keymaps/via/rules.mk
similarity index 100%
rename from keyboards/peej/rosaline/keymaps/via-ortho/rules.mk
rename to keyboards/peej/rosaline/ortho/keymaps/via/rules.mk
diff --git a/keyboards/peej/rosaline/ortho/ortho.h b/keyboards/peej/rosaline/ortho/ortho.h
new file mode 100644
index 0000000000..b3287784c3
--- /dev/null
+++ b/keyboards/peej/rosaline/ortho/ortho.h
@@ -0,0 +1,57 @@
+/* Copyright 2021 Paul James
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include "rosaline.h"
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
+ * │00 │40 │01 │41 │02 │42 │03 │43 │04 │44 │05 │45 │06 │46 │07 │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │10 │50 │11 │51 │12 │52 │13 │53 │14 │54 │15 │55 │16 │56 │17 │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │20 │60 │21 │61 │22 │62 │23 │63 │24 │64 │25 │65 │26 │66 │27 │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │30 │70 │31 │71 │32 │72 │33 │73 │34 │74 │35 │75 │36 │76 │37 │
+ * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
+ * ┌───────────────────────────┐
+ * │73 │ 7u Space
+ * └───────────────────────────┘
+ * ┌───────┐ ┌───────┐
+ * 2u Left │32 │ │35 │ 2u Right
+ * └───────┘ └───────┘
+ */
+
+#define LAYOUT_ortho_4x15( \
+ k00, k40, k01, k41, k02, k42, k03, k43, k04, k44, k05, k45, k06, k46, k07, \
+ k10, k50, k11, k51, k12, k52, k13, k53, k14, k54, k15, k55, k16, k56, k17, \
+ k20, k60, k21, k61, k22, k62, k23, k63, k24, k64, k25, k65, k26, k66, k27, \
+ k30, k70, k31, k71, k32, k72, k33, k73, k34, k74, k35, k75, k36, k76, k37 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07 }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27 }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37 }, \
+ { k40, k41, k42, k43, k44, k45, k46, XXX }, \
+ { k50, k51, k52, k53, k54, k55, k56, XXX }, \
+ { k60, k61, k62, k63, k64, k65, k66, XXX }, \
+ { k70, k71, k72, k73, k74, k75, k76, XXX } \
+}
+
+#define LED1 C5
+#define LED2 C4
diff --git a/keyboards/peej/rosaline/ortho/rules.mk b/keyboards/peej/rosaline/ortho/rules.mk
new file mode 100644
index 0000000000..d1dde8af62
--- /dev/null
+++ b/keyboards/peej/rosaline/ortho/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega328p
+
+# Bootloader selection
+BOOTLOADER = usbasploader
+
+# Build Options
+# 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
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/peej/rosaline/readme.md b/keyboards/peej/rosaline/readme.md
index 033faa34f2..2b176d30df 100644
--- a/keyboards/peej/rosaline/readme.md
+++ b/keyboards/peej/rosaline/readme.md
@@ -2,7 +2,7 @@
## Through-hole 40% keyboard PCB for 60% cases
-![juliet](https://github.com/peej/rosaline-keyboard/raw/master/images/pcb.jpg)
+![Rosaline Staggered](https://raw.githubusercontent.com/peej/rosaline-keyboard/a40d60e95ee69630db0ea53d97c59b9e5db4851f/images/pcb-staggered-render.jpg)
40% staggered or 4x15 ortholinear PCB for 60% tray mount cases with only through hole components.
@@ -11,8 +11,11 @@
Make example for this keyboard (after setting up your build environment):
- make peej/rosaline:default
+ make peej/rosaline/staggered:default # for staggered PCBs
+ make peej/rosaline/ortho:default # for ortholinear PCBs
## Bootloader
Use usbasploader in [hsgw's repository](https://github.com/hsgw/USBaspLoader/tree/plaid).
+
+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/peej/rosaline/rosaline.h b/keyboards/peej/rosaline/rosaline.h
index 1e41a2e95e..22125f3188 100644
--- a/keyboards/peej/rosaline/rosaline.h
+++ b/keyboards/peej/rosaline/rosaline.h
@@ -20,39 +20,11 @@
#define XXX KC_NO
-#define LAYOUT_staggered_40( \
- k00, k01, k10, k20, k21, k30, k31, k40, k41, k50, k60, k61, k70, k71, \
- k02, k11, k12, k22, k23, k32, k33, k42, k51, k52, k62, k63, k72, \
- k03, k13, k14, k24, k34, k35, k43, k44, k53, k54, k64, k73, k74, \
- k04, k05, k15, k25, k45, k55, k56, k65, k66, k75, k76 \
-) \
-{ \
- { k00, k10, k20, k30, k40, k50, k60, k70 }, \
- { k01, k11, k21, k31, k41, k51, k61, k71 }, \
- { k02, k12, k22, k32, k42, k52, k62, k72 }, \
- { k03, k13, k23, k33, k43, k53, k63, k73 }, \
- { k04, k14, k24, k34, k44, k54, k64, k74 }, \
- { k05, k15, k25, k35, k45, k55, k65, k75 }, \
- { XXX, XXX, XXX, XXX, XXX, k56, k66, k76 }, \
- { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
-}
-
-#define LAYOUT_ortho_4x15( \
- k00, k04, k10, k14, k20, k24, k30, k34, k40, k44, k50, k54, k60, k64, k70, \
- k01, k05, k11, k15, k21, k25, k31, k35, k41, k45, k51, k55, k61, k65, k71, \
- k02, k06, k12, k16, k22, k26, k32, k36, k42, k46, k52, k56, k62, k66, k72, \
- k03, k07, k13, k17, k23, k27, k33, k37, k43, k47, k53, k57, k63, k67, k73 \
-) \
-{ \
- { k00, k10, k20, k30, k40, k50, k60, k70 }, \
- { k01, k11, k21, k31, k41, k51, k61, k71 }, \
- { k02, k12, k22, k32, k42, k52, k62, k72 }, \
- { k03, k13, k23, k33, k43, k53, k63, k73 }, \
- { k04, k14, k24, k34, k44, k54, k64, XXX }, \
- { k05, k15, k25, k35, k45, k55, k65, XXX }, \
- { k06, k16, k26, k36, k46, k56, k66, XXX }, \
- { k07, k17, k27, k37, k47, k57, k67, XXX } \
-}
+#if defined(KEYBOARD_peej_rosaline_staggered)
+ #include "staggered.h"
+#elif defined(KEYBOARD_peej_rosaline_ortho)
+ #include "ortho.h"
+#endif
#define LED1 C5
#define LED2 C4
diff --git a/keyboards/peej/rosaline/rules.mk b/keyboards/peej/rosaline/rules.mk
index d1dde8af62..928164362a 100644
--- a/keyboards/peej/rosaline/rules.mk
+++ b/keyboards/peej/rosaline/rules.mk
@@ -1,18 +1 @@
-# MCU name
-MCU = atmega328p
-
-# Bootloader selection
-BOOTLOADER = usbasploader
-
-# Build Options
-# 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
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
+DEFAULT_FOLDER = peej/rosaline/staggered
diff --git a/keyboards/peej/rosaline/staggered/info.json b/keyboards/peej/rosaline/staggered/info.json
new file mode 100644
index 0000000000..ba886865a5
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/info.json
@@ -0,0 +1,68 @@
+{
+ "keyboard_name": "Rosaline",
+ "url": "https://github.com/peej/rosaline-keyboard",
+ "maintainer": "Peej",
+ "layout_aliases": {
+ "LAYOUT_staggered_40": "LAYOUT_all"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0, "y":0, "w":1.5},
+ {"x":1.5, "y":0},
+ {"x":2.5, "y":0},
+ {"x":3.5, "y":0},
+ {"x":4.5, "y":0},
+ {"x":5.5, "y":0},
+ {"x":6.5, "y":0},
+ {"x":7.5, "y":0},
+ {"x":8.5, "y":0},
+ {"x":9.5, "y":0},
+ {"x":10.5, "y":0},
+ {"x":11.5, "y":0},
+ {"x":12.5, "y":0},
+ {"x":13.5, "y":0, "w":1.5},
+
+ {"x":0, "y":1, "w":1.75},
+ {"x":1.75, "y":1},
+ {"x":2.75, "y":1},
+ {"x":3.75, "y":1},
+ {"x":4.75, "y":1},
+ {"x":5.75, "y":1},
+ {"x":6.75, "y":1},
+ {"x":7.75, "y":1},
+ {"x":8.75, "y":1},
+ {"x":9.75, "y":1},
+ {"x":10.75, "y":1},
+ {"x":11.75, "y":1},
+ {"x":12.75, "y":1, "w":2.25},
+
+ {"x":0, "y":2, "w":2.25},
+ {"x":2.25, "y":2},
+ {"x":3.25, "y":2},
+ {"x":4.25, "y":2},
+ {"x":5.25, "y":2},
+ {"x":6.25, "y":2},
+ {"x":7.25, "y":2},
+ {"x":8.25, "y":2},
+ {"x":9.25, "y":2},
+ {"x":10.25, "y":2},
+ {"x":11.25, "y":2},
+ {"x":12.25, "y":2, "w":1.75},
+ {"x":14, "y":2},
+
+ {"x":0, "y":3, "w":1.5},
+ {"x":1.5, "y":3},
+ {"x":2.5, "y":3, "w":1.5},
+ {"x":4, "y":3, "w":2.75},
+ {"x":6.75, "y":3},
+ {"x":7.75, "y":3, "w":2.25},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+ {"x":13, "y":3},
+ {"x":14, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/peej/rosaline/keymaps/default/keymap.c b/keyboards/peej/rosaline/staggered/keymaps/default/keymap.c
similarity index 73%
rename from keyboards/peej/rosaline/keymaps/default/keymap.c
rename to keyboards/peej/rosaline/staggered/keymaps/default/keymap.c
index fc659293f0..11f3831c44 100644
--- a/keyboards/peej/rosaline/keymaps/default/keymap.c
+++ b/keyboards/peej/rosaline/staggered/keymaps/default/keymap.c
@@ -36,11 +36,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Ctrl | Gui | Alt | Space | Space | Alt | Ctrl | Left | Down | Up | Rght |
* `--------'------'--------'---------------------'------------'------'------'------'------'------'------'
*/
-[_QWERTY] = LAYOUT_staggered_40(
- 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_BSPC,
- KC_GESC, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+[_QWERTY] = LAYOUT_all(
+ 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_BSPC,
+ KC_GESC, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Function
@@ -54,11 +54,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Ctrl | Gui | Alt | Space | Space | Alt | Ctrl | Left | Down | Up | Rght |
* `--------'------'--------'---------------------'------------'------'------'------'------'------'------'
*/
-[_FUNCTION] = LAYOUT_staggered_40(
- _______, 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_DEL,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+[_FUNCTION] = LAYOUT_all(
+ _______, 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_DEL,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
)
};
diff --git a/keyboards/peej/rosaline/staggered/keymaps/via/keymap.c b/keyboards/peej/rosaline/staggered/keymaps/via/keymap.c
new file mode 100644
index 0000000000..87c0717da6
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
+/* Copyright 2021 Paul James
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[0] = LAYOUT_all(
+ 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_BSPC,
+ KC_GESC, 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_LSFT, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+[1] = LAYOUT_all(
+ _______, 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_DEL,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+),
+[2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+[3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+};
diff --git a/keyboards/peej/rosaline/keymaps/via/rules.mk b/keyboards/peej/rosaline/staggered/keymaps/via/rules.mk
similarity index 100%
rename from keyboards/peej/rosaline/keymaps/via/rules.mk
rename to keyboards/peej/rosaline/staggered/keymaps/via/rules.mk
diff --git a/keyboards/peej/rosaline/staggered/rules.mk b/keyboards/peej/rosaline/staggered/rules.mk
new file mode 100644
index 0000000000..d1dde8af62
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega328p
+
+# Bootloader selection
+BOOTLOADER = usbasploader
+
+# Build Options
+# 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
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/peej/rosaline/staggered/staggered.h b/keyboards/peej/rosaline/staggered/staggered.h
new file mode 100644
index 0000000000..cc2703c834
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/staggered.h
@@ -0,0 +1,57 @@
+/* Copyright 2021 Paul James
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include "rosaline.h"
+
+/*
+ * ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │00 │10 │01 │02 │12 │03 │13 │04 │14 │05 │06 │16 │07 │17 │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │20 │11 │21 │22 │32 │23 │33 │24 │15 │25 │26 │36 │27 │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┬──────────┐ ┌──────┬───┬───┐
+ * │30 │31 │41 │42 │43 │53 │34 │44 │35 │45 │46 │37 │47 │ │46 │37 │ 1u/2.75u RShift │46 │37 │47 │ 1.75u/1u/1u RShift
+ * ├─────┬──┴┬──┴──┬┴───┴───┴─┬─┴───┴──┬┴──┬┴──┬┴──┬┴──┬───┼───┤ └───┴──────────┘ └──────┴───┴───┘
+ * │40 │50 │51 │52 │54 │55 │65 │56 │66 │57 │67 │
+ * └─────┴───┴─────┴──────────┴────────┴───┴───┴───┴───┴───┴───┘
+ * ┌───────────────────────────┬─────┬───┬─────┐
+ * 7u Space │54 │56 │66 │57 │ Tsangan Right Mods
+ * └───────────────────────────┴─────┴───┴─────┘
+ * ┌──────────┬───┬────────┬───┐
+ * 2.75/1/2.25/1u │52 │54 │55 │65 │
+ * └──────────┴───┴────────┴───┘
+ */
+
+#define LAYOUT_all( \
+ k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k06, k16, k07, k17, \
+ k20, k11, k21, k22, k32, k23, k33, k24, k15, k25, k26, k36, k27, \
+ k30, k31, k41, k42, k43, k53, k34, k44, k35, k45, k46, k37, k47, \
+ k40, k50, k51, k52, k54, k55, k65, k56, k66, k57, k67 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07 }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27 }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37 }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47 }, \
+ { k50, k51, k52, k53, k54, k55, k56, k57 }, \
+ { XXX, XXX, XXX, XXX, XXX, k65, k66, k67 }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
+}
+
+#define LED1 C5
+#define LED2 C4