Browse Source

Peej Rosaline Refactor (#17564)

James Young 2 years ago
parent
commit
2dab029bcf

+ 0 - 46
keyboards/peej/rosaline/keymaps/via/keymap.c

@@ -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 <http://www.gnu.org/licenses/>.
- */
-
-#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(
-    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-};

+ 0 - 55
keyboards/peej/rosaline/info.json → 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 },

+ 0 - 0
keyboards/peej/rosaline/keymaps/ortho/keymap.c → keyboards/peej/rosaline/ortho/keymaps/default/keymap.c


+ 0 - 0
keyboards/peej/rosaline/keymaps/via-ortho/keymap.c → keyboards/peej/rosaline/ortho/keymaps/via/keymap.c


+ 0 - 0
keyboards/peej/rosaline/keymaps/via-ortho/rules.mk → keyboards/peej/rosaline/ortho/keymaps/via/rules.mk


+ 57 - 0
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 <http://www.gnu.org/licenses/>.
+ */
+
+#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

+ 18 - 0
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

+ 5 - 2
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).

+ 5 - 33
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

+ 1 - 18
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

+ 68 - 0
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}
+            ]
+        }
+    }
+}

+ 10 - 10
keyboards/peej/rosaline/keymaps/default/keymap.c → 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
 )
 
 };

+ 46 - 0
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 <http://www.gnu.org/licenses/>.
+ */
+
+#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(
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
+    _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+    _______, _______, _______,                   _______, _______,          _______, _______, _______, _______, _______, _______
+),
+
+};

+ 0 - 0
keyboards/peej/rosaline/keymaps/via/rules.mk → keyboards/peej/rosaline/staggered/keymaps/via/rules.mk


+ 18 - 0
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

+ 57 - 0
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 <http://www.gnu.org/licenses/>.
+ */
+
+#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