From f4cc9f4583a1469979a18b8586c3739bf545effb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Cruz?= Date: Sun, 16 Feb 2025 21:11:11 +0000 Subject: [PATCH 1/3] Added support for Sofle Choc Pro by Keebart (#853) * add sofle_choc_pro keyboard by keebart * better bootloader instructions * remove duplicate line of code * fix rgb matrix --------- Co-authored-by: Alexei Torgashov --- keyboards/keebart/sofle_choc_pro/config.h | 24 ++ keyboards/keebart/sofle_choc_pro/halconf.h | 5 + .../keebart/sofle_choc_pro/keyboard.json | 259 ++++++++++++++ .../sofle_choc_pro/keymaps/default/keymap.c | 36 ++ .../sofle_choc_pro/keymaps/default/rules.mk | 1 + .../sofle_choc_pro/keymaps/vial/config.h | 9 + .../sofle_choc_pro/keymaps/vial/keymap.c | 29 ++ .../sofle_choc_pro/keymaps/vial/rules.mk | 6 + .../sofle_choc_pro/keymaps/vial/vial.json | 318 ++++++++++++++++++ keyboards/keebart/sofle_choc_pro/mcuconf.h | 6 + keyboards/keebart/sofle_choc_pro/readme.md | 30 ++ keyboards/keebart/sofle_choc_pro/rules.mk | 1 + 12 files changed, 724 insertions(+) create mode 100644 keyboards/keebart/sofle_choc_pro/config.h create mode 100644 keyboards/keebart/sofle_choc_pro/halconf.h create mode 100644 keyboards/keebart/sofle_choc_pro/keyboard.json create mode 100644 keyboards/keebart/sofle_choc_pro/keymaps/default/keymap.c create mode 100644 keyboards/keebart/sofle_choc_pro/keymaps/default/rules.mk create mode 100644 keyboards/keebart/sofle_choc_pro/keymaps/vial/config.h create mode 100644 keyboards/keebart/sofle_choc_pro/keymaps/vial/keymap.c create mode 100644 keyboards/keebart/sofle_choc_pro/keymaps/vial/rules.mk create mode 100644 keyboards/keebart/sofle_choc_pro/keymaps/vial/vial.json create mode 100644 keyboards/keebart/sofle_choc_pro/mcuconf.h create mode 100644 keyboards/keebart/sofle_choc_pro/readme.md create mode 100644 keyboards/keebart/sofle_choc_pro/rules.mk diff --git a/keyboards/keebart/sofle_choc_pro/config.h b/keyboards/keebart/sofle_choc_pro/config.h new file mode 100644 index 0000000000..df13a86128 --- /dev/null +++ b/keyboards/keebart/sofle_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/sofle_choc_pro/halconf.h b/keyboards/keebart/sofle_choc_pro/halconf.h new file mode 100644 index 0000000000..c4a7101379 --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/halconf.h @@ -0,0 +1,5 @@ +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/keebart/sofle_choc_pro/keyboard.json b/keyboards/keebart/sofle_choc_pro/keyboard.json new file mode 100644 index 0000000000..b043521186 --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/keyboard.json @@ -0,0 +1,259 @@ +{ + "manufacturer": "Keebart", + "keyboard_name": "sofle_choc_pro", + "url": "https://keebart.com/products/sofle", + "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": { + "cols": [ "GP27", "GP26", "GP25", "GP24", "GP19", "GP18" ], + "rows": [ "GP0", "GP1", "GP2", "GP3", "GP4" ] + }, + "processor": "RP2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "encoder": { + "rotary": [ { "pin_a": "GP23", "pin_b": "GP22" }, ] + }, + "bootmagic": { + "enabled": true, + "matrix": [ 0, 0 ] + }, + "split": { + "enabled": true, + "bootmagic": { + "matrix": [ 5, 0 ] + }, + "matrix_pins": { + "right": { + "cols": [ "GP27", "GP26", "GP25", "GP24", "GP19", "GP18" ], + "rows": [ "GP0", "GP1", "GP2", "GP3", "GP4" ] + } + }, + "encoder": { + "right": { + "rotary": [ { "pin_a": "GP23", "pin_b": "GP22" }, ] + } + }, + "transport": { + "sync": { + "matrix_state": true + }, + "watchdog": true + } + }, + "layouts": { + "LAYOUT_split_4x6_5": { + "layout": [ + { "matrix": [ 0, 0 ], "x": 0, "y": 0.375 }, + { "matrix": [ 0, 1 ], "x": 1, "y": 0.375 }, + { "matrix": [ 0, 2 ], "x": 2, "y": 0.125 }, + { "matrix": [ 0, 3 ], "x": 3, "y": 0 }, + { "matrix": [ 0, 4 ], "x": 4, "y": 0.125 }, + { "matrix": [ 0, 5 ], "x": 5, "y": 0.25 }, + { "matrix": [ 5, 5 ], "x": 9, "y": 0.25 }, + { "matrix": [ 5, 4 ], "x": 10, "y": 0.125 }, + { "matrix": [ 5, 3 ], "x": 11, "y": 0 }, + { "matrix": [ 5, 2 ], "x": 12, "y": 0.125 }, + { "matrix": [ 5, 1 ], "x": 13, "y": 0.375 }, + { "matrix": [ 5, 0 ], "x": 14, "y": 0.375 }, + { "matrix": [ 1, 0 ], "x": 0, "y": 1.375 }, + { "matrix": [ 1, 1 ], "x": 1, "y": 1.375 }, + { "matrix": [ 1, 2 ], "x": 2, "y": 1.125 }, + { "matrix": [ 1, 3 ], "x": 3, "y": 1 }, + { "matrix": [ 1, 4 ], "x": 4, "y": 1.125 }, + { "matrix": [ 1, 5 ], "x": 5, "y": 1.25 }, + { "matrix": [ 6, 5 ], "x": 9, "y": 1.25 }, + { "matrix": [ 6, 4 ], "x": 10, "y": 1.125 }, + { "matrix": [ 6, 3 ], "x": 11, "y": 1 }, + { "matrix": [ 6, 2 ], "x": 12, "y": 1.125 }, + { "matrix": [ 6, 1 ], "x": 13, "y": 1.375 }, + { "matrix": [ 6, 0 ], "x": 14, "y": 1.375 }, + { "matrix": [ 2, 0 ], "x": 0, "y": 2.375 }, + { "matrix": [ 2, 1 ], "x": 1, "y": 2.375 }, + { "matrix": [ 2, 2 ], "x": 2, "y": 2.125 }, + { "matrix": [ 2, 3 ], "x": 3, "y": 2 }, + { "matrix": [ 2, 4 ], "x": 4, "y": 2.125 }, + { "matrix": [ 2, 5 ], "x": 5, "y": 2.25 }, + { "matrix": [ 7, 5 ], "x": 9, "y": 2.25 }, + { "matrix": [ 7, 4 ], "x": 10, "y": 2.125 }, + { "matrix": [ 7, 3 ], "x": 11, "y": 2 }, + { "matrix": [ 7, 2 ], "x": 12, "y": 2.125 }, + { "matrix": [ 7, 1 ], "x": 13, "y": 2.375 }, + { "matrix": [ 7, 0 ], "x": 14, "y": 2.375 }, + { "matrix": [ 3, 0 ], "x": 0, "y": 3.375 }, + { "matrix": [ 3, 1 ], "x": 1, "y": 3.375 }, + { "matrix": [ 3, 2 ], "x": 2, "y": 3.125 }, + { "matrix": [ 3, 3 ], "x": 3, "y": 3 }, + { "matrix": [ 3, 4 ], "x": 4, "y": 3.125 }, + { "matrix": [ 3, 5 ], "x": 5, "y": 3.25 }, + { "matrix": [ 4, 5 ], "x": 6, "y": 2.75 }, + { "matrix": [ 9, 5 ], "x": 8, "y": 2.75 }, + { "matrix": [ 8, 5 ], "x": 9, "y": 3.25 }, + { "matrix": [ 8, 4 ], "x": 10, "y": 3.125 }, + { "matrix": [ 8, 3 ], "x": 11, "y": 3 }, + { "matrix": [ 8, 2 ], "x": 12, "y": 3.125 }, + { "matrix": [ 8, 1 ], "x": 13, "y": 3.375 }, + { "matrix": [ 8, 0 ], "x": 14, "y": 3.375 }, + { "matrix": [ 4, 0 ], "x": 1.5, "y": 4.375 }, + { "matrix": [ 4, 1 ], "x": 2.5, "y": 4.25 }, + { "matrix": [ 4, 2 ], "x": 3.5, "y": 4.25 }, + { "matrix": [ 4, 3 ], "x": 4.5, "y": 4.375 }, + { "matrix": [ 4, 4 ], "x": 6, "y": 4.375, "h": 1.5 }, + { "matrix": [ 9, 4 ], "x": 8, "y": 4.375, "h": 1.5 }, + { "matrix": [ 9, 3 ], "x": 9.5, "y": 4.375 }, + { "matrix": [ 9, 2 ], "x": 10.5, "y": 4.25 }, + { "matrix": [ 9, 1 ], "x": 11.5, "y": 4.25 }, + { "matrix": [ 9, 0 ], "x": 12.5, "y": 4.375 } + ] + } + }, + "ws2812": { + "driver": "vendor", + "pin": "GP10" + }, + "rgblight": { + "led_count": 60, + "split": true, + "split_count": [ 30, 30 ], + "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 + }, + "split_count": [30, 30], + "layout": [ + {"flags":4,"matrix":[4,5],"x":99,"y":38}, + {"flags":4,"matrix":[4,4],"x":91,"y":64}, + {"flags":4,"matrix":[4,3],"x":77,"y":60}, + {"flags":4,"matrix":[3,5],"x":82,"y":45}, + {"flags":4,"matrix":[2,5],"x":82,"y":31}, + {"flags":4,"matrix":[1,5],"x":82,"y":17}, + {"flags":4,"matrix":[0,5],"x":82,"y":3}, + {"flags":4,"matrix":[0,4],"x":66,"y":2}, + {"flags":4,"matrix":[1,4],"x":66,"y":16}, + {"flags":4,"matrix":[2,4],"x":66,"y":29}, + {"flags":4,"matrix":[3,4],"x":66,"y":43}, + {"flags":4,"matrix":[4,2],"x":58,"y":59}, + {"flags":4,"matrix":[4,1],"x":41,"y":59}, + {"flags":4,"matrix":[3,3],"x":49,"y":41}, + {"flags":4,"matrix":[2,3],"x":49,"y":28}, + {"flags":4,"matrix":[1,3],"x":49,"y":16}, + {"flags":4,"matrix":[0,3],"x":49,"y":0}, + {"flags":4,"matrix":[0,2],"x":33,"y":2}, + {"flags":4,"matrix":[1,2],"x":33,"y":16}, + {"flags":4,"matrix":[2,2],"x":33,"y":29}, + {"flags":4,"matrix":[3,2],"x":33,"y":43}, + {"flags":4,"matrix":[4,0],"x":25,"y":60}, + {"flags":4,"matrix":[3,1],"x":16,"y":47}, + {"flags":4,"matrix":[2,1],"x":16,"y":33}, + {"flags":4,"matrix":[1,1],"x":16,"y":19}, + {"flags":4,"matrix":[0,1],"x":16,"y":5}, + {"flags":4,"matrix":[0,0],"x":0,"y":5}, + {"flags":4,"matrix":[1,0],"x":0,"y":19}, + {"flags":4,"matrix":[2,0],"x":0,"y":33}, + {"flags":4,"matrix":[3,0],"x":0,"y":47}, + + {"flags":4,"matrix":[9,5],"x":125,"y":38}, + {"flags":4,"matrix":[9,4],"x":134,"y":64}, + {"flags":4,"matrix":[9,3],"x":147,"y":60}, + {"flags":4,"matrix":[8,5],"x":142,"y":45}, + {"flags":4,"matrix":[7,5],"x":142,"y":31}, + {"flags":4,"matrix":[6,5],"x":142,"y":17}, + {"flags":4,"matrix":[5,5],"x":142,"y":3}, + {"flags":4,"matrix":[5,4],"x":158,"y":2}, + {"flags":4,"matrix":[6,4],"x":158,"y":16}, + {"flags":4,"matrix":[7,4],"x":158,"y":29}, + {"flags":4,"matrix":[8,4],"x":158,"y":43}, + {"flags":4,"matrix":[9,2],"x":166,"y":59}, + {"flags":4,"matrix":[9,1],"x":183,"y":59}, + {"flags":4,"matrix":[8,3],"x":175,"y":41}, + {"flags":4,"matrix":[7,3],"x":175,"y":28}, + {"flags":4,"matrix":[6,3],"x":175,"y":16}, + {"flags":4,"matrix":[5,3],"x":175,"y":0}, + {"flags":4,"matrix":[5,2],"x":191,"y":2}, + {"flags":4,"matrix":[6,2],"x":191,"y":16}, + {"flags":4,"matrix":[7,2],"x":191,"y":29}, + {"flags":4,"matrix":[8,2],"x":191,"y":43}, + {"flags":4,"matrix":[9,0],"x":199,"y":60}, + {"flags":4,"matrix":[8,1],"x":208,"y":47}, + {"flags":4,"matrix":[7,1],"x":208,"y":33}, + {"flags":4,"matrix":[6,1],"x":208,"y":19}, + {"flags":4,"matrix":[5,1],"x":208,"y":5}, + {"flags":4,"matrix":[5,0],"x":224,"y":5}, + {"flags":4,"matrix":[6,0],"x":224,"y":19}, + {"flags":4,"matrix":[7,0],"x":224,"y":33}, + {"flags":4,"matrix":[8,0],"x":224,"y":47} + ] + } +} diff --git a/keyboards/keebart/sofle_choc_pro/keymaps/default/keymap.c b/keyboards/keebart/sofle_choc_pro/keymaps/default/keymap.c new file mode 100644 index 0000000000..30945f2aed --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | CAPS | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| Mute | | Pause |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LCTL | LALT | LCMD | LGUI | /Enter / \Space \ | RGUI | DEL | RALT | RCTL | + * | | | | LT1 |/ / \ \ | LT2 | | | | + * `----------------------------------' '------''---------------------------' + */ + +LAYOUT_split_4x6_5( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, KC_LCMD, LT(1,KC_LGUI), KC_ENT, KC_SPC, LT(2,KC_RGUI), KC_DEL, KC_RALT, KC_RCTL +) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, +}; +#endif diff --git a/keyboards/keebart/sofle_choc_pro/keymaps/default/rules.mk b/keyboards/keebart/sofle_choc_pro/keymaps/default/rules.mk new file mode 100644 index 0000000000..ee32568148 --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keebart/sofle_choc_pro/keymaps/vial/config.h b/keyboards/keebart/sofle_choc_pro/keymaps/vial/config.h new file mode 100644 index 0000000000..885fd58dc9 --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/keymaps/vial/config.h @@ -0,0 +1,9 @@ +#define VIAL_KEYBOARD_UID \ + { 0x4F, 0x2D, 0x5A, 0x8A, 0x49, 0x7C, 0xDF, 0x1D } + +#define VIAL_UNLOCK_COMBO_ROWS \ + { 0, 5 } +#define VIAL_UNLOCK_COMBO_COLS \ + { 0, 0 } + +#define DYNAMIC_KEYMAP_LAYER_COUNT 10 diff --git a/keyboards/keebart/sofle_choc_pro/keymaps/vial/keymap.c b/keyboards/keebart/sofle_choc_pro/keymaps/vial/keymap.c new file mode 100644 index 0000000000..d00491fce9 --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/keymaps/vial/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | CAPS | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| Mute | | Pause |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LCTL | LALT | LCMD | LGUI | /Enter / \Space \ | RGUI | DEL | RALT | RCTL | + * | | | | LT1 |/ / \ \ | LT2 | | | | + * `----------------------------------' '------''---------------------------' + */ + + LAYOUT_split_4x6_5(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LCTL, KC_LALT, KC_LCMD, LT(1, KC_LGUI), KC_ENT, KC_SPC, LT(2, KC_RGUI), KC_DEL, KC_RALT, KC_RCTL)}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT)}, +}; +#endif diff --git a/keyboards/keebart/sofle_choc_pro/keymaps/vial/rules.mk b/keyboards/keebart/sofle_choc_pro/keymaps/vial/rules.mk new file mode 100644 index 0000000000..8302521391 --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/keymaps/vial/rules.mk @@ -0,0 +1,6 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +VIALRGB_ENABLE = yes +ENCODER_MAP_ENABLE = yes +CAPS_WORD_ENABLE = yes +REPEAT_KEY_ENABLE = yes diff --git a/keyboards/keebart/sofle_choc_pro/keymaps/vial/vial.json b/keyboards/keebart/sofle_choc_pro/keymaps/vial/vial.json new file mode 100644 index 0000000000..0e0aace7f9 --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/keymaps/vial/vial.json @@ -0,0 +1,318 @@ +{ + "name": "Sofle Choc Pro", + "matrix": { + "rows": 10, + "cols": 6 + }, + "lighting": "vialrgb", + "layouts": { + "keymap": [ + [ + { + "x": 3 + }, + "0,3", + { + "x": 8.25 + }, + "5,3" + ], + [ + { + "y": -0.87, + "x": 2 + }, + "0,2", + { + "x": 1 + }, + "0,4", + { + "x": 6.25 + }, + "5,4", + { + "x": 1 + }, + "5,2" + ], + [ + { + "y": -0.88, + "x": 5 + }, + "0,5" + ], + [ + { + "y": -1, + "x": 10.25 + }, + "5,5" + ], + [ + { + "y": -0.87 + }, + "0,0", + "0,1", + { + "x": 12.25 + }, + "5,1", + "5,0" + ], + [ + { + "y": -0.38, + "x": 3 + }, + "1,3" + ], + [ + { + "y": -1, + "x": 12.25 + }, + "6,3" + ], + [ + { + "y": -0.8700000000000001, + "x": 2 + }, + "1,2", + { + "x": 1 + }, + "1,4", + { + "x": 6.25 + }, + "6,4", + { + "x": 1 + }, + "6,2" + ], + [ + { + "y": -0.8799999999999999, + "x": 5 + }, + "1,5", + { + "x": 4.25 + }, + "6,5" + ], + [ + { + "y": -0.8700000000000001 + }, + "1,0", + "1,1", + { + "x": 12.25 + }, + "6,1", + "6,0" + ], + [ + { + "y": -0.6299999999999999, + "x": 6 + }, + "0,0\n\n\n\n\n\n\n\n\ne", + "0,1\n\n\n\n\n\n\n\n\ne", + { + "x": 0.25 + }, + "1,0\n\n\n\n\n\n\n\n\ne", + "1,1\n\n\n\n\n\n\n\n\ne" + ], + [ + { + "y": -0.75, + "x": 3 + }, + "2,3", + { + "x": 8.25 + }, + "7,3" + ], + [ + { + "y": -0.8700000000000001, + "x": 2 + }, + "2,2", + { + "x": 1 + }, + "2,4", + { + "x": 6.25 + }, + "7,4", + { + "x": 1 + }, + "7,2" + ], + [ + { + "y": -0.8799999999999999, + "x": 5 + }, + "2,5", + { + "x": 4.25 + }, + "7,5" + ], + [ + { + "y": -0.8700000000000001 + }, + "2,0", + "2,1", + { + "x": 12.25 + }, + "7,1", + "7,0" + ], + [ + { + "y": -0.6299999999999999, + "x": 6.5 + }, + "4,5", + { + "x": 1.25 + }, + "9,5" + ], + [ + { + "y": -0.75, + "x": 3 + }, + "3,3", + { + "x": 8.25 + }, + "8,3" + ], + [ + { + "y": -0.8700000000000001, + "x": 2 + }, + "3,2", + { + "x": 1 + }, + "3,4", + { + "x": 6.25 + }, + "8,4", + { + "x": 1 + }, + "8,2" + ], + [ + { + "y": -0.8799999999999999, + "x": 5 + }, + "3,5", + { + "x": 4.25 + }, + "8,5" + ], + [ + { + "y": -0.8700000000000001 + }, + "3,0", + "3,1", + { + "x": 12.25 + }, + "8,1", + "8,0" + ], + [ + { + "y": -0.1299999999999999, + "x": 2.5 + }, + "4,1", + "4,2", + { + "x": 7.25 + }, + "9,2", + "9,1" + ], + [ + { + "y": -0.8700000000000001, + "x": 1.5 + }, + "4,0", + { + "x": 11.25 + }, + "9,0" + ], + [ + { + "r": 15, + "rx": 4, + "ry": 9.1, + "y": -4.85, + "x": -0.5 + }, + "4,3" + ], + [ + { + "r": 30, + "rx": 5, + "ry": 9.3, + "y": -5.05, + "x": -1.5, + "h": 1.5 + }, + "4,4" + ], + [ + { + "r": -30, + "rx": 10, + "y": -4.4, + "x": 1.629999999999999, + "h": 1.5 + }, + "9,4" + ], + [ + { + "r": -15, + "rx": 11, + "ry": 9, + "y": -4.42, + "x": 0.7200000000000006 + }, + "9,3" + ] + ] + } +} diff --git a/keyboards/keebart/sofle_choc_pro/mcuconf.h b/keyboards/keebart/sofle_choc_pro/mcuconf.h new file mode 100644 index 0000000000..4e812fc705 --- /dev/null +++ b/keyboards/keebart/sofle_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/sofle_choc_pro/readme.md b/keyboards/keebart/sofle_choc_pro/readme.md new file mode 100644 index 0000000000..59bb443d65 --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/readme.md @@ -0,0 +1,30 @@ +# Sofle Choc Pro + +![sofle_choc_pro](https://raw.githubusercontent.com/Keebart/picture-cdn/refs/heads/main/sofle/led/0.webp) + +A complete remake of the Sofle Choc Keyboard by Josef Adamčík. Featuring an onboard RP2040 with 128 MB flash +memory and choc-spaced keys for a more compact keyboard. + +* Keyboard Maintainer: [Keebart](https://github.com/Keebart) +* Hardware Supported: RP2040 +* Hardware Availability: [Keebart Shop](https://keebart.com/products/sofle) + +Make example for this keyboard (after setting up your build environment): + + make keebart/sofle_choc_pro:default + make keebart/sofle_choc_pro:vial + +Flashing example for this keyboard: + + make keebart/sofle_choc_pro:default:flash + make keebart/sofle_choc_pro:vial:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key of the left side of the keyboard while connecting the left side to the computer. Similarly, hold down the top left key of the right side of the keyboard while connecting the right side to the computer. +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/keebart/sofle_choc_pro/rules.mk b/keyboards/keebart/sofle_choc_pro/rules.mk new file mode 100644 index 0000000000..161ec22b16 --- /dev/null +++ b/keyboards/keebart/sofle_choc_pro/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor From cbf23d92f52a0c7a5e0393b2d03abb82c1218531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Cruz?= Date: Mon, 17 Feb 2025 22:54:44 +0000 Subject: [PATCH 2/3] Fix typo in flash documentation (#855) Correct key when flashing right part of Sofle Choc Pro keyboard. --- keyboards/keebart/sofle_choc_pro/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keebart/sofle_choc_pro/readme.md b/keyboards/keebart/sofle_choc_pro/readme.md index 59bb443d65..56ea18ca7b 100644 --- a/keyboards/keebart/sofle_choc_pro/readme.md +++ b/keyboards/keebart/sofle_choc_pro/readme.md @@ -25,6 +25,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: -* **Bootmagic reset**: Hold down the top left key of the left side of the keyboard while connecting the left side to the computer. Similarly, hold down the top left key of the right side of the keyboard while connecting the right side to the computer. +* **Bootmagic reset**: Hold down the top left key of the left side of the keyboard while connecting the left side to the computer. Similarly, hold down the top right key of the right side of the keyboard while connecting the right side to the computer. * **Physical reset button**: Briefly press the button on the back of the PCB * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From 6fa898698a39152bcb52ec6884d4472060b177e3 Mon Sep 17 00:00:00 2001 From: "Jacky@LAZYDESIGNERS" Date: Wed, 19 Feb 2025 15:45:27 +0800 Subject: [PATCH 3/3] Add support for lazydesigners/circe (#857) Add support for lazydesigners/circe --- keyboards/lazydesigners/circe/config.h | 26 ++++++ keyboards/lazydesigners/circe/info.json | 89 +++++++++++++++++++ .../circe/keymaps/default/keymap.c | 30 +++++++ .../lazydesigners/circe/keymaps/vial/config.h | 12 +++ .../lazydesigners/circe/keymaps/vial/keymap.c | 30 +++++++ .../lazydesigners/circe/keymaps/vial/rules.mk | 3 + .../circe/keymaps/vial/vial.json | 30 +++++++ keyboards/lazydesigners/circe/readme.md | 18 ++++ keyboards/lazydesigners/circe/rules.mk | 3 + 9 files changed, 241 insertions(+) create mode 100644 keyboards/lazydesigners/circe/config.h create mode 100644 keyboards/lazydesigners/circe/info.json create mode 100644 keyboards/lazydesigners/circe/keymaps/default/keymap.c create mode 100644 keyboards/lazydesigners/circe/keymaps/vial/config.h create mode 100644 keyboards/lazydesigners/circe/keymaps/vial/keymap.c create mode 100644 keyboards/lazydesigners/circe/keymaps/vial/rules.mk create mode 100644 keyboards/lazydesigners/circe/keymaps/vial/vial.json create mode 100644 keyboards/lazydesigners/circe/readme.md create mode 100644 keyboards/lazydesigners/circe/rules.mk diff --git a/keyboards/lazydesigners/circe/config.h b/keyboards/lazydesigners/circe/config.h new file mode 100644 index 0000000000..a809ea8b4c --- /dev/null +++ b/keyboards/lazydesigners/circe/config.h @@ -0,0 +1,26 @@ +#pragma once + +#define WS2812_DI_PIN A13 + +#ifdef WS2812_DI_PIN +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + + +#define RGBLIGHT_SLEEP +#define RGBLED_NUM 5 +#define RGBLIGHT_DEFAULT_VAL 128 +#define RGBLIGHT_LIMIT_VAL 128 +/* #define RGBLIGHT_HUE_STEP 8 */ +/* #define RGBLIGHT_SAT_STEP 8 */ +/* #define RGBLIGHT_VAL_STEP 8 */ +#endif + diff --git a/keyboards/lazydesigners/circe/info.json b/keyboards/lazydesigners/circe/info.json new file mode 100644 index 0000000000..fb18aa263b --- /dev/null +++ b/keyboards/lazydesigners/circe/info.json @@ -0,0 +1,89 @@ +{ + "keyboard_name": "Circe", + "manufacturer": "lazydesigners", + "url": "http://lazydesigners.cn", + "maintainer": "lazydesigners", + "usb": { + "vid": "0x4C44", + "pid": "0x0045", + "device_version": "0.0.1" + }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": [ "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "C15", "B8", "A14" ], + "rows": [ "B13", "B12", "F0", "B9"] + }, + "features": { + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1, "y":0}, + {"matrix": [0, 2], "x":2, "y":0}, + {"matrix": [0, 3], "x":3, "y":0}, + {"matrix": [0, 4], "x":4, "y":0}, + {"matrix": [0, 5], "x":5, "y":0}, + {"matrix": [0, 6], "x":6, "y":0}, + {"matrix": [0, 7], "x":7, "y":0}, + {"matrix": [0, 8], "x":8, "y":0}, + {"matrix": [0, 9], "x":9, "y":0}, + {"matrix": [0,10], "x":10, "y":0}, + {"matrix": [0,11], "x":11, "y":0, "w":1.5}, + {"matrix": [0,12], "x":12.75, "y":0}, + {"matrix": [1,12], "x":13.75, "y":0}, + + {"matrix": [1, 0], "x":0, "y":1, "w":1.25}, + {"matrix": [1, 1], "x":1.25, "y":1}, + {"matrix": [1, 2], "x":2.25, "y":1}, + {"matrix": [1, 3], "x":3.25, "y":1}, + {"matrix": [1, 4], "x":4.25, "y":1}, + {"matrix": [1, 5], "x":5.25, "y":1}, + {"matrix": [1, 6], "x":6.25, "y":1}, + {"matrix": [1, 7], "x":7.25, "y":1}, + {"matrix": [1, 8], "x":8.25, "y":1}, + {"matrix": [1, 9], "x":9.25, "y":1}, + {"matrix": [1,10], "x":10.25, "y":1}, + {"matrix": [1,11], "x":11.25, "y":1, "w":1.25}, + + {"matrix": [2, 0], "x":0, "y":2, "w":1.25}, + {"matrix": [2, 1], "x":1.75, "y":2}, + {"matrix": [2, 2], "x":2.75, "y":2}, + {"matrix": [2, 3], "x":3.75, "y":2}, + {"matrix": [2, 4], "x":4.75, "y":2}, + {"matrix": [2, 5], "x":5.75, "y":2}, + {"matrix": [2, 6], "x":6.75, "y":2}, + {"matrix": [2, 7], "x":7.75, "y":2}, + {"matrix": [2, 8], "x":8.75, "y":2}, + {"matrix": [2, 9], "x":9.75, "y":2}, + {"matrix": [2,10], "x":9.75, "y":2}, + {"matrix": [2,11], "x":10.75, "y":2, "w":1.25}, + {"matrix": [2,12], "x":12.75, "y":2}, + + {"matrix": [3, 0], "x":0, "y":3, "w":1.25}, + {"matrix": [3, 1], "x":1.25, "y":3, "w":1}, + {"matrix": [3, 2], "x":2.25, "y":3, "w":1}, + {"matrix": [3, 3], "x":3.25, "y":3, "w":1}, + {"matrix": [3, 4], "x":4.25, "y":3, "w":2}, + {"matrix": [3, 5], "x":6.25, "y":3, "w":2}, + {"matrix": [3, 7], "x":8.25, "y":3, "w":1}, + {"matrix": [3, 8], "x":9.25, "y":3, "w":1}, + {"matrix": [3, 9], "x":10.25, "y":3, "w":1}, + {"matrix": [3,10], "x":11.75, "y":3}, + {"matrix": [3,11], "x":12.75, "y":3}, + {"matrix": [3,12], "x":13.75, "y":3} + + ] + } + } +} diff --git a/keyboards/lazydesigners/circe/keymaps/default/keymap.c b/keyboards/lazydesigners/circe/keymaps/default/keymap.c new file mode 100644 index 0000000000..7067ed958d --- /dev/null +++ b/keyboards/lazydesigners/circe/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +// Copyright 2024 LAZDESIGNERS +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define LT1_SPC LT(1, KC_SPC) + +// For testing only +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH, MO(2), KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_NO, KC_SPC, LT1_SPC, KC_NO, KC_LEFT, KC_DOWN, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ), + [2] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ), +}; + + diff --git a/keyboards/lazydesigners/circe/keymaps/vial/config.h b/keyboards/lazydesigners/circe/keymaps/vial/config.h new file mode 100644 index 0000000000..7d38b01748 --- /dev/null +++ b/keyboards/lazydesigners/circe/keymaps/vial/config.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0xC9, 0x6D, 0x94, 0xB7, 0x74, 0x64, 0x1B, 0x2A} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 1 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 12 } + +#define VIAL_COMBO_ENTRIES 32 +#define VIAL_TAP_DANCE_ENTRIES 32 +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/lazydesigners/circe/keymaps/vial/keymap.c b/keyboards/lazydesigners/circe/keymaps/vial/keymap.c new file mode 100644 index 0000000000..7067ed958d --- /dev/null +++ b/keyboards/lazydesigners/circe/keymaps/vial/keymap.c @@ -0,0 +1,30 @@ +// Copyright 2024 LAZDESIGNERS +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define LT1_SPC LT(1, KC_SPC) + +// For testing only +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH, MO(2), KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_NO, KC_SPC, LT1_SPC, KC_NO, KC_LEFT, KC_DOWN, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ), + [2] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ), +}; + + diff --git a/keyboards/lazydesigners/circe/keymaps/vial/rules.mk b/keyboards/lazydesigners/circe/keymaps/vial/rules.mk new file mode 100644 index 0000000000..c8b47d5fb5 --- /dev/null +++ b/keyboards/lazydesigners/circe/keymaps/vial/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes + diff --git a/keyboards/lazydesigners/circe/keymaps/vial/vial.json b/keyboards/lazydesigners/circe/keymaps/vial/vial.json new file mode 100644 index 0000000000..13fede7886 --- /dev/null +++ b/keyboards/lazydesigners/circe/keymaps/vial/vial.json @@ -0,0 +1,30 @@ +{ + "lighting": "qmk_rgblight", + "matrix": {"rows": 4, "cols": 13}, + "layouts": { + "labels": + [ + ["Style", "Staggered","Ortho"], + ["Bottom Row", "Staggered Split", "Staggered Longbar","Ortho Split"] + ], + "keymap": + [ + [ + "0,0\n\n\n0,0","0,1\n\n\n0,0","0,2\n\n\n0,0","0,3\n\n\n0,0","0,4\n\n\n0,0","0,5\n\n\n0,0","0,6\n\n\n0,0","0,7\n\n\n0,0","0,8\n\n\n0,0","0,9\n\n\n0,0","0,10\n\n\n0,0",{"w":1.5},"0,11\n\n\n0,0",{"x":0.25},"0,12\n\n\n0,0","1,12\n\n\n0,0", + {"x":-1,"w":1.25},"0,0\n\n\n0,1","0,1\n\n\n0,1","0,2\n\n\n0,1","0,3\n\n\n0,1","0,4\n\n\n0,1","0,5\n\n\n0,1","0,6\n\n\n0,1","0,7\n\n\n0,1","0,8\n\n\n0,1","0,9\n\n\n0,1","0,10\n\n\n0,1",{"w":1.25},"0,11\n\n\n0,1",{"x":0.25},"0,12\n\n\n0,1","1,12\n\n\n0,1" + ], + [ + {"w":1.25},"1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9","1,10",{"w":1.25},"1,11" + ], + [ + {"w":1.75},"2,0\n\n\n0,0","2,1\n\n\n0,0","2,2\n\n\n0,0","2,3\n\n\n0,0","2,4\n\n\n0,0","2,5\n\n\n0,0","2,6\n\n\n0,0","2,7\n\n\n0,0","2,8\n\n\n0,0","2,9\n\n\n0,0",{"w":1.75},"2,11\n\n\n0,0", {"x":0.25},"2,12\n\n\n0,0", + {"w":1.25},"2,0\n\n\n0,1","2,1\n\n\n0,1","2,2\n\n\n0,1","2,3\n\n\n0,1","2,4\n\n\n0,1","2,5\n\n\n0,1","2,6\n\n\n0,1","2,7\n\n\n0,1","2,8\n\n\n0,1","2,9\n\n\n0,1","2,10\n\n\n0,1",{"w":1.25},"2,11\n\n\n0,1",{"x":0.25},"2,12\n\n\n0,1" + ], + [ + {"w":1.25},"3,0\n\n\n1,0",{"w":1.25},"3,1\n\n\n1,0",{"w":1.25},"3,2\n\n\n1,0",{"w":2.25},"3,4\n\n\n1,0",{"w":2.75},"3,5\n\n\n1,0",{"w":1.25},"3,8\n\n\n1,0",{"w":1.25},"3,9\n\n\n1,0",{"x":0.5},"3,10\n\n\n1,0","3,11\n\n\n1,0","3,12\n\n\n1,0", + {"w":1.25},"3,0\n\n\n1,1",{"w":1.25},"3,1\n\n\n1,1",{"w":6.25},"3,5\n\n\n1,1",{"w":1.25},"3,8\n\n\n1,1",{"w":1.25},"3,9\n\n\n1,1",{"x":0.5},"3,10\n\n\n1,1","3,11\n\n\n1,1","3,12\n\n\n1,1", + {"w":1.25},"3,0\n\n\n1,2","3,1\n\n\n1,2","3,2\n\n\n1,2","3,3\n\n\n1,2",{"w":2},"3,4\n\n\n1,2",{"w":2},"3,5\n\n\n1,2","3,7\n\n\n1,2","3,8\n\n\n1,2","3,9\n\n\n1,2",{"x":0.5},"3,10\n\n\n1,2","3,11\n\n\n1,2","3,12\n\n\n1,2" + ] + ] + } + } \ No newline at end of file diff --git a/keyboards/lazydesigners/circe/readme.md b/keyboards/lazydesigners/circe/readme.md new file mode 100644 index 0000000000..052fc1f988 --- /dev/null +++ b/keyboards/lazydesigners/circe/readme.md @@ -0,0 +1,18 @@ +# Circe + +A keyboard designed and produced in 2024 by [LAZYDESIGNERS](http://lazydesigners.cn). + +* Keyboard Maintainer: [LAZYDESIGNERS](https://github.com/jackytrabbit) +* Hardware Supported: Circe +* Hardware Availability: Check [LAZYDESIGNERS's homepage.](http://lazydesigners.cn) + +Make example for this keyboard (after setting up your vial build environment): + + make lazydesigners/circe:vial + +Flashing example for this keyboard: + + make lazydesigners/circe:vial:flash + +**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the RESET button on the FN layer. + diff --git a/keyboards/lazydesigners/circe/rules.mk b/keyboards/lazydesigners/circe/rules.mk new file mode 100644 index 0000000000..b50f2ea65e --- /dev/null +++ b/keyboards/lazydesigners/circe/rules.mk @@ -0,0 +1,3 @@ +RGBLIGHT_ENABLE = yes +RGBLIGHT_DRIVER = ws2812 +