Refactor 0xcb/splaytoraid

- Remove unnecessary rp2040_ce revision - a converter should be used
  here
- Make 32u4 revision the "default" behaviour for this keyboard
- Migrate default keymap to JSON. Note that the additional layers and
  encoder map functionality was not retained, as these layers were not
  accessible
- Update keyboard aliases accordingly
- readme.md improvements
This commit is contained in:
Jack Sangdahl
2025-09-03 12:10:38 -06:00
parent df8bb7ce24
commit 1599a2ecd9
9 changed files with 99 additions and 167 deletions

View File

@@ -1620,8 +1620,11 @@
"0_sixty": {
"target": "0_sixty/base"
},
"0xcb/splaytoraid": {
"target": "0xcb/splaytoraid/rp2040_ce"
"0xcb/splaytoraid/32u4": {
"target": "0xcb/splaytoraid"
},
"0xcb/splaytoraid/rp2040_ce": {
"target": "0xcb/splaytoraid"
},
"1upkeyboards/pi40": {
"target": "1upkeyboards/pi40/mit_v1_0"

View File

@@ -1,27 +0,0 @@
{
"development_board": "promicro",
"bootloader": "qmk-dfu",
"matrix_pins": {
"cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"],
"rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"]
},
"diode_direction": "COL2ROW",
"rgb_matrix": {
"animations": {
"band_sat": true,
"band_spiral_val": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"raindrops": true
}
},
"encoder": {
"rotary": [
{"pin_a": "B5", "pin_b": "B6"}
]
},
"ws2812": {
"pin": "D0"
}
}

View File

@@ -2,28 +2,58 @@
"manufacturer": "Freya",
"keyboard_name": "splaytoraid",
"maintainer": "freya-irl",
"url": "https://github.com/freya-irl/splaytoraid40",
"usb": {
"device_version": "1.0.0",
"pid": "0xCB00",
"vid": "0x2004"
},
"features": {
"extrakey": true,
"rgb_matrix": true,
"bootmagic": true,
"console": true,
"mousekey": true,
"nkro": true,
"encoder": true
},
"bootloader": "qmk-dfu",
"bootmagic": {
"matrix": [1, 0]
},
"build": {
"lto": true
},
"development_board": "promicro",
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "B5", "pin_b": "B6"}
]
},
"features": {
"bootmagic": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"matrix_pins": {
"cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"],
"rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"]
},
"rgb_matrix": {
"animations": {
"band_sat": true,
"band_spiral_val": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_up_down": true,
"digital_rain": true,
"dual_beacon": true,
"hue_breathing": true,
"jellybean_raindrops": true,
"multisplash": true,
"pixel_fractal": true,
"pixel_rain": true,
"rainbow_moving_chevron": true,
"raindrops": true,
"solid_reactive": true,
"solid_reactive_simple": true,
"solid_splash": true,
"splash": true,
"typing_heatmap": true
},
"default": {
"animation": "breathing",
"hue": 152,
@@ -32,27 +62,36 @@
},
"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}
{"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, "flags": 4}
],
"max_brightness": 200
},
"url": "https://github.com/freya-irl/splaytoraid40",
"usb": {
"device_version": "1.0.0",
"pid": "0xCB00",
"vid": "0x2004"
},
"ws2812": {
"pin": "D0"
},
"layouts": {
"LAYOUT_36": {
"layout": [

View File

@@ -1,49 +0,0 @@
// 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][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[_RAISE] = { ENCODER_CCW_CW(UG_VALD, UG_VALU) },
[_ADJUST] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }
};

View File

@@ -0,0 +1,21 @@
{
"keyboard": "0xcb/splaytoraid",
"keymap": "default",
"config": {
"features": {
"encoder_map": true
}
},
"layout": "LAYOUT_40",
"layers": [
[
"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"
]
],
"encoders": [
[{"ccw": "KC_VOLD", "cw": "KC_VOLU"}]
]
}

View File

@@ -1 +0,0 @@
ENCODER_MAP_ENABLE = yes

View File

@@ -11,13 +11,10 @@ A 40% ergonomic keyboard with a stacked acrylic case and RGB underglow.
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).
@@ -29,8 +26,4 @@ Enter the bootloader in 3 ways:
* **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.
When using an AVR microcontroller with this keyboard, the bootloader is configured to be QMK DFU for compatibility with [0xCB Pluto](https://github.com/0xCB-dev/0xCB-Pluto). If your microcontroller does not use this bootloader, ensure to set this parameter appropriately in your keymap's `rules.mk` file.

View File

@@ -1,44 +0,0 @@
{
"development_board": "promicro_rp2040",
"matrix_pins": {
"cols": ["GP28", "GP27", "GP26", "GP29", "GP20", "GP22", "GP23"],
"rows": ["GP0", "GP1", "GP2", "GP4", "GP6", "GP7", "GP8", "GP5"]
},
"diode_direction": "COL2ROW",
"rgb_matrix": {
"animations": {
"band_sat": true,
"band_spiral_val": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_up_down": true,
"digital_rain": true,
"dual_beacon": true,
"hue_breathing": true,
"jellybean_raindrops": true,
"multisplash": true,
"pixel_fractal": true,
"pixel_rain": true,
"rainbow_moving_chevron": true,
"raindrops": true,
"solid_reactive": true,
"solid_reactive_simple": true,
"solid_splash": true,
"splash": true,
"typing_heatmap": true
}
},
"encoder": {
"rotary": [
{"pin_a": "GP9", "pin_b": "GP21"}
]
},
"ws2812": {
"pin": "GP3",
"driver": "vendor"
}
}

View File

@@ -1,3 +0,0 @@
# 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.