aboutsummaryrefslogtreecommitdiff
path: root/keyboards/crkbd/rev4_1
diff options
context:
space:
mode:
authorDrashna Jaelre <[email protected]>2024-10-06 02:05:10 -0700
committerGitHub <[email protected]>2024-10-06 22:05:10 +1300
commitc9cd92ece3537a91e509488ea0ab1ae8b30d9c65 (patch)
tree4a8ea6b1ef916fdbfb41d676da818b07cb7eea1b /keyboards/crkbd/rev4_1
parentddfb8765ec2a15a3bbcc52001649c9ddba0991dc (diff)
downloadqmk_firmware-c9cd92ece3537a91e509488ea0ab1ae8b30d9c65.tar.gz
qmk_firmware-c9cd92ece3537a91e509488ea0ab1ae8b30d9c65.zip
[Keyboard] Corne rev4 (#24084)
* [Keyboard] Corne rev4 * Remove unneeded update interval and moved split pin to dd * Cleanup config and errors * Move bootmagic config to dd * Re-add existing configs * Additional config fixes * shove off via keymap
Diffstat (limited to 'keyboards/crkbd/rev4_1')
-rwxr-xr-xkeyboards/crkbd/rev4_1/config.h16
-rwxr-xr-xkeyboards/crkbd/rev4_1/info.json363
-rwxr-xr-xkeyboards/crkbd/rev4_1/mcuconf.h9
-rwxr-xr-xkeyboards/crkbd/rev4_1/mini/keyboard.json52
-rwxr-xr-xkeyboards/crkbd/rev4_1/post_config.h11
-rwxr-xr-xkeyboards/crkbd/rev4_1/standard/keyboard.json58
6 files changed, 509 insertions, 0 deletions
diff --git a/keyboards/crkbd/rev4_1/config.h b/keyboards/crkbd/rev4_1/config.h
new file mode 100755
index 0000000000..6f7d290ddc
--- /dev/null
+++ b/keyboards/crkbd/rev4_1/config.h
@@ -0,0 +1,16 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define SERIAL_USART_TX_PIN GP12
+#define USB_VBUS_PIN GP13
+
+#define I2C_DRIVER I2CD1
+#define I2C1_SDA_PIN GP6
+#define I2C1_SCL_PIN GP7
+
+/* RP2040- and hardware-specific config */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64
diff --git a/keyboards/crkbd/rev4_1/info.json b/keyboards/crkbd/rev4_1/info.json
new file mode 100755
index 0000000000..3732d63910
--- /dev/null
+++ b/keyboards/crkbd/rev4_1/info.json
@@ -0,0 +1,363 @@
+{
+ "maintainer": "foostan",
+ "manufacturer": "foostan",
+ "url": "https://github.com/foostan/crkbd",
+ "usb": {
+ "vid": "0x4653",
+ "suspend_wakeup_delay": 200,
+ "device_version": "4.1.0"
+ },
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "nkro": true,
+ "oled": true,
+ "rgblight": false,
+ "rgb_matrix": true,
+ "mousekey": true,
+ "encoder": true
+ },
+ "diode_direction": "COL2ROW",
+ "dynamic_keymap": {
+ "layer_count": 6
+ },
+ "matrix_pins": {
+ "direct":[
+ ["GP22", "GP20", "GP23", "GP26", "GP29", "GP0", "GP4"],
+ ["GP19", "GP18", "GP24", "GP27", "GP1", "GP2", "GP8"],
+ ["GP17", "GP16", "GP25", "GP28", "GP3", "GP9", null],
+ [ null, null, null, "GP14", "GP15", "GP11", null]
+ ]
+ },
+ "encoder": {
+ "rotary": [
+ {"pin_a": "GP5", "pin_b": "GP7"},
+ {"pin_a": "GP6", "pin_b": "GP7"}
+ ]
+ },
+ "bootmagic": {
+ "enabled": true,
+ "matrix": [ 0, 1 ]
+ },
+ "split": {
+ "enabled": true,
+ "bootmagic": {
+ "matrix": [ 4, 1 ]
+ },
+ "handedness": {
+ "pin": "GP21"
+ },
+ "matrix_pins": {
+ "right": {
+ "direct": [
+ [ "GP8", "GP9", "GP3", "GP2", "GP1", "GP27", "GP25"],
+ ["GP11", "GP14", "GP4", "GP0", "GP28", "GP26", "GP23"],
+ ["GP15", "GP18", "GP5", "GP29", "GP20", "GP22", null],
+ [ null, null, null, "GP16", "GP17", "GP19", null]
+ ]
+ }
+ },
+ "encoder": {
+ "right": {
+ "rotary": [
+ {"pin_a": "GP24", "pin_b": "GP7"},
+ {"pin_a": "GP6", "pin_b": "GP7"}
+ ]
+ }
+ },
+ "serial": {
+ "driver": "vendor"
+ },
+ "transport": {
+ "sync": {
+ "matrix_state": true
+ },
+ "watchdog": true
+ }
+ },
+ "community_layouts": [ "split_3x5_3", "split_3x6_3" ],
+ "layouts": {
+ "LAYOUT_split_3x5_3": {
+ "layout": [
+ {"matrix": [0, 1], "x": 0, "y": 0.3},
+ {"matrix": [0, 2], "x": 1, "y": 0.1},
+ {"matrix": [0, 3], "x": 2, "y": 0},
+ {"matrix": [0, 4], "x": 3, "y": 0.1},
+ {"matrix": [0, 5], "x": 4, "y": 0.2},
+
+ {"matrix": [4, 5], "x": 8, "y": 0.2},
+ {"matrix": [4, 4], "x": 9, "y": 0.1},
+ {"matrix": [4, 3], "x": 10, "y": 0},
+ {"matrix": [4, 2], "x": 11, "y": 0.1},
+ {"matrix": [4, 1], "x": 12, "y": 0.3},
+
+ {"matrix": [1, 1], "x": 0, "y": 1.3},
+ {"matrix": [1, 2], "x": 1, "y": 1.1},
+ {"matrix": [1, 3], "x": 2, "y": 1},
+ {"matrix": [1, 4], "x": 3, "y": 1.1},
+ {"matrix": [1, 5], "x": 4, "y": 1.2},
+
+ {"matrix": [5, 5], "x": 8, "y": 1.2},
+ {"matrix": [5, 4], "x": 9, "y": 1.1},
+ {"matrix": [5, 3], "x": 10, "y": 1},
+ {"matrix": [5, 2], "x": 11, "y": 1.1},
+ {"matrix": [5, 1], "x": 12, "y": 1.3},
+
+ {"matrix": [2, 1], "x": 0, "y": 2.3},
+ {"matrix": [2, 2], "x": 1, "y": 2.1},
+ {"matrix": [2, 3], "x": 2, "y": 2},
+ {"matrix": [2, 4], "x": 3, "y": 2.1},
+ {"matrix": [2, 5], "x": 4, "y": 2.2},
+
+ {"matrix": [6, 5], "x": 8, "y": 2.2},
+ {"matrix": [6, 4], "x": 9, "y": 2.1},
+ {"matrix": [6, 3], "x": 10, "y": 2},
+ {"matrix": [6, 2], "x": 11, "y": 2.1},
+ {"matrix": [6, 1], "x": 12, "y": 2.3},
+
+ {"matrix": [3, 3], "x": 3, "y": 3.7},
+ {"matrix": [3, 4], "x": 4, "y": 3.7},
+ {"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5},
+
+ {"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5},
+ {"matrix": [7, 4], "x": 8, "y": 3.7},
+ {"matrix": [7, 3], "x": 9, "y": 3.7}
+ ]
+ },
+ "LAYOUT_split_3x6_3": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.3},
+ {"matrix": [0, 1], "x": 1, "y": 0.3},
+ {"matrix": [0, 2], "x": 2, "y": 0.1},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0.1},
+ {"matrix": [0, 5], "x": 5, "y": 0.2},
+
+ {"matrix": [4, 5], "x": 9, "y": 0.2},
+ {"matrix": [4, 4], "x": 10, "y": 0.1},
+ {"matrix": [4, 3], "x": 11, "y": 0},
+ {"matrix": [4, 2], "x": 12, "y": 0.1},
+ {"matrix": [4, 1], "x": 13, "y": 0.3},
+ {"matrix": [4, 0], "x": 14, "y": 0.3},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.3},
+ {"matrix": [1, 1], "x": 1, "y": 1.3},
+ {"matrix": [1, 2], "x": 2, "y": 1.1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1.1},
+ {"matrix": [1, 5], "x": 5, "y": 1.2},
+
+ {"matrix": [5, 5], "x": 9, "y": 1.2},
+ {"matrix": [5, 4], "x": 10, "y": 1.1},
+ {"matrix": [5, 3], "x": 11, "y": 1},
+ {"matrix": [5, 2], "x": 12, "y": 1.1},
+ {"matrix": [5, 1], "x": 13, "y": 1.3},
+ {"matrix": [5, 0], "x": 14, "y": 1.3},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.3},
+ {"matrix": [2, 1], "x": 1, "y": 2.3},
+ {"matrix": [2, 2], "x": 2, "y": 2.1},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 4], "x": 4, "y": 2.1},
+ {"matrix": [2, 5], "x": 5, "y": 2.2},
+
+ {"matrix": [6, 5], "x": 9, "y": 2.2},
+ {"matrix": [6, 4], "x": 10, "y": 2.1},
+ {"matrix": [6, 3], "x": 11, "y": 2},
+ {"matrix": [6, 2], "x": 12, "y": 2.1},
+ {"matrix": [6, 1], "x": 13, "y": 2.3},
+ {"matrix": [6, 0], "x": 14, "y": 2.3},
+
+ {"matrix": [3, 3], "x": 4, "y": 3.7},
+ {"matrix": [3, 4], "x": 5, "y": 3.7},
+ {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5},
+
+ {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5},
+ {"matrix": [7, 4], "x": 9, "y": 3.7},
+ {"matrix": [7, 3], "x": 10, "y": 3.7}
+ ]
+ },
+ "LAYOUT_split_3x5_3_ex2": {
+ "layout": [
+ {"matrix": [0, 1], "x": 0, "y": 0.3},
+ {"matrix": [0, 2], "x": 1, "y": 0.1},
+ {"matrix": [0, 3], "x": 2, "y": 0},
+ {"matrix": [0, 4], "x": 3, "y": 0.1},
+ {"matrix": [0, 5], "x": 4, "y": 0.2},
+ {"matrix": [0, 6], "x": 5, "y": 0.7},
+
+ {"matrix": [4, 6], "x": 8, "y": 0.7},
+ {"matrix": [4, 5], "x": 9, "y": 0.2},
+ {"matrix": [4, 4], "x": 10, "y": 0.1},
+ {"matrix": [4, 3], "x": 11, "y": 0},
+ {"matrix": [4, 2], "x": 12, "y": 0.1},
+ {"matrix": [4, 1], "x": 13, "y": 0.3},
+
+ {"matrix": [1, 1], "x": 0, "y": 1.3},
+ {"matrix": [1, 2], "x": 1, "y": 1.1},
+ {"matrix": [1, 3], "x": 2, "y": 1},
+ {"matrix": [1, 4], "x": 3, "y": 1.1},
+ {"matrix": [1, 5], "x": 4, "y": 1.2},
+ {"matrix": [1, 6], "x": 5, "y": 1.7},
+
+ {"matrix": [5, 6], "x": 8, "y": 1.7},
+ {"matrix": [5, 5], "x": 9, "y": 1.2},
+ {"matrix": [5, 4], "x": 10, "y": 1.1},
+ {"matrix": [5, 3], "x": 11, "y": 1},
+ {"matrix": [5, 2], "x": 12, "y": 1.1},
+ {"matrix": [5, 1], "x": 13, "y": 1.3},
+
+ {"matrix": [2, 1], "x": 0, "y": 2.3},
+ {"matrix": [2, 2], "x": 1, "y": 2.1},
+ {"matrix": [2, 3], "x": 2, "y": 2},
+ {"matrix": [2, 4], "x": 3, "y": 2.1},
+ {"matrix": [2, 5], "x": 4, "y": 2.2},
+
+ {"matrix": [6, 5], "x": 9, "y": 2.2},
+ {"matrix": [6, 4], "x": 10, "y": 2.1},
+ {"matrix": [6, 3], "x": 11, "y": 2},
+ {"matrix": [6, 2], "x": 12, "y": 2.1},
+ {"matrix": [6, 1], "x": 13, "y": 2.3},
+
+ {"matrix": [3, 3], "x": 4, "y": 3.7},
+ {"matrix": [3, 4], "x": 5, "y": 3.7},
+ {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5},
+
+ {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5},
+ {"matrix": [7, 4], "x": 9, "y": 3.7},
+ {"matrix": [7, 3], "x": 10, "y": 3.7}
+ ]
+ },
+ "LAYOUT_split_3x6_3_ex2": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.3},
+ {"matrix": [0, 1], "x": 1, "y": 0.3},
+ {"matrix": [0, 2], "x": 2, "y": 0.1},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0.1},
+ {"matrix": [0, 5], "x": 5, "y": 0.2},
+ {"matrix": [0, 6], "x": 6, "y": 0.7},
+
+ {"matrix": [4, 6], "x": 8, "y": 0.7},
+ {"matrix": [4, 5], "x": 9, "y": 0.2},
+ {"matrix": [4, 4], "x": 10, "y": 0.1},
+ {"matrix": [4, 3], "x": 11, "y": 0},
+ {"matrix": [4, 2], "x": 12, "y": 0.1},
+ {"matrix": [4, 1], "x": 13, "y": 0.3},
+ {"matrix": [4, 0], "x": 14, "y": 0.3},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.3},
+ {"matrix": [1, 1], "x": 1, "y": 1.3},
+ {"matrix": [1, 2], "x": 2, "y": 1.1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1.1},
+ {"matrix": [1, 5], "x": 5, "y": 1.2},
+ {"matrix": [1, 6], "x": 6, "y": 1.7},
+
+ {"matrix": [5, 6], "x": 8, "y": 1.7},
+ {"matrix": [5, 5], "x": 9, "y": 1.2},
+ {"matrix": [5, 4], "x": 10, "y": 1.1},
+ {"matrix": [5, 3], "x": 11, "y": 1},
+ {"matrix": [5, 2], "x": 12, "y": 1.1},
+ {"matrix": [5, 1], "x": 13, "y": 1.3},
+ {"matrix": [5, 0], "x": 14, "y": 1.3},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.3},
+ {"matrix": [2, 1], "x": 1, "y": 2.3},
+ {"matrix": [2, 2], "x": 2, "y": 2.1},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 4], "x": 4, "y": 2.1},
+ {"matrix": [2, 5], "x": 5, "y": 2.2},
+
+ {"matrix": [6, 5], "x": 9, "y": 2.2},
+ {"matrix": [6, 4], "x": 10, "y": 2.1},
+ {"matrix": [6, 3], "x": 11, "y": 2},
+ {"matrix": [6, 2], "x": 12, "y": 2.1},
+ {"matrix": [6, 1], "x": 13, "y": 2.3},
+ {"matrix": [6, 0], "x": 14, "y": 2.3},
+
+ {"matrix": [3, 3], "x": 4, "y": 3.7},
+ {"matrix": [3, 4], "x": 5, "y": 3.7},
+ {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5},
+
+ {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5},
+ {"matrix": [7, 4], "x": 9, "y": 3.7},
+ {"matrix": [7, 3], "x": 10, "y": 3.7}
+ ]
+ }
+ },
+ "ws2812": {
+ "driver": "vendor",
+ "pin": "GP10"
+ },
+ "rgblight": {
+ "led_count": 46,
+ "split": true,
+ "split_count": [23, 23],
+ "max_brightness": 50,
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ }
+ },
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "max_brightness": 50,
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "sleep": true
+ }
+}
diff --git a/keyboards/crkbd/rev4_1/mcuconf.h b/keyboards/crkbd/rev4_1/mcuconf.h
new file mode 100755
index 0000000000..543d4703b0
--- /dev/null
+++ b/keyboards/crkbd/rev4_1/mcuconf.h
@@ -0,0 +1,9 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef RP_I2C_USE_I2C1
+#define RP_I2C_USE_I2C1 TRUE
diff --git a/keyboards/crkbd/rev4_1/mini/keyboard.json b/keyboards/crkbd/rev4_1/mini/keyboard.json
new file mode 100755
index 0000000000..a455b1ba21
--- /dev/null
+++ b/keyboards/crkbd/rev4_1/mini/keyboard.json
@@ -0,0 +1,52 @@
+{
+ "keyboard_name": "Corne v4 mini",
+ "usb": {
+ "pid": "0x0104"
+ },
+ "rgb_matrix": {
+ "split_count": [20, 20],
+ "layout": [
+ {"matrix": [3, 5], "x": 95, "y": 63, "flags": 4},
+ {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4},
+ {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4},
+ {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4},
+ {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4},
+ {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4},
+ {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4},
+ {"matrix": [3, 4], "x": 80, "y": 58, "flags": 4},
+ {"matrix": [3, 3], "x": 60, "y": 55, "flags": 4},
+ {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4},
+ {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4},
+ {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4},
+ {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4},
+ {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4},
+ {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4},
+ {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4},
+ {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4},
+ {"matrix": [0, 6], "x": 103, "y": 17, "flags": 4},
+ {"matrix": [1, 6], "x": 103, "y": 24, "flags": 4},
+
+ {"matrix": [7, 5], "x": 129, "y": 63, "flags": 4},
+ {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4},
+ {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4},
+ {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4},
+ {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4},
+ {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4},
+ {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4},
+ {"matrix": [7, 4], "x": 144, "y": 58, "flags": 4},
+ {"matrix": [7, 3], "x": 164, "y": 55, "flags": 4},
+ {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4},
+ {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4},
+ {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4},
+ {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4},
+ {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4},
+ {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4},
+ {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4},
+ {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4},
+ {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4},
+ {"matrix": [4, 6], "x": 122, "y": 17, "flags": 4},
+ {"matrix": [5, 6], "x": 122, "y": 24, "flags": 4}
+ ]
+ }
+}
diff --git a/keyboards/crkbd/rev4_1/post_config.h b/keyboards/crkbd/rev4_1/post_config.h
new file mode 100755
index 0000000000..4cb5c8b236
--- /dev/null
+++ b/keyboards/crkbd/rev4_1/post_config.h
@@ -0,0 +1,11 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#ifndef OLED_FONT_H
+# define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
+#endif
+#ifndef OLED_UPDATE_INTERVAL
+# define OLED_UPDATE_INTERVAL 50
+#endif // OLED_UPDATE_INTERVAL
diff --git a/keyboards/crkbd/rev4_1/standard/keyboard.json b/keyboards/crkbd/rev4_1/standard/keyboard.json
new file mode 100755
index 0000000000..ba90a9e5f5
--- /dev/null
+++ b/keyboards/crkbd/rev4_1/standard/keyboard.json
@@ -0,0 +1,58 @@
+{
+ "keyboard_name": "Corne v4",
+ "usb": {
+ "pid": "0x0004"
+ },
+ "rgb_matrix": {
+ "split_count": [23, 23],
+ "layout": [
+ {"matrix": [3, 5], "x": 95, "y": 63, "flags": 4},
+ {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4},
+ {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4},
+ {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4},
+ {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4},
+ {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4},
+ {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4},
+ {"matrix": [3, 4], "x": 80, "y": 58, "flags": 4},
+ {"matrix": [3, 3], "x": 60, "y": 55, "flags": 4},
+ {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4},
+ {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4},
+ {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4},
+ {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4},
+ {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4},
+ {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4},
+ {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4},
+ {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4},
+ {"matrix": [0, 0], "x": 0, "y": 7, "flags": 4},
+ {"matrix": [1, 0], "x": 0, "y": 24, "flags": 4},
+ {"matrix": [2, 0], "x": 0, "y": 41, "flags": 4},
+ {"matrix": [0, 6], "x": 103, "y": 17, "flags": 4},
+ {"matrix": [1, 6], "x": 103, "y": 24, "flags": 4},
+
+ {"matrix": [7, 5], "x": 129, "y": 63, "flags": 4},
+ {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4},
+ {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4},
+ {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4},
+ {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4},
+ {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4},
+ {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4},
+ {"matrix": [7, 4], "x": 144, "y": 58, "flags": 4},
+ {"matrix": [7, 3], "x": 164, "y": 55, "flags": 4},
+ {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4},
+ {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4},
+ {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4},
+ {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4},
+ {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4},
+ {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4},
+ {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4},
+ {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4},
+ {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4},
+ {"matrix": [4, 0], "x": 224, "y": 7, "flags": 4},
+ {"matrix": [5, 0], "x": 224, "y": 24, "flags": 4},
+ {"matrix": [6, 0], "x": 224, "y": 41, "flags": 4},
+ {"matrix": [4, 6], "x": 122, "y": 17, "flags": 4},
+ {"matrix": [5, 6], "x": 122, "y": 24, "flags": 4}
+ ]
+ }
+}