summaryrefslogtreecommitdiff
path: root/keyboards/0xcb
diff options
context:
space:
mode:
authorConor Burns <mail@conor-burns.com>2023-03-15 16:53:02 +0100
committerGitHub <noreply@github.com>2023-03-15 15:53:02 +0000
commitc18d5ebd2dff2615283931e2efe79cfdb2a550f2 (patch)
tree8e5dc85375d05f43f337bab1580fb3bf6981310d /keyboards/0xcb
parent915d7a18d757ddb22498d66b82c6309077cdb178 (diff)
add new board: splaytoraid (#20052)
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Diffstat (limited to 'keyboards/0xcb')
-rw-r--r--keyboards/0xcb/splaytoraid/32u4/rules.mk0
-rw-r--r--keyboards/0xcb/splaytoraid/config.h22
-rw-r--r--keyboards/0xcb/splaytoraid/info.json153
-rw-r--r--keyboards/0xcb/splaytoraid/keymaps/default/keymap.c49
-rw-r--r--keyboards/0xcb/splaytoraid/keymaps/default/rules.mk1
-rw-r--r--keyboards/0xcb/splaytoraid/keymaps/pi/config.h21
-rw-r--r--keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c304
-rw-r--r--keyboards/0xcb/splaytoraid/keymaps/pi/rules.mk3
-rw-r--r--keyboards/0xcb/splaytoraid/keymaps/via/keymap.c48
-rw-r--r--keyboards/0xcb/splaytoraid/keymaps/via/rules.mk2
-rw-r--r--keyboards/0xcb/splaytoraid/readme.md36
-rw-r--r--keyboards/0xcb/splaytoraid/rp2040_ce/config.h25
-rw-r--r--keyboards/0xcb/splaytoraid/rp2040_ce/readme.md3
-rw-r--r--keyboards/0xcb/splaytoraid/rp2040_ce/rules.mk2
-rw-r--r--keyboards/0xcb/splaytoraid/rules.mk1
15 files changed, 670 insertions, 0 deletions
diff --git a/keyboards/0xcb/splaytoraid/32u4/rules.mk b/keyboards/0xcb/splaytoraid/32u4/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/32u4/rules.mk
diff --git a/keyboards/0xcb/splaytoraid/config.h b/keyboards/0xcb/splaytoraid/config.h
new file mode 100644
index 0000000000..01eb276069
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/config.h
@@ -0,0 +1,22 @@
+// Copyright 2023 Conor Burns (@Conor-Burns)
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define RGB_DI_PIN D0
+
+#define RGB_MATRIX_LED_COUNT 18
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
+#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING
+#define RGB_MATRIX_DEFAULT_HUE 152
+#define RGB_MATRIX_DEFAULT_SAT 232
+#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#define RGB_MATRIX_DEFAULT_SPD 50
+
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_SOLID_COLOR
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
diff --git a/keyboards/0xcb/splaytoraid/info.json b/keyboards/0xcb/splaytoraid/info.json
new file mode 100644
index 0000000000..7b8177df9f
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/info.json
@@ -0,0 +1,153 @@
+{
+ "manufacturer": "Freya",
+ "keyboard_name": "splaytoraid",
+ "maintainer": "freya-irl",
+ "url": "https://github.com/freya-irl/splaytoraid40",
+ "development_board": "promicro",
+ "bootloader": "qmk-dfu",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"],
+ "rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0xCB00",
+ "vid": "0x2004"
+ },
+ "features": {
+ "extrakey": true,
+ "rgb_matrix": true,
+ "bootmagic": true,
+ "console": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "bootmagic": {
+ "matrix": [1, 0]
+ },
+ "build": {
+ "lto": true
+ },
+ "encoder": {
+ "enabled": true,
+ "rotary": [
+ {
+ "pin_a": "B5",
+ "pin_b": "B6",
+ "resolution": 4
+ }
+ ]
+ },
+ "rgb_matrix": {
+ "driver": "WS2812",
+ "layout": [
+ { "flags": 4, "matrix": [0, 2], "x": 0, "y": 0 },
+ { "flags": 4, "matrix": [1, 0], "x": 20, "y": 0 },
+ { "flags": 4, "matrix": [7, 0], "x": 61, "y": 0 },
+ { "flags": 4, "matrix": [7, 1], "x": 163, "y": 0 },
+ { "flags": 4, "matrix": [5, 0], "x": 203, "y": 0 },
+ { "flags": 4, "matrix": [4, 2], "x": 224, "y": 0 },
+ { "flags": 4, "matrix": [6, 2], "x": 0, "y": 21 },
+ { "flags": 4, "matrix": [6, 1], "x": 224, "y": 21 },
+ { "flags": 4, "matrix": [3, 3], "x": 20, "y": 43 },
+ { "flags": 4, "matrix": [7, 3], "x": 61, "y": 43 },
+ { "flags": 4, "matrix": [6, 4], "x": 163, "y": 43 },
+ { "flags": 4, "matrix": [6, 3], "x": 203, "y": 43 },
+ { "flags": 4, "matrix": [4, 3], "x": 61, "y": 64 },
+ { "flags": 4, "matrix": [5, 5], "x": 81, "y": 64 },
+ { "flags": 4, "matrix": [7, 4], "x": 101, "y": 64 },
+ { "flags": 4, "matrix": [7, 5], "x": 122, "y": 64 },
+ { "flags": 4, "matrix": [1, 5], "x": 142, "y": 64 },
+ { "flags": 4, "matrix": [0, 3], "x": 163, "y": 64 }
+ ]
+ },
+ "layouts": {
+ "LAYOUT_36": {
+ "layout": [
+ { "label": "K10", "matrix": [1, 0], "x": 0, "y": 0 },
+ { "label": "K11", "matrix": [1, 1], "x": 1, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "x": 3, "y": 0 },
+ { "label": "K12", "matrix": [1, 2], "x": 4, "y": 0 },
+ { "label": "K52", "matrix": [5, 2], "x": 6, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "x": 7, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "x": 8, "y": 0 },
+ { "label": "K14", "matrix": [1, 4], "x": 9, "y": 0 },
+ { "label": "K15", "matrix": [1, 5], "x": 10, "y": 0 },
+ { "label": "K30", "matrix": [3, 0], "x": 0, "y": 1 },
+ { "label": "K31", "matrix": [3, 1], "x": 1, "y": 1 },
+ { "label": "K22", "matrix": [2, 2], "x": 2, "y": 1 },
+ { "label": "K21", "matrix": [2, 1], "x": 3, "y": 1 },
+ { "label": "K13", "matrix": [1, 3], "x": 4, "y": 1 },
+ { "label": "K53", "matrix": [5, 3], "x": 6, "y": 1 },
+ { "label": "K24", "matrix": [2, 4], "x": 7, "y": 1 },
+ { "label": "K23", "matrix": [2, 3], "x": 8, "y": 1 },
+ { "label": "K34", "matrix": [3, 4], "x": 9, "y": 1 },
+ { "label": "K35", "matrix": [3, 5], "x": 10, "y": 1 },
+ { "label": "K50", "matrix": [5, 0], "x": 0, "y": 2 },
+ { "label": "K51", "matrix": [5, 1], "x": 1, "y": 2 },
+ { "label": "K42", "matrix": [4, 2], "x": 2, "y": 2 },
+ { "label": "K41", "matrix": [4, 1], "x": 3, "y": 2 },
+ { "label": "K32", "matrix": [3, 2], "x": 4, "y": 2 },
+ { "label": "K72", "matrix": [7, 2], "x": 6, "y": 2 },
+ { "label": "K44", "matrix": [4, 4], "x": 7, "y": 2 },
+ { "label": "K43", "matrix": [4, 3], "x": 8, "y": 2 },
+ { "label": "K54", "matrix": [5, 4], "x": 9, "y": 2 },
+ { "label": "K55", "matrix": [5, 5], "x": 10, "y": 2 },
+ { "label": "K62", "matrix": [6, 2], "x": 2, "y": 3 },
+ { "label": "K61", "matrix": [6, 1], "x": 3, "y": 3 },
+ { "label": "K33", "matrix": [3, 3], "x": 4, "y": 3 },
+ { "label": "K66", "matrix": [6, 6], "x": 5, "y": 3 },
+ { "label": "K73", "matrix": [7, 3], "x": 6, "y": 3 },
+ { "label": "K64", "matrix": [6, 4], "x": 7, "y": 3 },
+ { "label": "K63", "matrix": [6, 3], "x": 8, "y": 3 }
+ ]
+ },
+ "LAYOUT_40": {
+ "layout": [
+ { "label": "K70", "matrix": [7, 0], "x": 0, "y": 0 },
+ { "label": "K10", "matrix": [1, 0], "x": 1, "y": 0 },
+ { "label": "K11", "matrix": [1, 1], "x": 2, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "x": 3, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "x": 4, "y": 0 },
+ { "label": "K12", "matrix": [1, 2], "x": 5, "y": 0 },
+ { "label": "K52", "matrix": [5, 2], "x": 7, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "x": 8, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "x": 9, "y": 0 },
+ { "label": "K14", "matrix": [1, 4], "x": 10, "y": 0 },
+ { "label": "K15", "matrix": [1, 5], "x": 11, "y": 0 },
+ { "label": "K75", "matrix": [7, 5], "x": 12, "y": 0 },
+ { "label": "K71", "matrix": [7, 1], "x": 0, "y": 1 },
+ { "label": "K30", "matrix": [3, 0], "x": 1, "y": 1 },
+ { "label": "K31", "matrix": [3, 1], "x": 2, "y": 1 },
+ { "label": "K22", "matrix": [2, 2], "x": 3, "y": 1 },
+ { "label": "K21", "matrix": [2, 1], "x": 4, "y": 1 },
+ { "label": "K13", "matrix": [1, 3], "x": 5, "y": 1 },
+ { "label": "K53", "matrix": [5, 3], "x": 7, "y": 1 },
+ { "label": "K24", "matrix": [2, 4], "x": 8, "y": 1 },
+ { "label": "K23", "matrix": [2, 3], "x": 9, "y": 1 },
+ { "label": "K34", "matrix": [3, 4], "x": 10, "y": 1 },
+ { "label": "K35", "matrix": [3, 5], "x": 11, "y": 1 },
+ { "label": "K74", "matrix": [7, 4], "x": 12, "y": 1 },
+ { "label": "K50", "matrix": [5, 0], "x": 1, "y": 2 },
+ { "label": "K51", "matrix": [5, 1], "x": 2, "y": 2 },
+ { "label": "K42", "matrix": [4, 2], "x": 3, "y": 2 },
+ { "label": "K41", "matrix": [4, 1], "x": 4, "y": 2 },
+ { "label": "K32", "matrix": [3, 2], "x": 5, "y": 2 },
+ { "label": "K72", "matrix": [7, 2], "x": 7, "y": 2 },
+ { "label": "K44", "matrix": [4, 4], "x": 8, "y": 2 },
+ { "label": "K43", "matrix": [4, 3], "x": 9, "y": 2 },
+ { "label": "K54", "matrix": [5, 4], "x": 10, "y": 2 },
+ { "label": "K55", "matrix": [5, 5], "x": 11, "y": 2 },
+ { "label": "K62", "matrix": [6, 2], "x": 3, "y": 3 },
+ { "label": "K61", "matrix": [6, 1], "x": 4, "y": 3 },
+ { "label": "K33", "matrix": [3, 3], "x": 5, "y": 3 },
+ { "label": "K66", "matrix": [6, 6], "x": 6, "y": 3 },
+ { "label": "K73", "matrix": [7, 3], "x": 7, "y": 3 },
+ { "label": "K64", "matrix": [6, 4], "x": 8, "y": 3 },
+ { "label": "K63", "matrix": [6, 3], "x": 9, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e9dc9a50a0
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
+// Copyright 2023 Conor Burns (@Conor-Burns)
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_40(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_LSFT, KC_ESC, KC_ENT, KC_MPLY, KC_SPC, KC_DEL, KC_RSFT
+ ),
+
+ [_LOWER] = LAYOUT_40(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_40(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_40(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
+ [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [_ADJUST] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }
+};
diff --git a/keyboards/0xcb/splaytoraid/keymaps/default/rules.mk b/keyboards/0xcb/splaytoraid/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/0xcb/splaytoraid/keymaps/pi/config.h b/keyboards/0xcb/splaytoraid/keymaps/pi/config.h
new file mode 100644
index 0000000000..d955f36ab3
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/keymaps/pi/config.h
@@ -0,0 +1,21 @@
+// Copyright 2023 Dreipunkteinsvier (@dreipunkteinsvier)
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define TAPPING_TERM 180
+
+// Prevent normal rollover on alphas from accidentally triggering mods.
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
+
+
+#ifdef COMBO_ENABLE
+ #define COMBO_COUNT 9
+ #define COMBO_TERM 20
+ #define COMBO_ONLY_FROM_LAYER 0
+#endif
+
+#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
diff --git a/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c
new file mode 100644
index 0000000000..cbdfdf16b3
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c
@@ -0,0 +1,304 @@
+// Copyright 2023 Dreipunkteinsvier (@dreipunkteinsvier)
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+#include <stdio.h>
+#include <string.h>
+
+// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
+// │ D E F I N I T I O N S │
+// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
+// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+enum splaytoraid40_layers {
+ _QWERTY,
+ _COLEMAK,
+ _NAVIGATION,
+ _MEDIA,
+ _NUMBERS,
+ _FUNCTION,
+};
+
+// ┌───────────────────────────────────────────────────────────┐
+// │ d e f i n e k e y c o d e s │
+// └───────────────────────────────────────────────────────────┘
+
+enum custom_keycodes {
+ COLEMAK = SAFE_RANGE,
+ QWERTY
+};
+
+// ┌───────────────────────────────────────────────────────────┐
+// │ d e f i n e m a c r o n a m e s │
+// └───────────────────────────────────────────────────────────┘
+
+// LEFT HAND HOME ROW MODS ├───────────────────────────────────┐
+#define HM_A LGUI_T(KC_A)
+#define HM_S LALT_T(KC_S)
+#define HM_D LCTL_T(KC_D)
+#define HM_F LSFT_T(KC_F)
+#define HM_G RALT_T(KC_G)
+
+// RIGHT HAND HOME ROW MODS ├──────────────────────────────────┐
+#define HM_H RALT_T(KC_H)
+#define HM_J RSFT_T(KC_J)
+#define HM_K LCTL_T(KC_K)
+#define HM_L LALT_T(KC_L)
+#define HM_SCLN LGUI_T(KC_SCLN)
+
+// CTRL + ARROWS ├─────────────────────────────────────────────┐
+#define CT_LEFT LCTL(KC_LEFT)
+#define CT_DOWN LCTL(KC_DOWN)
+#define CT_UP LCTL(KC_UP)
+#define CT_RGHT LCTL(KC_RGHT)
+
+// THUMB KEY LAYER TAPS ├──────────────────────────────────────┐
+#define TB_TAB LT(_MEDIA, KC_TAB)
+#define TB_ENT LT(_NAVIGATION, KC_ENT)
+#define TB_SPC LT(_NUMBERS, KC_SPC)
+#define TB_BSPC LT(_FUNCTION, KC_BSPC)
+
+// ┌───────────────────────────────────────────────────────────┐
+// │ d e f i n e c o m b o s │
+// └───────────────────────────────────────────────────────────┘
+// vertical combos for umlauts
+const uint16_t PROGMEM ae_combo[] = {KC_Q, HM_A, COMBO_END};
+const uint16_t PROGMEM ss_combo[] = {KC_W, HM_S, COMBO_END};
+const uint16_t PROGMEM ue_combo[] = {KC_U, HM_J, COMBO_END};
+const uint16_t PROGMEM oe_combo[] = {KC_O, HM_L, COMBO_END};
+// horizontal combos for mods
+const uint16_t PROGMEM del_combo[] = {HM_H, HM_J, COMBO_END};
+const uint16_t PROGMEM bsp_combo[] = {HM_J, HM_K, COMBO_END};
+const uint16_t PROGMEM ent_combo[] = {HM_K, HM_L, COMBO_END};
+const uint16_t PROGMEM tab_combo[] = {HM_F, HM_D, COMBO_END};
+const uint16_t PROGMEM esc_combo[] = {HM_D, HM_S, COMBO_END};
+
+combo_t key_combos[COMBO_COUNT] = {
+ COMBO(ae_combo, RALT(KC_Q)),
+ COMBO(ss_combo, RALT(KC_S)),
+ COMBO(ue_combo, RALT(KC_Y)),
+ COMBO(oe_combo, RALT(KC_P)),
+ COMBO(del_combo, KC_DEL),
+ COMBO(bsp_combo, KC_BSPC),
+ COMBO(ent_combo, KC_ENT),
+ COMBO(tab_combo, KC_TAB),
+ COMBO(esc_combo, KC_ESC)
+};
+
+// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
+// │ K E Y M A P S │
+// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
+// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌───────────────────────────────────────────────────────────┐
+ │ q w e r t y │
+ └───────────────────────────────────────────────────────────┘
+ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
+ │ Q │ W │ E │ R │ T │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ Y │ U │ I │ O │ P │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ A │ S │ D │ F │ G ├─╯ ╰─┤ H │ J │ K │ L │ ; │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ Z │ X │ C │ V │ B ││ ││ ││ N │ M │ , │ . │ / │
+ └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
+ │ ESC │ TAB │ ENTER │ │ SPACE │ BSPACE │ DEL │
+ └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
+
+ [_QWERTY] = LAYOUT_36(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ HM_A, HM_S, HM_D, HM_F, HM_G, HM_H, HM_J, HM_K, HM_L, HM_SCLN,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_ESC, TB_TAB, TB_ENT, KC_MPLY, TB_SPC, TB_BSPC, KC_DEL
+ ),
+
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+ ┌───────────────────────────────────────────────────────────┐
+ │ c o l e m a k │
+ └───────────────────────────────────────────────────────────┘
+ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
+ │ Q │ W │ F │ P │ G │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ J │ L │ U │ Y │ ; │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ A │ R │ S │ T │ D ├─╯ ╰─┤ H │ N │ E │ I │ O │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ Z │ X │ C │ V │ B ││ ││ ││ K │ M │ , │ . │ / │
+ └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
+ │ ESC │ TAB │ ENTER │ │ SPACE │ BSPACE │ DEL │
+ └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
+
+ [_COLEMAK] = LAYOUT_36(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
+ KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_ESC, TB_TAB, TB_ENT, _______, TB_SPC, TB_BSPC, KC_DEL
+ ),
+
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌───────────────────────────────────────────────────────────┐
+ │ n a v i g a t i o n │
+ └───────────────────────────────────────────────────────────┘
+ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
+ │ │ │ │ │ { │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ } │ CTRL ← │ CTRL ↓ │ CTRL ↑ │ CTRL → │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ │ │ │ │ ( ├─╯ ╰─┤ ) │ ← │ ↓ │ ↑ │ → │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ │ │ │ │ [ ││ ││ ││ ] │ HOME │ PG↓ │ PG↑ │ END │
+ └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
+ │ │ │ │ │ │ │ │
+ └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
+
+ [_NAVIGATION] = LAYOUT_36(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ _______, _______, _______, _______, KC_LCBR, KC_RCBR, CT_LEFT, CT_DOWN, CT_UP, CT_RGHT,
+ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_LPRN, KC_RPRN, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌───────────────────────────────────────────────────────────┐
+ │ m e d i a & s y m b o l │
+ └───────────────────────────────────────────────────────────┘
+ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
+ │ _ │ & │ * │ ( │ ) │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ + │ $ │ % │ ^ │ " ├─╯ ╰─┤ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ ~ │ ! │ @ │ # │ | ││ ││ ││ │ │ │ │ │
+ └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
+ │ │ │ │ │ │ │ │
+ └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
+
+ [_MEDIA] = LAYOUT_36(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_UNDS, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
+ KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_DQUO, RGB_M_P, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, QWERTY, COLEMAK, _______, _______, QK_BOOTLOADER,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌───────────────────────────────────────────────────────────┐
+ │ n u m b e r s │
+ └───────────────────────────────────────────────────────────┘
+ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
+ │ - │ 7 │ 8 │ 9 │ 0 │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ = │ 4 │ 5 │ 6 │ ' ├─╯ ╰─┤ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ ` │ 1 │ 2 │ 3 │ \ ││ ││ ││ │ │ │ │ │
+ └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
+ │ │ │ │ │ │ │ │
+ └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
+
+ [_NUMBERS] = LAYOUT_36(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_MINS, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______,
+ KC_EQL, KC_4, KC_5, KC_6, KC_QUOT, KC_RALT, KC_RSFT, KC_LCTL, KC_LALT, KC_LGUI,
+ KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌───────────────────────────────────────────────────────────┐
+ │ f u n t i o n │
+ └───────────────────────────────────────────────────────────┘
+ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
+ │ F12 │ F7 │ F8 │ F9 │ PRT SCR │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ F11 │ F4 │ F5 │ F6 │ ├─╯ ╰─┤ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ F10 │ F1 │ F2 │ F3 │ INS ││ ││ ││ │ │ │ │ │
+ └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
+ │ │ │ │ │ │ │ │
+ └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
+
+ [_FUNCTION] = LAYOUT_36(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, _______, _______, _______, _______, _______,
+ KC_F11, KC_F4, KC_F5, KC_F6, _______, KC_RALT, KC_RSFT, KC_LCTL, KC_LALT, KC_LGUI,
+ KC_F10, KC_F1, KC_F2, KC_F3, KC_INS, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ )
+
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌───────────────────────────────────────────────────────────┐
+ │ t e m p l a t e │
+ └───────────────────────────────────────────────────────────┘
+ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
+ │ │ │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ │ │ │ │ ├─╯ ╰─┤ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ │ │ │ │ ││ ││ ││ │ │ │ │ │
+ └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
+ │ │ │ │ │ │ │ │
+ └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
+/*
+ [_TEMPLATE] = LAYOUT_saegewerk(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ )*/
+};
+
+// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
+// │ D I E S U N D D A S │
+// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
+// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+bool caps_word_press_user(uint16_t keycode) {
+ switch (keycode) {
+ // Keycodes that continue Caps Word, with shift applied.
+ case KC_A ... KC_Z:
+ add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key.
+ return true;
+
+ // Keycodes that continue Caps Word, without shifting.
+ case KC_1 ... KC_0:
+ case KC_BSPC:
+ case KC_DEL:
+ case KC_MINS:
+ case KC_UNDS:
+ case KC_LSFT:
+ case KC_RSFT:
+ return true;
+
+ default:
+ return false; // Deactivate Caps Word.
+ }
+}
+
+// ┌───────────────────────────────────────────────────────────┐
+// │ e n c o d e r │
+// └───────────────────────────────────────────────────────────┘
+
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
+ [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_COLEMAK] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_MEDIA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_NUMBERS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
+};
+
+
+
+
diff --git a/keyboards/0xcb/splaytoraid/keymaps/pi/rules.mk b/keyboards/0xcb/splaytoraid/keymaps/pi/rules.mk
new file mode 100644
index 0000000000..0d3e8aa3a9
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/keymaps/pi/rules.mk
@@ -0,0 +1,3 @@
+COMBO_ENABLE = yes
+CAPS_WORD_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c
new file mode 100644
index 0000000000..900344a42c
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c
@@ -0,0 +1,48 @@
+// Copyright 2023 Conor Burns (@Conor-Burns)
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_40(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_LSFT, KC_ESC, KC_ENT, KC_MPLY, KC_SPC, KC_DEL, KC_RSFT
+ ),
+
+ [_LOWER] = LAYOUT_40(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_40(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_40(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
+ [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [_ADJUST] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }
+};
diff --git a/keyboards/0xcb/splaytoraid/keymaps/via/rules.mk b/keyboards/0xcb/splaytoraid/keymaps/via/rules.mk
new file mode 100644
index 0000000000..f1adcab005
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/0xcb/splaytoraid/readme.md b/keyboards/0xcb/splaytoraid/readme.md
new file mode 100644
index 0000000000..ab53696c95
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/readme.md
@@ -0,0 +1,36 @@
+# splaytoraid
+
+![splaytoraid](https://i.imgur.com/N85DPHGh.png)
+
+A 40% ergonomic keyboard with a stacked acrylic case and RGB underglow.
+
+* Keyboard Maintainer: [freya](https://github.com/freya-irl)
+* Hardware Supported: PCB kit and Pro Micro compatible controller
+* Hardware Availability: [here](https://keeb.supply/products/splaytoraid-messenger-edition)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 0xcb/splaytoraid:default
+ make 0xcb/splaytoraid/32u4:default
+
+Flashing example for this keyboard:
+
+ make 0xcb/splaytoraid:default:flash
+ make 0xcb/splaytoraid/32u4: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).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the left top 4. col key (usually Escape) and plug in the keyboard
+* **Physical reset button**: Press the button on the controller (Helios) for more than 500ms or just press it (Pluto)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+Please note that the default bootloader for the `32u4` version is QMK DFU, for compatibility with [0xCB Pluto](https://github.com/0xCB-dev/0xCB-Pluto). Generic Pro Micros often use a different bootloader, such as `caterina`.
+
+If the incorrect bootloader is specified, bootmagic reset and the `QK_BOOT` keycode will not work.
+
+To avoid this problem, set the correct bootloader in your custom keymap's `rules.mk` file before compiling, or flash using an appropriate target (ex: `make 0xcb/splaytoraid/32u4:default:avrdude`). See [flashing instructions and bootloader information](https://docs.qmk.fm/#/flashing) for more details.
diff --git a/keyboards/0xcb/splaytoraid/rp2040_ce/config.h b/keyboards/0xcb/splaytoraid/rp2040_ce/config.h
new file mode 100644
index 0000000000..65bb22450e
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/rp2040_ce/config.h
@@ -0,0 +1,25 @@
+// Copyright 2023 Conor Burns (@Conor-Burns)
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/0xcb/splaytoraid/rp2040_ce/readme.md b/keyboards/0xcb/splaytoraid/rp2040_ce/readme.md
new file mode 100644
index 0000000000..f6ff200ac3
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/rp2040_ce/readme.md
@@ -0,0 +1,3 @@
+# rp2040_ce
+
+This folder is set as default in the parent rules.mk - it will build firmware compatible with the RP2040 Community Edition. See [here](https://docs.qmk.fm/#/platformdev_rp2040?id=rp2040_ce) for a list.
diff --git a/keyboards/0xcb/splaytoraid/rp2040_ce/rules.mk b/keyboards/0xcb/splaytoraid/rp2040_ce/rules.mk
new file mode 100644
index 0000000000..4b30a1bae0
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/rp2040_ce/rules.mk
@@ -0,0 +1,2 @@
+WS2812_DRIVER = vendor
+CONVERT_TO = rp2040_ce
diff --git a/keyboards/0xcb/splaytoraid/rules.mk b/keyboards/0xcb/splaytoraid/rules.mk
new file mode 100644
index 0000000000..65884dec4f
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = 0xcb/splaytoraid/rp2040_ce