summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2023-03-15 15:54:29 +0000
committerQMK Bot <hello@qmk.fm>2023-03-15 15:54:29 +0000
commitfc5d80d643fdedaaa77d893fb1b85d20b3ab523d (patch)
tree70ef10d35534792684cb44e95ddc25f867ec0ec3 /keyboards
parentb56a8a57e3521caf8720f0f1918b64481eb1f81e (diff)
parentc18d5ebd2dff2615283931e2efe79cfdb2a550f2 (diff)
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards')
-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 @@
1// Copyright 2023 Conor Burns (@Conor-Burns)
2/* SPDX-License-Identifier: GPL-2.0-or-later */
3
4#pragma once
5
6#define RGB_DI_PIN D0
7
8#define RGB_MATRIX_LED_COUNT 18
9#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
10#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING
11#define RGB_MATRIX_DEFAULT_HUE 152
12#define RGB_MATRIX_DEFAULT_SAT 232
13#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
14#define RGB_MATRIX_DEFAULT_SPD 50
15
16#define ENABLE_RGB_MATRIX_BREATHING
17#define ENABLE_RGB_MATRIX_SOLID_COLOR
18#define ENABLE_RGB_MATRIX_BAND_SAT
19#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
20#define ENABLE_RGB_MATRIX_CYCLE_ALL
21#define ENABLE_RGB_MATRIX_RAINDROPS
22#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 @@
1{
2 "manufacturer": "Freya",
3 "keyboard_name": "splaytoraid",
4 "maintainer": "freya-irl",
5 "url": "https://github.com/freya-irl/splaytoraid40",
6 "development_board": "promicro",
7 "bootloader": "qmk-dfu",
8 "diode_direction": "COL2ROW",
9 "matrix_pins": {
10 "cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"],
11 "rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"]
12 },
13 "usb": {
14 "device_version": "1.0.0",
15 "pid": "0xCB00",
16 "vid": "0x2004"
17 },
18 "features": {
19 "extrakey": true,
20 "rgb_matrix": true,
21 "bootmagic": true,
22 "console": true,
23 "mousekey": true,
24 "nkro": true
25 },
26 "bootmagic": {
27 "matrix": [1, 0]
28 },
29 "build": {
30 "lto": true
31 },
32 "encoder": {
33 "enabled": true,
34 "rotary": [
35 {
36 "pin_a": "B5",
37 "pin_b": "B6",
38 "resolution": 4
39 }
40 ]
41 },
42 "rgb_matrix": {
43 "driver": "WS2812",
44 "layout": [
45 { "flags": 4, "matrix": [0, 2], "x": 0, "y": 0 },
46 { "flags": 4, "matrix": [1, 0], "x": 20, "y": 0 },
47 { "flags": 4, "matrix": [7, 0], "x": 61, "y": 0 },
48 { "flags": 4, "matrix": [7, 1], "x": 163, "y": 0 },
49 { "flags": 4, "matrix": [5, 0], "x": 203, "y": 0 },
50 { "flags": 4, "matrix": [4, 2], "x": 224, "y": 0 },
51 { "flags": 4, "matrix": [6, 2], "x": 0, "y": 21 },
52 { "flags": 4, "matrix": [6, 1], "x": 224, "y": 21 },
53 { "flags": 4, "matrix": [3, 3], "x": 20, "y": 43 },
54 { "flags": 4, "matrix": [7, 3], "x": 61, "y": 43 },
55 { "flags": 4, "matrix": [6, 4], "x": 163, "y": 43 },
56 { "flags": 4, "matrix": [6, 3], "x": 203, "y": 43 },
57 { "flags": 4, "matrix": [4, 3], "x": 61, "y": 64 },
58 { "flags": 4, "matrix": [5, 5], "x": 81, "y": 64 },
59 { "flags": 4, "matrix": [7, 4], "x": 101, "y": 64 },
60 { "flags": 4, "matrix": [7, 5], "x": 122, "y": 64 },
61 { "flags": 4, "matrix": [1, 5], "x": 142, "y": 64 },
62 { "flags": 4, "matrix": [0, 3], "x": 163, "y": 64 }
63 ]
64 },
65 "layouts": {
66 "LAYOUT_36": {
67 "layout": [
68 { "label": "K10", "matrix": [1, 0], "x": 0, "y": 0 },
69 { "label": "K11", "matrix": [1, 1], "x": 1, "y": 0 },
70 { "label": "K02", "matrix": [0, 2], "x": 2, "y": 0 },
71 { "label": "K01", "matrix": [0, 1], "x": 3, "y": 0 },
72 { "label": "K12", "matrix": [1, 2], "x": 4, "y": 0 },
73 { "label": "K52", "matrix": [5, 2], "x": 6, "y": 0 },
74 { "label": "K04", "matrix": [0, 4], "x": 7, "y": 0 },
75 { "label": "K03", "matrix": [0, 3], "x": 8, "y": 0 },
76 { "label": "K14", "matrix": [1, 4], "x": 9, "y": 0 },
77 { "label": "K15", "matrix": [1, 5], "x": 10, "y": 0 },
78 { "label": "K30", "matrix": [3, 0], "x": 0, "y": 1 },
79 { "label": "K31", "matrix": [3, 1], "x": 1, "y": 1 },
80 { "label": "K22", "matrix": [2, 2], "x": 2, "y": 1 },
81 { "label": "K21", "matrix": [2, 1], "x": 3, "y": 1 },
82 { "label": "K13", "matrix": [1, 3], "x": 4, "y": 1 },
83 { "label": "K53", "matrix": [5, 3], "x": 6, "y": 1 },
84 { "label": "K24", "matrix": [2, 4], "x": 7, "y": 1 },
85 { "label": "K23", "matrix": [2, 3], "x": 8, "y": 1 },
86 { "label": "K34", "matrix": [3, 4], "x": 9, "y": 1 },
87 { "label": "K35", "matrix": [3, 5], "x": 10, "y": 1 },
88 { "label": "K50", "matrix": [5, 0], "x": 0, "y": 2 },
89 { "label": "K51", "matrix": [5, 1], "x": 1, "y": 2 },
90 { "label": "K42", "matrix": [4, 2], "x": 2, "y": 2 },
91 { "label": "K41", "matrix": [4, 1], "x": 3, "y": 2 },
92 { "label": "K32", "matrix": [3, 2], "x": 4, "y": 2 },
93 { "label": "K72", "matrix": [7, 2], "x": 6, "y": 2 },
94 { "label": "K44", "matrix": [4, 4], "x": 7, "y": 2 },
95 { "label": "K43", "matrix": [4, 3], "x": 8, "y": 2 },
96 { "label": "K54", "matrix": [5, 4], "x": 9, "y": 2 },
97 { "label": "K55", "matrix": [5, 5], "x": 10, "y": 2 },
98 { "label": "K62", "matrix": [6, 2], "x": 2, "y": 3 },
99 { "label": "K61", "matrix": [6, 1], "x": 3, "y": 3 },
100 { "label": "K33", "matrix": [3, 3], "x": 4, "y": 3 },
101 { "label": "K66", "matrix": [6, 6], "x": 5, "y": 3 },
102 { "label": "K73", "matrix": [7, 3], "x": 6, "y": 3 },
103 { "label": "K64", "matrix": [6, 4], "x": 7, "y": 3 },
104 { "label": "K63", "matrix": [6, 3], "x": 8, "y": 3 }
105 ]
106 },
107 "LAYOUT_40": {
108 "layout": [
109 { "label": "K70", "matrix": [7, 0], "x": 0, "y": 0 },
110 { "label": "K10", "matrix": [1, 0], "x": 1, "y": 0 },
111 { "label": "K11", "matrix": [1, 1], "x": 2, "y": 0 },
112 { "label": "K02", "matrix": [0, 2], "x": 3, "y": 0 },
113 { "label": "K01", "matrix": [0, 1], "x": 4, "y": 0 },
114 { "label": "K12", "matrix": [1, 2], "x": 5, "y": 0 },
115 { "label": "K52", "matrix": [5, 2], "x": 7, "y": 0 },
116 { "label": "K04", "matrix": [0, 4], "x": 8, "y": 0 },
117 { "label": "K03", "matrix": [0, 3], "x": 9, "y": 0 },
118 { "label": "K14", "matrix": [1, 4], "x": 10, "y": 0 },
119 { "label": "K15", "matrix": [1, 5], "x": 11, "y": 0 },
120 { "label": "K75", "matrix": [7, 5], "x": 12, "y": 0 },
121 { "label": "K71", "matrix": [7, 1], "x": 0, "y": 1 },
122 { "label": "K30", "matrix": [3, 0], "x": 1, "y": 1 },
123 { "label": "K31", "matrix": [3, 1], "x": 2, "y": 1 },
124 { "label": "K22", "matrix": [2, 2], "x": 3, "y": 1 },
125 { "label": "K21", "matrix": [2, 1], "x": 4, "y": 1 },
126 { "label": "K13", "matrix": [1, 3], "x": 5, "y": 1 },
127 { "label": "K53", "matrix": [5, 3], "x": 7, "y": 1 },
128 { "label": "K24", "matrix": [2, 4], "x": 8, "y": 1 },
129 { "label": "K23", "matrix": [2, 3], "x": 9, "y": 1 },
130 { "label": "K34", "matrix": [3, 4], "x": 10, "y": 1 },
131 { "label": "K35", "matrix": [3, 5], "x": 11, "y": 1 },
132 { "label": "K74", "matrix": [7, 4], "x": 12, "y": 1 },
133 { "label": "K50", "matrix": [5, 0], "x": 1, "y": 2 },
134 { "label": "K51", "matrix": [5, 1], "x": 2, "y": 2 },
135 { "label": "K42", "matrix": [4, 2], "x": 3, "y": 2 },
136 { "label": "K41", "matrix": [4, 1], "x": 4, "y": 2 },
137 { "label": "K32", "matrix": [3, 2], "x": 5, "y": 2 },
138 { "label": "K72", "matrix": [7, 2], "x": 7, "y": 2 },
139 { "label": "K44", "matrix": [4, 4], "x": 8, "y": 2 },
140 { "label": "K43", "matrix": [4, 3], "x": 9, "y": 2 },
141 { "label": "K54", "matrix": [5, 4], "x": 10, "y": 2 },
142 { "label": "K55", "matrix": [5, 5], "x": 11, "y": 2 },
143 { "label": "K62", "matrix": [6, 2], "x": 3, "y": 3 },
144 { "label": "K61", "matrix": [6, 1], "x": 4, "y": 3 },
145 { "label": "K33", "matrix": [3, 3], "x": 5, "y": 3 },
146 { "label": "K66", "matrix": [6, 6], "x": 6, "y": 3 },
147 { "label": "K73", "matrix": [7, 3], "x": 7, "y": 3 },
148 { "label": "K64", "matrix": [6, 4], "x": 8, "y": 3 },
149 { "label": "K63", "matrix": [6, 3], "x": 9, "y": 3 }
150 ]
151 }
152 }
153}
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 @@
1// Copyright 2023 Conor Burns (@Conor-Burns)
2/* SPDX-License-Identifier: GPL-2.0-or-later */
3
4#include QMK_KEYBOARD_H
5
6enum layer_names {
7 _BASE,
8 _LOWER,
9 _RAISE,
10 _ADJUST
11};
12
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14 [_BASE] = LAYOUT_40(
15 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
16 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
17 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
18 KC_LSFT, KC_ESC, KC_ENT, KC_MPLY, KC_SPC, KC_DEL, KC_RSFT
19 ),
20
21 [_LOWER] = LAYOUT_40(
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
25 _______, _______, _______, _______, _______, _______, _______
26 ),
27
28 [_RAISE] = LAYOUT_40(
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______
33 ),
34
35 [_ADJUST] = LAYOUT_40(
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______
40 )
41};
42
43
44const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
45 [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
46 [_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
47 [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
48 [_ADJUST] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }
49};
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 @@
1// Copyright 2023 Dreipunkteinsvier (@dreipunkteinsvier)
2/* SPDX-License-Identifier: GPL-2.0-or-later */
3
4#pragma once
5
6#define TAPPING_TERM 180
7
8// Prevent normal rollover on alphas from accidentally triggering mods.
9#define IGNORE_MOD_TAP_INTERRUPT
10
11#undef LOCKING_SUPPORT_ENABLE
12#undef LOCKING_RESYNC_ENABLE
13
14
15#ifdef COMBO_ENABLE
16 #define COMBO_COUNT 9
17 #define COMBO_TERM 20
18 #define COMBO_ONLY_FROM_LAYER 0
19#endif
20
21#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 @@
1// Copyright 2023 Dreipunkteinsvier (@dreipunkteinsvier)
2/* SPDX-License-Identifier: GPL-2.0-or-later */
3
4#include QMK_KEYBOARD_H
5#include <stdio.h>
6#include <string.h>
7
8// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
9// │ D E F I N I T I O N S │
10// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
11// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
12
13enum splaytoraid40_layers {
14 _QWERTY,
15 _COLEMAK,
16 _NAVIGATION,
17 _MEDIA,
18 _NUMBERS,
19 _FUNCTION,
20};
21
22// ┌───────────────────────────────────────────────────────────┐
23// │ d e f i n e k e y c o d e s │
24// └───────────────────────────────────────────────────────────┘
25
26enum custom_keycodes {
27 COLEMAK = SAFE_RANGE,
28 QWERTY
29};
30
31// ┌───────────────────────────────────────────────────────────┐
32// │ d e f i n e m a c r o n a m e s │
33// └───────────────────────────────────────────────────────────┘
34
35// LEFT HAND HOME ROW MODS ├───────────────────────────────────┐
36#define HM_A LGUI_T(KC_A)
37#define HM_S LALT_T(KC_S)
38#define HM_D LCTL_T(KC_D)
39#define HM_F LSFT_T(KC_F)
40#define HM_G RALT_T(KC_G)
41
42// RIGHT HAND HOME ROW MODS ├──────────────────────────────────┐
43#define HM_H RALT_T(KC_H)
44#define HM_J RSFT_T(KC_J)
45#define HM_K LCTL_T(KC_K)
46#define HM_L LALT_T(KC_L)
47#define HM_SCLN LGUI_T(KC_SCLN)
48
49// CTRL + ARROWS ├─────────────────────────────────────────────┐
50#define CT_LEFT LCTL(KC_LEFT)
51#define CT_DOWN LCTL(KC_DOWN)
52#define CT_UP LCTL(KC_UP)
53#define CT_RGHT LCTL(KC_RGHT)
54
55// THUMB KEY LAYER TAPS ├──────────────────────────────────────┐
56#define TB_TAB LT(_MEDIA, KC_TAB)
57#define TB_ENT LT(_NAVIGATION, KC_ENT)
58#define TB_SPC LT(_NUMBERS, KC_SPC)
59#define TB_BSPC LT(_FUNCTION, KC_BSPC)
60
61// ┌───────────────────────────────────────────────────────────┐
62// │ d e f i n e c o m b o s │
63// └───────────────────────────────────────────────────────────┘
64// vertical combos for umlauts
65const uint16_t PROGMEM ae_combo[] = {KC_Q, HM_A, COMBO_END};
66const uint16_t PROGMEM ss_combo[] = {KC_W, HM_S, COMBO_END};
67const uint16_t PROGMEM ue_combo[] = {KC_U, HM_J, COMBO_END};
68const uint16_t PROGMEM oe_combo[] = {KC_O, HM_L, COMBO_END};
69// horizontal combos for mods
70const uint16_t PROGMEM del_combo[] = {HM_H, HM_J, COMBO_END};
71const uint16_t PROGMEM bsp_combo[] = {HM_J, HM_K, COMBO_END};
72const uint16_t PROGMEM ent_combo[] = {HM_K, HM_L, COMBO_END};
73const uint16_t PROGMEM tab_combo[] = {HM_F, HM_D, COMBO_END};
74const uint16_t PROGMEM esc_combo[] = {HM_D, HM_S, COMBO_END};
75
76combo_t key_combos[COMBO_COUNT] = {
77 COMBO(ae_combo, RALT(KC_Q)),
78 COMBO(ss_combo, RALT(KC_S)),
79 COMBO(ue_combo, RALT(KC_Y)),
80 COMBO(oe_combo, RALT(KC_P)),
81 COMBO(del_combo, KC_DEL),
82 COMBO(bsp_combo, KC_BSPC),
83 COMBO(ent_combo, KC_ENT),
84 COMBO(tab_combo, KC_TAB),
85 COMBO(esc_combo, KC_ESC)
86};
87
88// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
89// │ K E Y M A P S │
90// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
91// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
92
93const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
94
95 /*
96 ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
97
98 ┌───────────────────────────────────────────────────────────┐
99 │ q w e r t y │
100 └───────────────────────────────────────────────────────────┘
101 ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
102 │ Q │ W │ E │ R │ T │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ Y │ U │ I │ O │ P │
103 ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
104 │ A │ S │ D │ F │ G ├─╯ ╰─┤ H │ J │ K │ L │ ; │
105 ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
106 │ Z │ X │ C │ V │ B ││ ││ ││ N │ M │ , │ . │ / │
107 └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
108 │ ESC │ TAB │ ENTER │ │ SPACE │ BSPACE │ DEL │
109 └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
110
111 [_QWERTY] = LAYOUT_36(
112 //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
113 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
114 HM_A, HM_S, HM_D, HM_F, HM_G, HM_H, HM_J, HM_K, HM_L, HM_SCLN,
115 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
116 KC_ESC, TB_TAB, TB_ENT, KC_MPLY, TB_SPC, TB_BSPC, KC_DEL
117 ),
118
119 /*
120 ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
121 ┌───────────────────────────────────────────────────────────┐
122 │ c o l e m a k │
123 └───────────────────────────────────────────────────────────┘
124 ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
125 │ Q │ W │ F │ P │ G │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ J │ L │ U │ Y │ ; │
126 ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
127 │ A │ R │ S │ T │ D ├─╯ ╰─┤ H │ N │ E │ I │ O │
128 ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
129 │ Z │ X │ C │ V │ B ││ ││ ││ K │ M │ , │ . │ / │
130 └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
131 │ ESC │ TAB │ ENTER │ │ SPACE │ BSPACE │ DEL │
132 └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
133
134 [_COLEMAK] = LAYOUT_36(
135 //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
136 KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
137 KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
138 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH,
139 KC_ESC, TB_TAB, TB_ENT, _______, TB_SPC, TB_BSPC, KC_DEL
140 ),
141
142 /*
143 ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
144
145 ┌───────────────────────────────────────────────────────────┐
146 │ n a v i g a t i o n │
147 └───────────────────────────────────────────────────────────┘
148 ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
149 │ │ │ │ │ { │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ } │ CTRL ← │ CTRL ↓ │ CTRL ↑ │ CTRL → │
150 ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
151 │ │ │ │ │ ( ├─╯ ╰─┤ ) │ ← │ ↓ │ ↑ │ → │
152 ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
153 │ │ │ │ │ [ ││ ││ ││ ] │ HOME │ PG↓ │ PG↑ │ END │
154 └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
155 │ │ │ │ │ │ │ │
156 └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
157
158 [_NAVIGATION] = LAYOUT_36(
159 //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
160 _______, _______, _______, _______, KC_LCBR, KC_RCBR, CT_LEFT, CT_DOWN, CT_UP, CT_RGHT,
161 KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_LPRN, KC_RPRN, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
162 _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
163 _______, _______, _______, _______, _______, _______, _______
164 ),
165
166 /*
167 ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
168
169 ┌───────────────────────────────────────────────────────────┐
170 │ m e d i a & s y m b o l │
171 └───────────────────────────────────────────────────────────┘
172 ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
173 │ _ │ & │ * │ ( │ ) │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
174 ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
175 │ + │ $ │ % │ ^ │ " ├─╯ ╰─┤ │ │ │ │ │
176 ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
177 │ ~ │ ! │ @ │ # │ | ││ ││ ││ │ │ │ │ │
178 └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
179 │ │ │ │ │ │ │ │
180 └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
181
182 [_MEDIA] = LAYOUT_36(
183 //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
184 KC_UNDS, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
185 KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_DQUO, RGB_M_P, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
186 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, QWERTY, COLEMAK, _______, _______, QK_BOOTLOADER,
187 _______, _______, _______, _______, _______, _______, _______
188 ),
189
190 /*
191 ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
192
193 ┌───────────────────────────────────────────────────────────┐
194 │ n u m b e r s │
195 └───────────────────────────────────────────────────────────┘
196 ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
197 │ - │ 7 │ 8 │ 9 │ 0 │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
198 ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
199 │ = │ 4 │ 5 │ 6 │ ' ├─╯ ╰─┤ │ │ │ │ │
200 ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
201 │ ` │ 1 │ 2 │ 3 │ \ ││ ││ ││ │ │ │ │ │
202 └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
203 │ │ │ │ │ │ │ │
204 └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
205
206 [_NUMBERS] = LAYOUT_36(
207 //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
208 KC_MINS, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______,
209 KC_EQL, KC_4, KC_5, KC_6, KC_QUOT, KC_RALT, KC_RSFT, KC_LCTL, KC_LALT, KC_LGUI,
210 KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, _______, _______, _______, _______, _______,
211 _______, _______, _______, _______, _______, _______, _______
212 ),
213
214 /*
215 ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
216
217 ┌───────────────────────────────────────────────────────────┐
218 │ f u n t i o n │
219 └───────────────────────────────────────────────────────────┘
220 ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
221 │ F12 │ F7 │ F8 │ F9 │ PRT SCR │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
222 ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
223 │ F11 │ F4 │ F5 │ F6 │ ├─╯ ╰─┤ │ │ │ │ │
224 ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
225 │ F10 │ F1 │ F2 │ F3 │ INS ││ ││ ││ │ │ │ │ │
226 └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
227 │ │ │ │ │ │ │ │
228 └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
229
230 [_FUNCTION] = LAYOUT_36(
231 //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
232 KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, _______, _______, _______, _______, _______,
233 KC_F11, KC_F4, KC_F5, KC_F6, _______, KC_RALT, KC_RSFT, KC_LCTL, KC_LALT, KC_LGUI,
234 KC_F10, KC_F1, KC_F2, KC_F3, KC_INS, _______, _______, _______, _______, _______,
235 _______, _______, _______, _______, _______, _______, _______
236 )
237
238 /*
239 ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
240
241 ┌───────────────────────────────────────────────────────────┐
242 │ t e m p l a t e │
243 └───────────────────────────────────────────────────────────┘
244 ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
245 │ │ │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
246 ├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
247 │ │ │ │ │ ├─╯ ╰─┤ │ │ │ │ │
248 ├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
249 │ │ │ │ │ ││ ││ ││ │ │ │ │ │
250 └─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
251 │ │ │ │ │ │ │ │
252 └─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘ */
253/*
254 [_TEMPLATE] = LAYOUT_saegewerk(
255 //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
256 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
257 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
258 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
259 _______, _______, _______, _______, _______, _______, _______
260 )*/
261};
262
263// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
264// │ D I E S U N D D A S │
265// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
266// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
267bool caps_word_press_user(uint16_t keycode) {
268 switch (keycode) {
269 // Keycodes that continue Caps Word, with shift applied.
270 case KC_A ... KC_Z:
271 add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key.
272 return true;
273
274 // Keycodes that continue Caps Word, without shifting.
275 case KC_1 ... KC_0:
276 case KC_BSPC:
277 case KC_DEL:
278 case KC_MINS:
279 case KC_UNDS:
280 case KC_LSFT:
281 case KC_RSFT:
282 return true;
283
284 default:
285 return false; // Deactivate Caps Word.
286 }
287}
288
289// ┌───────────────────────────────────────────────────────────┐
290// │ e n c o d e r │
291// └───────────────────────────────────────────────────────────┘
292
293const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
294 [_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
295 [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
296 [_COLEMAK] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
297 [_MEDIA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
298 [_NUMBERS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
299 [_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
300};
301
302
303
304
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 @@
1COMBO_ENABLE = yes
2CAPS_WORD_ENABLE = yes
3ENCODER_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 @@
1// Copyright 2023 Conor Burns (@Conor-Burns)
2/* SPDX-License-Identifier: GPL-2.0-or-later */
3
4#include QMK_KEYBOARD_H
5
6enum layer_names {
7 _BASE,
8 _LOWER,
9 _RAISE,
10 _ADJUST
11};
12
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14 [_BASE] = LAYOUT_40(
15 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
16 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
17 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
18 KC_LSFT, KC_ESC, KC_ENT, KC_MPLY, KC_SPC, KC_DEL, KC_RSFT
19 ),
20
21 [_LOWER] = LAYOUT_40(
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
25 _______, _______, _______, _______, _______, _______, _______
26 ),
27
28 [_RAISE] = LAYOUT_40(
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______
33 ),
34
35 [_ADJUST] = LAYOUT_40(
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______
40 )
41};
42
43const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
44 [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
45 [_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
46 [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
47 [_ADJUST] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }
48};
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 @@
1VIA_ENABLE = yes
2ENCODER_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 @@
1# splaytoraid
2
3![splaytoraid](https://i.imgur.com/N85DPHGh.png)
4
5A 40% ergonomic keyboard with a stacked acrylic case and RGB underglow.
6
7* Keyboard Maintainer: [freya](https://github.com/freya-irl)
8* Hardware Supported: PCB kit and Pro Micro compatible controller
9* Hardware Availability: [here](https://keeb.supply/products/splaytoraid-messenger-edition)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make 0xcb/splaytoraid:default
14 make 0xcb/splaytoraid/32u4:default
15
16Flashing example for this keyboard:
17
18 make 0xcb/splaytoraid:default:flash
19 make 0xcb/splaytoraid/32u4:default:flash
20
21
22See 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).
23
24## Bootloader
25
26Enter the bootloader in 3 ways:
27
28* **Bootmagic reset**: Hold down the left top 4. col key (usually Escape) and plug in the keyboard
29* **Physical reset button**: Press the button on the controller (Helios) for more than 500ms or just press it (Pluto)
30* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
31
32Please 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`.
33
34If the incorrect bootloader is specified, bootmagic reset and the `QK_BOOT` keycode will not work.
35
36To 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 @@
1// Copyright 2023 Conor Burns (@Conor-Burns)
2/* SPDX-License-Identifier: GPL-2.0-or-later */
3
4#pragma once
5
6#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
7#define RGB_MATRIX_KEYPRESSES
8
9#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
10#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
11#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
12#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
13#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
14#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
15#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
16#define ENABLE_RGB_MATRIX_PIXEL_RAIN
17#define ENABLE_RGB_MATRIX_DUAL_BEACON
18#define ENABLE_RGB_MATRIX_HUE_BREATHING
19#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
20#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
21#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
22#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
23#define ENABLE_RGB_MATRIX_SPLASH
24#define ENABLE_RGB_MATRIX_MULTISPLASH
25#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 @@
1# rp2040_ce
2
3This 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 @@
1WS2812_DRIVER = vendor
2CONVERT_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