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 <alexei.torgashov@yahoo.de>
This commit is contained in:
parent
1c129915f0
commit
f4cc9f4583
12 changed files with 724 additions and 0 deletions
24
keyboards/keebart/sofle_choc_pro/config.h
Normal file
24
keyboards/keebart/sofle_choc_pro/config.h
Normal file
|
|
@ -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
|
||||
5
keyboards/keebart/sofle_choc_pro/halconf.h
Normal file
5
keyboards/keebart/sofle_choc_pro/halconf.h
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C TRUE
|
||||
|
||||
#include_next <halconf.h>
|
||||
259
keyboards/keebart/sofle_choc_pro/keyboard.json
Normal file
259
keyboards/keebart/sofle_choc_pro/keyboard.json
Normal file
|
|
@ -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}
|
||||
]
|
||||
}
|
||||
}
|
||||
36
keyboards/keebart/sofle_choc_pro/keymaps/default/keymap.c
Normal file
36
keyboards/keebart/sofle_choc_pro/keymaps/default/keymap.c
Normal file
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
ENCODER_MAP_ENABLE = yes
|
||||
9
keyboards/keebart/sofle_choc_pro/keymaps/vial/config.h
Normal file
9
keyboards/keebart/sofle_choc_pro/keymaps/vial/config.h
Normal file
|
|
@ -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
|
||||
29
keyboards/keebart/sofle_choc_pro/keymaps/vial/keymap.c
Normal file
29
keyboards/keebart/sofle_choc_pro/keymaps/vial/keymap.c
Normal file
|
|
@ -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
|
||||
6
keyboards/keebart/sofle_choc_pro/keymaps/vial/rules.mk
Normal file
6
keyboards/keebart/sofle_choc_pro/keymaps/vial/rules.mk
Normal file
|
|
@ -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
|
||||
318
keyboards/keebart/sofle_choc_pro/keymaps/vial/vial.json
Normal file
318
keyboards/keebart/sofle_choc_pro/keymaps/vial/vial.json
Normal file
|
|
@ -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"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
6
keyboards/keebart/sofle_choc_pro/mcuconf.h
Normal file
6
keyboards/keebart/sofle_choc_pro/mcuconf.h
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef RP_I2C_USE_I2C1
|
||||
#define RP_I2C_USE_I2C1 TRUE
|
||||
30
keyboards/keebart/sofle_choc_pro/readme.md
Normal file
30
keyboards/keebart/sofle_choc_pro/readme.md
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# Sofle Choc Pro
|
||||
|
||||

|
||||
|
||||
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
|
||||
1
keyboards/keebart/sofle_choc_pro/rules.mk
Normal file
1
keyboards/keebart/sofle_choc_pro/rules.mk
Normal file
|
|
@ -0,0 +1 @@
|
|||
SERIAL_DRIVER = vendor
|
||||
Loading…
Add table
Add a link
Reference in a new issue