From 39958c65455f17295916d2ba871c4040b19c87e3 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 31 Mar 2026 17:53:03 +0000 Subject: [PATCH 1/7] Embed Keebart Corne Choc Pro keyboard definition in userspace overlay The keebart/corne_choc_pro keyboard does not exist in the official qmk/qmk_firmware repository, causing CI builds to fail. This embeds the keyboard hardware definition (from Keebart's vial-qmk fork) directly in the userspace so it gets overlaid onto QMK firmware at build time. - Add keyboard definition files (info.json, config.h, rules.mk, halconf.h, mcuconf.h) with RP2040 pin mappings, split config, OLED, and RGB matrix - Add standard variant keyboard.json with LED layout positions - Remove Vial-QMK fork submodule (.gitmodules, qmk_firmware) since the keyboard definition is now self-contained in the userspace - Remove deprecated COMBO_COUNT define (modern QMK auto-detects) https://claude.ai/code/session_01G7xpKdeQFVBvr4iCzxrcTU --- .gitmodules | 3 - keyboards/keebart/corne_choc_pro/config.h | 24 ++ keyboards/keebart/corne_choc_pro/halconf.h | 5 + keyboards/keebart/corne_choc_pro/info.json | 217 ++++++++++++++++++ keyboards/keebart/corne_choc_pro/mcuconf.h | 6 + keyboards/keebart/corne_choc_pro/rules.mk | 1 + .../corne_choc_pro/standard/keyboard.json | 57 +++++ qmk_firmware | 1 - users/timfee/config.h | 1 - 9 files changed, 310 insertions(+), 5 deletions(-) delete mode 100644 .gitmodules create mode 100644 keyboards/keebart/corne_choc_pro/config.h create mode 100644 keyboards/keebart/corne_choc_pro/halconf.h create mode 100644 keyboards/keebart/corne_choc_pro/info.json create mode 100644 keyboards/keebart/corne_choc_pro/mcuconf.h create mode 100644 keyboards/keebart/corne_choc_pro/rules.mk create mode 100644 keyboards/keebart/corne_choc_pro/standard/keyboard.json delete mode 160000 qmk_firmware diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index b32cc20f..00000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "qmk_firmware"] - path = qmk_firmware - url = https://github.com/Keebart/vial-qmk-corne-choc-pro.git diff --git a/keyboards/keebart/corne_choc_pro/config.h b/keyboards/keebart/corne_choc_pro/config.h new file mode 100644 index 00000000..df13a861 --- /dev/null +++ b/keyboards/keebart/corne_choc_pro/config.h @@ -0,0 +1,24 @@ +#pragma once + +#define SERIAL_USART_TX_PIN GP12 +#define USB_VBUS_PIN GP13 +#define SPLIT_HAND_PIN GP21 + +#define I2C_DRIVER I2CD1 +#define OLED_UPDATE_INTERVAL 50 +#define I2C1_SDA_PIN GP6 +#define I2C1_SCL_PIN GP7 + +#define RGB_MATRIX_SLEEP +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES + +#define USB_SUSPEND_WAKEUP_DELAY 200 + +/* RP2040- and hardware-specific config */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 + +#define SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE diff --git a/keyboards/keebart/corne_choc_pro/halconf.h b/keyboards/keebart/corne_choc_pro/halconf.h new file mode 100644 index 00000000..c4a71013 --- /dev/null +++ b/keyboards/keebart/corne_choc_pro/halconf.h @@ -0,0 +1,5 @@ +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/keebart/corne_choc_pro/info.json b/keyboards/keebart/corne_choc_pro/info.json new file mode 100644 index 00000000..9a58678c --- /dev/null +++ b/keyboards/keebart/corne_choc_pro/info.json @@ -0,0 +1,217 @@ +{ + "manufacturer": "Keebart", + "keyboard_name": "corne_choc_pro", + "url": "https://keebart.com/products/corne", + "maintainer": "Keebart", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true, + "oled": true, + "rgblight": false, + "rgb_matrix": true, + "mousekey": true, + "encoder": true + }, + "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] + ] + }, + "processor": "RP2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "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] + }, + "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"} + ] + } + }, + "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} + ] + } + }, + "ws2812": { + "driver": "vendor", + "pin": "GP10" + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 100, + "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 + } + } +} diff --git a/keyboards/keebart/corne_choc_pro/mcuconf.h b/keyboards/keebart/corne_choc_pro/mcuconf.h new file mode 100644 index 00000000..4e812fc7 --- /dev/null +++ b/keyboards/keebart/corne_choc_pro/mcuconf.h @@ -0,0 +1,6 @@ +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/keebart/corne_choc_pro/rules.mk b/keyboards/keebart/corne_choc_pro/rules.mk new file mode 100644 index 00000000..161ec22b --- /dev/null +++ b/keyboards/keebart/corne_choc_pro/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/keebart/corne_choc_pro/standard/keyboard.json b/keyboards/keebart/corne_choc_pro/standard/keyboard.json new file mode 100644 index 00000000..9a1b7313 --- /dev/null +++ b/keyboards/keebart/corne_choc_pro/standard/keyboard.json @@ -0,0 +1,57 @@ +{ + "keyboard_name": "Corne Choc Pro", + "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": 16, "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": 16, "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} + ] + } +} diff --git a/qmk_firmware b/qmk_firmware deleted file mode 160000 index 4649f864..00000000 --- a/qmk_firmware +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4649f864f15ba9f540ee83d66b50cb9fcd4f7e59 diff --git a/users/timfee/config.h b/users/timfee/config.h index 5ce6c48c..a3437c5e 100644 --- a/users/timfee/config.h +++ b/users/timfee/config.h @@ -11,6 +11,5 @@ #define RETRO_TAPPING_PER_KEY // ── Combos ── -#define COMBO_COUNT 8 #define COMBO_TERM 40 #define COMBO_ONLY_FROM_LAYER 0 From 9a007e6b26a6e9775ed88e27e96340e471a170e7 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 31 Mar 2026 17:53:47 +0000 Subject: [PATCH 2/7] Fix combo array to use auto-sized declaration Remove explicit COMBO_COUNT sizing from key_combos array since the COMBO_COUNT define was removed. Modern QMK auto-detects combo count via keymap introspection. https://claude.ai/code/session_01G7xpKdeQFVBvr4iCzxrcTU --- users/timfee/timfee.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/timfee/timfee.c b/users/timfee/timfee.c index 19863955..3aff75e8 100644 --- a/users/timfee/timfee.c +++ b/users/timfee/timfee.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM rbkt_combo[] = {KC_N, KC_M, COMBO_END}; const uint16_t PROGMEM pipe_combo[] = {Z_L2, KC_X, COMBO_END}; const uint16_t PROGMEM bslh_combo[] = {SL_L1, KC_QUOT, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { COMBO(lparen_combo, KC_LPRN), COMBO(rparen_combo, KC_RPRN), COMBO(lbrace_combo, KC_LCBR), From 8e619b76478273bbdb0aae7dc9ae1160a3ff73e9 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 31 Mar 2026 21:07:16 +0000 Subject: [PATCH 3/7] Point CI to Keebart's Vial-QMK fork for keyboard definition The QMK userspace overlay only supports keymaps and user code, not adding entirely new keyboard definitions. Since keebart/corne_choc_pro only exists in Keebart's fork, the CI must clone that fork instead of official qmk/qmk_firmware. https://claude.ai/code/session_01G7xpKdeQFVBvr4iCzxrcTU --- .github/workflows/build_binaries.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_binaries.yaml b/.github/workflows/build_binaries.yaml index f7908fad..f53c3c81 100755 --- a/.github/workflows/build_binaries.yaml +++ b/.github/workflows/build_binaries.yaml @@ -10,8 +10,8 @@ jobs: name: 'QMK Userspace Build' uses: qmk/.github/.github/workflows/qmk_userspace_build.yml@main with: - qmk_repo: qmk/qmk_firmware - qmk_ref: master + qmk_repo: Keebart/vial-qmk-corne-choc-pro + qmk_ref: vial publish: name: 'QMK Userspace Publish' From c8846c05a4b0fd132de299336f7a6927ba7facd9 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 31 Mar 2026 21:12:45 +0000 Subject: [PATCH 4/7] Remove duplicate keyboard definition files from overlay The Keebart fork already contains the keyboard definition. Having duplicate info.json, config.h, rules.mk, etc. in the userspace overlay conflicts with the fork's versions. Only the keymap and user code should be in the overlay. https://claude.ai/code/session_01G7xpKdeQFVBvr4iCzxrcTU --- keyboards/keebart/corne_choc_pro/config.h | 24 -- keyboards/keebart/corne_choc_pro/halconf.h | 5 - keyboards/keebart/corne_choc_pro/info.json | 217 ------------------ keyboards/keebart/corne_choc_pro/mcuconf.h | 6 - keyboards/keebart/corne_choc_pro/rules.mk | 1 - .../corne_choc_pro/standard/keyboard.json | 57 ----- 6 files changed, 310 deletions(-) delete mode 100644 keyboards/keebart/corne_choc_pro/config.h delete mode 100644 keyboards/keebart/corne_choc_pro/halconf.h delete mode 100644 keyboards/keebart/corne_choc_pro/info.json delete mode 100644 keyboards/keebart/corne_choc_pro/mcuconf.h delete mode 100644 keyboards/keebart/corne_choc_pro/rules.mk delete mode 100644 keyboards/keebart/corne_choc_pro/standard/keyboard.json diff --git a/keyboards/keebart/corne_choc_pro/config.h b/keyboards/keebart/corne_choc_pro/config.h deleted file mode 100644 index df13a861..00000000 --- a/keyboards/keebart/corne_choc_pro/config.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -#define SERIAL_USART_TX_PIN GP12 -#define USB_VBUS_PIN GP13 -#define SPLIT_HAND_PIN GP21 - -#define I2C_DRIVER I2CD1 -#define OLED_UPDATE_INTERVAL 50 -#define I2C1_SDA_PIN GP6 -#define I2C1_SCL_PIN GP7 - -#define RGB_MATRIX_SLEEP -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_MATRIX_KEYPRESSES - -#define USB_SUSPEND_WAKEUP_DELAY 200 - -/* RP2040- and hardware-specific config */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U -#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 - -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_LED_STATE_ENABLE diff --git a/keyboards/keebart/corne_choc_pro/halconf.h b/keyboards/keebart/corne_choc_pro/halconf.h deleted file mode 100644 index c4a71013..00000000 --- a/keyboards/keebart/corne_choc_pro/halconf.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#define HAL_USE_I2C TRUE - -#include_next diff --git a/keyboards/keebart/corne_choc_pro/info.json b/keyboards/keebart/corne_choc_pro/info.json deleted file mode 100644 index 9a58678c..00000000 --- a/keyboards/keebart/corne_choc_pro/info.json +++ /dev/null @@ -1,217 +0,0 @@ -{ - "manufacturer": "Keebart", - "keyboard_name": "corne_choc_pro", - "url": "https://keebart.com/products/corne", - "maintainer": "Keebart", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "nkro": true, - "oled": true, - "rgblight": false, - "rgb_matrix": true, - "mousekey": true, - "encoder": true - }, - "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] - ] - }, - "processor": "RP2040", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "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] - }, - "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"} - ] - } - }, - "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} - ] - } - }, - "ws2812": { - "driver": "vendor", - "pin": "GP10" - }, - "rgb_matrix": { - "driver": "ws2812", - "max_brightness": 100, - "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 - } - } -} diff --git a/keyboards/keebart/corne_choc_pro/mcuconf.h b/keyboards/keebart/corne_choc_pro/mcuconf.h deleted file mode 100644 index 4e812fc7..00000000 --- a/keyboards/keebart/corne_choc_pro/mcuconf.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -#include_next - -#undef RP_I2C_USE_I2C1 -#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/keebart/corne_choc_pro/rules.mk b/keyboards/keebart/corne_choc_pro/rules.mk deleted file mode 100644 index 161ec22b..00000000 --- a/keyboards/keebart/corne_choc_pro/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebart/corne_choc_pro/standard/keyboard.json b/keyboards/keebart/corne_choc_pro/standard/keyboard.json deleted file mode 100644 index 9a1b7313..00000000 --- a/keyboards/keebart/corne_choc_pro/standard/keyboard.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "keyboard_name": "Corne Choc Pro", - "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": 16, "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": 16, "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} - ] - } -} From b6d7632097a3b8c20d073d4ed7498590398e339c Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 31 Mar 2026 21:20:38 +0000 Subject: [PATCH 5/7] Fix build: include user code in keymap for combo introspection The Keebart Vial fork's keymap_introspection.c does #include KEYMAP_C to discover combos at compile time. Combos defined in a separately compiled file (via SRC += timfee.c) aren't visible to introspection, causing 'key_combos undeclared' errors. Fix by #include-ing timfee.c from keymap.c so combos are visible to the introspection system. Remove SRC += timfee.c since the file is now included directly. Restore COMBO_COUNT required by this fork. Verified: builds successfully locally producing .uf2 firmware. https://claude.ai/code/session_01G7xpKdeQFVBvr4iCzxrcTU --- keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c | 1 + users/timfee/config.h | 1 + users/timfee/rules.mk | 1 - users/timfee/timfee.c | 2 +- 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c b/keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c index 0675d293..cd4eb526 100644 --- a/keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c +++ b/keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c @@ -1,4 +1,5 @@ #include "timfee.h" +#include "timfee.c" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/users/timfee/config.h b/users/timfee/config.h index a3437c5e..5ce6c48c 100644 --- a/users/timfee/config.h +++ b/users/timfee/config.h @@ -11,5 +11,6 @@ #define RETRO_TAPPING_PER_KEY // ── Combos ── +#define COMBO_COUNT 8 #define COMBO_TERM 40 #define COMBO_ONLY_FROM_LAYER 0 diff --git a/users/timfee/rules.mk b/users/timfee/rules.mk index 5e04c048..ab1e4381 100644 --- a/users/timfee/rules.mk +++ b/users/timfee/rules.mk @@ -1,2 +1 @@ -SRC += timfee.c COMBO_ENABLE = yes diff --git a/users/timfee/timfee.c b/users/timfee/timfee.c index 3aff75e8..19863955 100644 --- a/users/timfee/timfee.c +++ b/users/timfee/timfee.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM rbkt_combo[] = {KC_N, KC_M, COMBO_END}; const uint16_t PROGMEM pipe_combo[] = {Z_L2, KC_X, COMBO_END}; const uint16_t PROGMEM bslh_combo[] = {SL_L1, KC_QUOT, COMBO_END}; -combo_t key_combos[] = { +combo_t key_combos[COMBO_COUNT] = { COMBO(lparen_combo, KC_LPRN), COMBO(rparen_combo, KC_RPRN), COMBO(lbrace_combo, KC_LCBR), From c5ff0d03a4ef69438bf90e08c68261cbe7500372 Mon Sep 17 00:00:00 2001 From: Tim Feeley Date: Sun, 12 Apr 2026 14:28:24 -0700 Subject: [PATCH 6/7] Update keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c b/keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c index cd4eb526..0675d293 100644 --- a/keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c +++ b/keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.c @@ -1,5 +1,4 @@ #include "timfee.h" -#include "timfee.c" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { From c5f00a9f355faf1b6d1b23b380bd838a633de528 Mon Sep 17 00:00:00 2001 From: Tim Feeley Date: Sun, 12 Apr 2026 14:28:34 -0700 Subject: [PATCH 7/7] Update users/timfee/rules.mk Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- users/timfee/rules.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/users/timfee/rules.mk b/users/timfee/rules.mk index ab1e4381..5f0350ce 100644 --- a/users/timfee/rules.mk +++ b/users/timfee/rules.mk @@ -1 +1,2 @@ COMBO_ENABLE = yes +SRC += timfee.c