From 3d60409eab79338bf8d423941e48fa23e3cab49b Mon Sep 17 00:00:00 2001 From: ziptyze Date: Thu, 7 Sep 2023 10:11:55 -0400 Subject: [PATCH 01/10] add lets split v3 --- keyboards/ziptyze/lets_split_v3/config.h | 31 ++ keyboards/ziptyze/lets_split_v3/info.json | 297 ++++++++++++++++++ .../lets_split_v3/keymaps/default/keymap.c | 189 +++++++++++ .../lets_split_v3/keymaps/default/rules.mk | 0 .../lets_split_v3/keymaps/via/keymap.c | 45 +++ .../lets_split_v3/keymaps/via/rules.mk | 1 + keyboards/ziptyze/lets_split_v3/readme.md | 28 ++ keyboards/ziptyze/lets_split_v3/rules.mk | 2 + 8 files changed, 593 insertions(+) create mode 100644 keyboards/ziptyze/lets_split_v3/config.h create mode 100644 keyboards/ziptyze/lets_split_v3/info.json create mode 100644 keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c create mode 100644 keyboards/ziptyze/lets_split_v3/keymaps/default/rules.mk create mode 100644 keyboards/ziptyze/lets_split_v3/keymaps/via/keymap.c create mode 100644 keyboards/ziptyze/lets_split_v3/keymaps/via/rules.mk create mode 100644 keyboards/ziptyze/lets_split_v3/readme.md create mode 100644 keyboards/ziptyze/lets_split_v3/rules.mk diff --git a/keyboards/ziptyze/lets_split_v3/config.h b/keyboards/ziptyze/lets_split_v3/config.h new file mode 100644 index 000000000000..0587fd336969 --- /dev/null +++ b/keyboards/ziptyze/lets_split_v3/config.h @@ -0,0 +1,31 @@ +/* +Copyright 2023 ziptyze + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP16 +#define SERIAL_USART_RX_PIN GP17 +#define SERIAL_USART_PIN_SWAP + +#define RGBLED_NUM 126 +#define SPLIT_TRANSPORT_MIRROR +#define RGBLIGHT_SPLIT +#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_KEYPRESSES // reacts to keypresses +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/ziptyze/lets_split_v3/info.json b/keyboards/ziptyze/lets_split_v3/info.json new file mode 100644 index 000000000000..d65ea9e41fb0 --- /dev/null +++ b/keyboards/ziptyze/lets_split_v3/info.json @@ -0,0 +1,297 @@ +{ + "manufacturer": "ziptyze", + "keyboard_name": "Let's Split v3", + "maintainer": "ziptyze", + "board": "GENERIC_RP_RP2040", + "bootloader": "rp2040", + "processor": "RP2040", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "rgb_matrix": true + }, + "dynamic_keymap": { + "layer_count": 10 + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x6900", + "vid": "0x6F75" + }, + "matrix_pins": { + "direct": [ + ["GP25", "GP27", "GP28", "GP4", "GP5", "GP8"], + ["GP24", "GP26", "GP29", "GP3", "GP6", "GP9"], + ["GP23", "GP21", "GP18", "GP15", "GP12", "GP10"], + ["GP22", "GP20", "GP19", "GP14", "GP13", "GP11"] + ] + }, + "ws2812": { + "driver": "vendor", + "pin": "GP1" + }, + "community_layouts": ["ortho_4x12"], + "layouts": { + "LAYOUT_ortho_4x12": { + "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": [4, 0], "x": 7, "y": 0}, + {"matrix": [4, 1], "x": 8, "y": 0}, + {"matrix": [4, 2], "x": 9, "y": 0}, + {"matrix": [4, 3], "x": 10, "y": 0}, + {"matrix": [4, 4], "x": 11, "y": 0}, + {"matrix": [4, 5], "x": 12, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + + {"matrix": [5, 0], "x": 7, "y": 1}, + {"matrix": [5, 1], "x": 8, "y": 1}, + {"matrix": [5, 2], "x": 9, "y": 1}, + {"matrix": [5, 3], "x": 10, "y": 1}, + {"matrix": [5, 4], "x": 11, "y": 1}, + {"matrix": [5, 5], "x": 12, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + + {"matrix": [6, 0], "x": 7, "y": 2}, + {"matrix": [6, 1], "x": 8, "y": 2}, + {"matrix": [6, 2], "x": 9, "y": 2}, + {"matrix": [6, 3], "x": 10, "y": 2}, + {"matrix": [6, 4], "x": 11, "y": 2}, + {"matrix": [6, 5], "x": 12, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + + {"matrix": [7, 0], "x": 7, "y": 3}, + {"matrix": [7, 1], "x": 8, "y": 3}, + {"matrix": [7, 2], "x": 9, "y": 3}, + {"matrix": [7, 3], "x": 10, "y": 3}, + {"matrix": [7, 4], "x": 11, "y": 3}, + {"matrix": [7, 5], "x": 12, "y": 3} + ] + } + }, + "rgb_matrix": { + "driver": "WS2812", + "split_count": [63, 63], + "max_brightness": 200, + "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, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": 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 + }, + "layout": [ + { "flags": 2, "x": 62, "y": 1 }, + { "flags": 2, "x": 70, "y": 1 }, + { "flags": 2, "x": 79, "y": 1 }, + { "flags": 2, "x": 88, "y": 1 }, + { "flags": 2, "x": 98, "y": 1 }, + { "flags": 2, "x": 107, "y": 1 }, + { "flags": 2, "x": 111, "y": 4 }, + { "flags": 2, "x": 111, "y": 12 }, + + { "flags": 4, "matrix": [0, 5], "x": 103, "y": 8 }, + { "flags": 4, "matrix": [0, 4], "x": 84, "y": 8 }, + { "flags": 4, "matrix": [0, 3], "x": 65, "y": 8 }, + { "flags": 4, "matrix": [1, 3], "x": 65, "y": 24 }, + { "flags": 4, "matrix": [1, 4], "x": 84, "y": 24 }, + { "flags": 4, "matrix": [1, 5], "x": 103, "y": 24 }, + + { "flags": 2, "x": 111, "y": 20 }, + { "flags": 2, "x": 111, "y": 28 }, + { "flags": 2, "x": 111, "y": 36 }, + { "flags": 2, "x": 111, "y": 44 }, + + { "flags": 4, "matrix": [2, 5], "x": 103, "y": 40 }, + { "flags": 4, "matrix": [2, 4], "x": 84, "y": 40 }, + { "flags": 4, "matrix": [2, 3], "x": 65, "y": 40 }, + { "flags": 1, "matrix": [3, 3], "x": 65, "y": 56 }, + { "flags": 1, "matrix": [3, 4], "x": 84, "y": 56 }, + { "flags": 1, "matrix": [3, 5], "x": 103, "y": 56 }, + + { "flags": 2, "x": 111, "y": 52 }, + { "flags": 2, "x": 111, "y": 60 }, + { "flags": 2, "x": 107, "y": 63 }, + { "flags": 2, "x": 98, "y": 63 }, + { "flags": 2, "x": 88, "y": 63 }, + { "flags": 2, "x": 79, "y": 63 }, + { "flags": 2, "x": 70, "y": 63 }, + { "flags": 2, "x": 61, "y": 63 }, + { "flags": 2, "x": 51, "y": 63 }, + { "flags": 2, "x": 42, "y": 63 }, + { "flags": 2, "x": 33, "y": 63 }, + { "flags": 2, "x": 23, "y": 63 }, + { "flags": 2, "x": 14, "y": 63 }, + { "flags": 2, "x": 5, "y": 63 }, + { "flags": 2, "x": 1, "y": 60 }, + { "flags": 2, "x": 1, "y": 52 }, + + { "flags": 1, "matrix": [3, 0], "x": 9, "y": 56 }, + { "flags": 1, "matrix": [3, 1], "x": 28, "y": 56 }, + { "flags": 1, "matrix": [3, 2], "x": 47, "y": 56 }, + { "flags": 4, "matrix": [2, 2], "x": 47, "y": 40 }, + { "flags": 4, "matrix": [2, 1], "x": 28, "y": 40 }, + { "flags": 1, "matrix": [2, 0], "x": 9, "y": 40 }, + + { "flags": 2, "x": 1, "y": 44 }, + { "flags": 2, "x": 1, "y": 36 }, + { "flags": 2, "x": 1, "y": 28 }, + { "flags": 2, "x": 1, "y": 20 }, + + { "flags": 1, "matrix": [1, 0], "x": 9, "y": 24 }, + { "flags": 4, "matrix": [1, 1], "x": 28, "y": 24 }, + { "flags": 4, "matrix": [1, 2], "x": 47, "y": 24 }, + { "flags": 4, "matrix": [0, 2], "x": 47, "y": 8 }, + { "flags": 4, "matrix": [0, 1], "x": 28, "y": 8 }, + { "flags": 1, "matrix": [0, 0], "x": 9, "y": 8 }, + + { "flags": 2, "x": 1, "y": 12 }, + { "flags": 2, "x": 1, "y": 4 }, + { "flags": 2, "x": 5, "y": 1 }, + { "flags": 2, "x": 13, "y": 1 }, + { "flags": 2, "x": 28, "y": 1 }, + { "flags": 2, "x": 37, "y": 1 }, + { "flags": 2, "x": 47, "y": 1 }, + + + + + { "flags": 2, "x": 174, "y": 1 }, + { "flags": 2, "x": 182, "y": 1 }, + { "flags": 2, "x": 191, "y": 1 }, + { "flags": 2, "x": 200, "y": 1 }, + { "flags": 2, "x": 210, "y": 1 }, + { "flags": 2, "x": 219, "y": 1 }, + { "flags": 2, "x": 223, "y": 4 }, + { "flags": 2, "x": 223, "y": 12 }, + + { "flags": 1, "matrix": [4, 5], "x": 215, "y": 8 }, + { "flags": 4, "matrix": [4, 4], "x": 196, "y": 8 }, + { "flags": 4, "matrix": [4, 3], "x": 177, "y": 8 }, + { "flags": 4, "matrix": [5, 3], "x": 177, "y": 24 }, + { "flags": 4, "matrix": [5, 4], "x": 196, "y": 24 }, + { "flags": 1, "matrix": [5, 5], "x": 215, "y": 24 }, + + { "flags": 2, "x": 223, "y": 20 }, + { "flags": 2, "x": 223, "y": 28 }, + { "flags": 2, "x": 223, "y": 36 }, + { "flags": 2, "x": 223, "y": 44 }, + + { "flags": 1, "matrix": [6, 5], "x": 215, "y": 40 }, + { "flags": 4, "matrix": [6, 4], "x": 196, "y": 40 }, + { "flags": 4, "matrix": [6, 3], "x": 177, "y": 40 }, + { "flags": 1, "matrix": [7, 3], "x": 177, "y": 56 }, + { "flags": 1, "matrix": [7, 4], "x": 196, "y": 56 }, + { "flags": 1, "matrix": [7, 5], "x": 215, "y": 56 }, + + { "flags": 2, "x": 223, "y": 52 }, + { "flags": 2, "x": 223, "y": 60 }, + { "flags": 2, "x": 219, "y": 63 }, + { "flags": 2, "x": 210, "y": 63 }, + { "flags": 2, "x": 200, "y": 63 }, + { "flags": 2, "x": 191, "y": 63 }, + { "flags": 2, "x": 182, "y": 63 }, + { "flags": 2, "x": 173, "y": 63 }, + { "flags": 2, "x": 163, "y": 63 }, + { "flags": 2, "x": 154, "y": 63 }, + { "flags": 2, "x": 145, "y": 63 }, + { "flags": 2, "x": 135, "y": 63 }, + { "flags": 2, "x": 126, "y": 63 }, + { "flags": 2, "x": 117, "y": 63 }, + { "flags": 2, "x": 113, "y": 60 }, + { "flags": 2, "x": 113, "y": 52 }, + + { "flags": 1, "matrix": [7, 0], "x": 121, "y": 56 }, + { "flags": 1, "matrix": [7, 1], "x": 140, "y": 56 }, + { "flags": 1, "matrix": [7, 2], "x": 159, "y": 56 }, + { "flags": 4, "matrix": [6, 2], "x": 159, "y": 40 }, + { "flags": 4, "matrix": [6, 1], "x": 140, "y": 40 }, + { "flags": 4, "matrix": [6, 0], "x": 121, "y": 40 }, + + { "flags": 2, "x": 113, "y": 44 }, + { "flags": 2, "x": 113, "y": 36 }, + { "flags": 2, "x": 113, "y": 28 }, + { "flags": 2, "x": 113, "y": 20 }, + + { "flags": 4, "matrix": [5, 0], "x": 121, "y": 24 }, + { "flags": 4, "matrix": [5, 1], "x": 148, "y": 24 }, + { "flags": 4, "matrix": [5, 2], "x": 159, "y": 24 }, + { "flags": 4, "matrix": [4, 2], "x": 159, "y": 8 }, + { "flags": 4, "matrix": [4, 1], "x": 148, "y": 8 }, + { "flags": 4, "matrix": [4, 0], "x": 121, "y": 8 }, + + { "flags": 2, "x": 113, "y": 12 }, + { "flags": 2, "x": 113, "y": 4 }, + { "flags": 2, "x": 117, "y": 1 }, + { "flags": 2, "x": 140, "y": 1 }, + { "flags": 2, "x": 149, "y": 1 }, + { "flags": 2, "x": 159, "y": 1 } + ] + } +} diff --git a/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c b/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c new file mode 100644 index 000000000000..6ad78b9c041c --- /dev/null +++ b/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c @@ -0,0 +1,189 @@ +#include QMK_KEYBOARD_H + +enum layer_names { + _QWERTY, + _COLEMAK, + _DVORAK, + _LOWER, + _RAISE, + _ADJUST +}; + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + LOWER, + RAISE, + ADJUST, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_ortho_4x12( + 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_ESC, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = LAYOUT_ortho_4x12( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = LAYOUT_ortho_4x12( + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, + KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , + ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + BL_STEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_ortho_4x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_ortho_4x12( + _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + + +}; + +void persistent_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_DVORAK); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + break; + } + return true; +} diff --git a/keyboards/ziptyze/lets_split_v3/keymaps/default/rules.mk b/keyboards/ziptyze/lets_split_v3/keymaps/default/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/ziptyze/lets_split_v3/keymaps/via/keymap.c b/keyboards/ziptyze/lets_split_v3/keymaps/via/keymap.c new file mode 100644 index 000000000000..d640e1bf2349 --- /dev/null +++ b/keyboards/ziptyze/lets_split_v3/keymaps/via/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2020 Danny Nguyen +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x12( + 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_ESC, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [1] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + BL_STEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + [2] = LAYOUT_ortho_4x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + [3] = LAYOUT_ortho_4x12( + _______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/ziptyze/lets_split_v3/keymaps/via/rules.mk b/keyboards/ziptyze/lets_split_v3/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/ziptyze/lets_split_v3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/ziptyze/lets_split_v3/readme.md b/keyboards/ziptyze/lets_split_v3/readme.md new file mode 100644 index 000000000000..f328aa4205f5 --- /dev/null +++ b/keyboards/ziptyze/lets_split_v3/readme.md @@ -0,0 +1,28 @@ +Levinson +======== + +A split 40% split 4x12 ortholinear keyboard made and sold by Keebio. It's essentially a Let's Split with LED backlight support and 2u thumb key support. [More info at Keebio](https://keeb.io). + +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro, Elite-C +Hardware Availability: [Keebio](https://keeb.io) + +Make example for this keyboard (after setting up your build environment): + + make keebio/levinson/rev3:default + +Example of flashing this keyboard with Pro micro: + + make keebio/levinson/rev3:default:avrdude + +Example of flashing this keyboard with Elite-C: + +You'll need to add `BOOTLOADER = atmel-dfu` to your `rules.mk` to ensure that resetting the board works properly. + +Hold the reset button on the Elite-C board, or the reset button on the keyboard if already assembled, then release the button and run: + + make keebio/levinson/rev3:default:dfu + +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). + +A build guide for this keyboard can be found here: [Levinson Build Guide](https://docs.keeb.io) diff --git a/keyboards/ziptyze/lets_split_v3/rules.mk b/keyboards/ziptyze/lets_split_v3/rules.mk new file mode 100644 index 000000000000..95546c6ef58a --- /dev/null +++ b/keyboards/ziptyze/lets_split_v3/rules.mk @@ -0,0 +1,2 @@ +SPLIT_KEYBOARD = yes +SERIAL_DRIVER = vendor From 68064f361e0d6197fcee5f73a0f0608a069eb4c8 Mon Sep 17 00:00:00 2001 From: ziptyze Date: Fri, 22 Sep 2023 09:49:54 -0400 Subject: [PATCH 02/10] Update info.json --- keyboards/ziptyze/lets_split_v3/info.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/keyboards/ziptyze/lets_split_v3/info.json b/keyboards/ziptyze/lets_split_v3/info.json index d65ea9e41fb0..d1306ac1eb97 100644 --- a/keyboards/ziptyze/lets_split_v3/info.json +++ b/keyboards/ziptyze/lets_split_v3/info.json @@ -98,7 +98,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [63, 63], "max_brightness": 200, "animations": { @@ -291,7 +291,8 @@ { "flags": 2, "x": 117, "y": 1 }, { "flags": 2, "x": 140, "y": 1 }, { "flags": 2, "x": 149, "y": 1 }, - { "flags": 2, "x": 159, "y": 1 } + { "flags": 2, "x": 159, "y": 1 }, + { "flags": 2, "x": 169, "y": 1 } ] } } From 547e75d1f9de12c9482a16082dffcfb4ebceede8 Mon Sep 17 00:00:00 2001 From: ziptyze Date: Mon, 13 Nov 2023 17:51:26 -0500 Subject: [PATCH 03/10] Apply suggestions from code review Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/ziptyze/lets_split_v3/config.h | 4 +- .../lets_split_v3/keymaps/default/keymap.c | 48 +++---------------- keyboards/ziptyze/lets_split_v3/rules.mk | 1 - 3 files changed, 8 insertions(+), 45 deletions(-) diff --git a/keyboards/ziptyze/lets_split_v3/config.h b/keyboards/ziptyze/lets_split_v3/config.h index 0587fd336969..82e7a85c3aba 100644 --- a/keyboards/ziptyze/lets_split_v3/config.h +++ b/keyboards/ziptyze/lets_split_v3/config.h @@ -22,10 +22,8 @@ along with this program. If not, see . #define SERIAL_USART_RX_PIN GP17 #define SERIAL_USART_PIN_SWAP -#define RGBLED_NUM 126 #define SPLIT_TRANSPORT_MIRROR -#define RGBLIGHT_SPLIT -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 126 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c b/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c index 6ad78b9c041c..28494212effe 100644 --- a/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c +++ b/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c @@ -10,14 +10,13 @@ enum layer_names { }; enum custom_keycodes { - QWERTY = SAFE_RANGE, + QWERTY = QK_USER, COLEMAK, - DVORAK, - LOWER, - RAISE, - ADJUST, + DVORAK }; +#define ADJUST MO(_ADJUST) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty @@ -131,56 +130,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QWERTY: if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); + set_single_persistent_default_layer(_QWERTY); } return false; break; case COLEMAK: if (record->event.pressed) { - persistent_default_layer_set(1UL<<_COLEMAK); + set_single_persistent_default_layer(_COLEMAK); } return false; break; case DVORAK: if (record->event.pressed) { - persistent_default_layer_set(1UL<<_DVORAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); + set_single_persistent_default_layer(_DVORAK); } return false; break; diff --git a/keyboards/ziptyze/lets_split_v3/rules.mk b/keyboards/ziptyze/lets_split_v3/rules.mk index 95546c6ef58a..161ec22b16e2 100644 --- a/keyboards/ziptyze/lets_split_v3/rules.mk +++ b/keyboards/ziptyze/lets_split_v3/rules.mk @@ -1,2 +1 @@ -SPLIT_KEYBOARD = yes SERIAL_DRIVER = vendor From 36cb8b7755aa68c16c9921df370a6f9b14292671 Mon Sep 17 00:00:00 2001 From: ziptyze Date: Mon, 13 Nov 2023 18:06:19 -0500 Subject: [PATCH 04/10] updates --- .../lets_split_v3/keymaps/default/keymap.c | 17 ++++++++++ .../lets_split_v3/keymaps/default/rules.mk | 0 keyboards/ziptyze/lets_split_v3/readme.md | 32 +++++++++---------- 3 files changed, 32 insertions(+), 17 deletions(-) delete mode 100644 keyboards/ziptyze/lets_split_v3/keymaps/default/rules.mk diff --git a/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c b/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c index 28494212effe..4cf5050dd7ba 100644 --- a/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c +++ b/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c @@ -1,3 +1,20 @@ +/* Copyright 2023 ziptyze + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + #include QMK_KEYBOARD_H enum layer_names { diff --git a/keyboards/ziptyze/lets_split_v3/keymaps/default/rules.mk b/keyboards/ziptyze/lets_split_v3/keymaps/default/rules.mk deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/keyboards/ziptyze/lets_split_v3/readme.md b/keyboards/ziptyze/lets_split_v3/readme.md index f328aa4205f5..73794edfc393 100644 --- a/keyboards/ziptyze/lets_split_v3/readme.md +++ b/keyboards/ziptyze/lets_split_v3/readme.md @@ -1,28 +1,26 @@ -Levinson -======== +# Let's Split v3 -A split 40% split 4x12 ortholinear keyboard made and sold by Keebio. It's essentially a Let's Split with LED backlight support and 2u thumb key support. [More info at Keebio](https://keeb.io). +![Let's Split v3](https://i.imgur.com/ksZ64dK.jpg) -Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -Hardware Supported: Pro Micro, Elite-C -Hardware Availability: [Keebio](https://keeb.io) +Version 3 of the Let's Split keyboard, originally designed by Wootapatoot. This version features identical PCBs for both halves powered by an RP2040 controller. Each half features full hot swap capability as well as in-switch addressable LEDs and 39 1mm underglow LEDs. -Make example for this keyboard (after setting up your build environment): - - make keebio/levinson/rev3:default +Keyboard Maintainer: [ziptyze](https://github.com/ziptyze) +Hardware Supported: Let's Split v3 PCB +Hardware Availability: [1upkeyboards](https://1upkeyboards.com/shop/keyboard-kits/diy-40-kits/lets-split-v3/#choose-your-kit) -Example of flashing this keyboard with Pro micro: +Make example for this keyboard (after setting up your build environment): - make keebio/levinson/rev3:default:avrdude + make ziptyze/lets_split_v3:default -Example of flashing this keyboard with Elite-C: +Flashing example for this keyboard: -You'll need to add `BOOTLOADER = atmel-dfu` to your `rules.mk` to ensure that resetting the board works properly. + make ziptyze/lets_split_v3:default:flash -Hold the reset button on the Elite-C board, or the reset button on the keyboard if already assembled, then release the button and run: +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). - make keebio/levinson/rev3:default:dfu +## Bootloader -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). +Enter the bootloader in 2 ways: -A build guide for this keyboard can be found here: [Levinson Build Guide](https://docs.keeb.io) +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix, the top left key, and plug in the keyboard +* **BOOTSEL button**: Hold down the reset button on the PCB, and plug in the keyboard From 934ee31d720920796a143081ad6b044d4fb59ea2 Mon Sep 17 00:00:00 2001 From: ziptyze Date: Sun, 26 Nov 2023 20:49:11 -0500 Subject: [PATCH 05/10] Apply suggestions from code review Co-authored-by: Duncan Sutherland --- keyboards/ziptyze/lets_split_v3/config.h | 2 -- keyboards/ziptyze/lets_split_v3/info.json | 7 ++++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/keyboards/ziptyze/lets_split_v3/config.h b/keyboards/ziptyze/lets_split_v3/config.h index 82e7a85c3aba..217305a8083d 100644 --- a/keyboards/ziptyze/lets_split_v3/config.h +++ b/keyboards/ziptyze/lets_split_v3/config.h @@ -24,6 +24,4 @@ along with this program. If not, see . #define SPLIT_TRANSPORT_MIRROR #define RGB_MATRIX_LED_COUNT 126 -#define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/ziptyze/lets_split_v3/info.json b/keyboards/ziptyze/lets_split_v3/info.json index d1306ac1eb97..5af8bf1808ef 100644 --- a/keyboards/ziptyze/lets_split_v3/info.json +++ b/keyboards/ziptyze/lets_split_v3/info.json @@ -9,10 +9,8 @@ "bootmagic": true, "command": false, "console": false, - "encoder": false, "extrakey": true, "mousekey": true, - "nkro": false, "rgb_matrix": true }, "dynamic_keymap": { @@ -23,6 +21,9 @@ "pid": "0x6900", "vid": "0x6F75" }, + "split": { + "enabled": true + }, "matrix_pins": { "direct": [ ["GP25", "GP27", "GP28", "GP4", "GP5", "GP8"], @@ -293,6 +294,6 @@ { "flags": 2, "x": 149, "y": 1 }, { "flags": 2, "x": 159, "y": 1 }, { "flags": 2, "x": 169, "y": 1 } - ] + ] } } From bd7cd0d230d0c6a72de0cacc2fbb4fdfc03a1066 Mon Sep 17 00:00:00 2001 From: ziptyze Date: Sun, 26 Nov 2023 20:56:37 -0500 Subject: [PATCH 06/10] Update keymap.c --- .../lets_split_v3/keymaps/default/keymap.c | 207 ++++-------------- 1 file changed, 40 insertions(+), 167 deletions(-) diff --git a/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c b/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c index 4cf5050dd7ba..d640e1bf2349 100644 --- a/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c +++ b/keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c @@ -1,172 +1,45 @@ -/* Copyright 2023 ziptyze - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - +/* +Copyright 2020 Danny Nguyen +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ #include QMK_KEYBOARD_H -enum layer_names { - _QWERTY, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = QK_USER, - COLEMAK, - DVORAK -}; - -#define ADJUST MO(_ADJUST) - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT_ortho_4x12( - 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_ESC, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Colemak - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | R | S | T | D | H | N | E | I | O | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_COLEMAK] = LAYOUT_ortho_4x12( - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S | / | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_DVORAK] = LAYOUT_ortho_4x12( - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, - KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , - ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT_ortho_4x12( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - BL_STEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Raise - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT_ortho_4x12( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * | | Reset| | | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_ortho_4x12( - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) - - + [0] = LAYOUT_ortho_4x12( + 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_ESC, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [1] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + BL_STEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + [2] = LAYOUT_ortho_4x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + [3] = LAYOUT_ortho_4x12( + _______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - } - return true; -} From 672ac2761ca32571f0cbbc3e6025d2918e0a31d3 Mon Sep 17 00:00:00 2001 From: ziptyze Date: Tue, 12 Dec 2023 18:31:24 -0500 Subject: [PATCH 07/10] Update config.h Co-authored-by: Drashna Jaelre --- keyboards/ziptyze/lets_split_v3/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/ziptyze/lets_split_v3/config.h b/keyboards/ziptyze/lets_split_v3/config.h index 217305a8083d..4b08c907b0bc 100644 --- a/keyboards/ziptyze/lets_split_v3/config.h +++ b/keyboards/ziptyze/lets_split_v3/config.h @@ -23,5 +23,4 @@ along with this program. If not, see . #define SERIAL_USART_PIN_SWAP #define SPLIT_TRANSPORT_MIRROR -#define RGB_MATRIX_LED_COUNT 126 #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended From 1b0586703ee6db460ce925806326ae85c3b7f43d Mon Sep 17 00:00:00 2001 From: ziptyze Date: Sun, 17 Dec 2023 10:15:09 -0500 Subject: [PATCH 08/10] Apply suggestions from code review Co-authored-by: Drashna Jaelre --- keyboards/ziptyze/lets_split_v3/config.h | 2 -- keyboards/ziptyze/lets_split_v3/info.json | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/keyboards/ziptyze/lets_split_v3/config.h b/keyboards/ziptyze/lets_split_v3/config.h index 4b08c907b0bc..a4b5e40dcba8 100644 --- a/keyboards/ziptyze/lets_split_v3/config.h +++ b/keyboards/ziptyze/lets_split_v3/config.h @@ -22,5 +22,3 @@ along with this program. If not, see . #define SERIAL_USART_RX_PIN GP17 #define SERIAL_USART_PIN_SWAP -#define SPLIT_TRANSPORT_MIRROR -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/ziptyze/lets_split_v3/info.json b/keyboards/ziptyze/lets_split_v3/info.json index 5af8bf1808ef..3db80047568e 100644 --- a/keyboards/ziptyze/lets_split_v3/info.json +++ b/keyboards/ziptyze/lets_split_v3/info.json @@ -22,6 +22,11 @@ "vid": "0x6F75" }, "split": { + "transport": { + "sync": { + "matrix_state": true + } + }, "enabled": true }, "matrix_pins": { @@ -102,6 +107,7 @@ "driver": "ws2812", "split_count": [63, 63], "max_brightness": 200, + "sleep": true, "animations": { "alphas_mods": true, "gradient_up_down": true, From 9bc715d5c54f54f4a2a02463f3c75fa823b7246e Mon Sep 17 00:00:00 2001 From: ziptyze Date: Tue, 26 Dec 2023 11:21:53 -0500 Subject: [PATCH 09/10] Update keyboards/ziptyze/lets_split_v3/readme.md Co-authored-by: Ryan --- keyboards/ziptyze/lets_split_v3/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/ziptyze/lets_split_v3/readme.md b/keyboards/ziptyze/lets_split_v3/readme.md index 73794edfc393..b5f52c28d2aa 100644 --- a/keyboards/ziptyze/lets_split_v3/readme.md +++ b/keyboards/ziptyze/lets_split_v3/readme.md @@ -4,9 +4,9 @@ Version 3 of the Let's Split keyboard, originally designed by Wootapatoot. This version features identical PCBs for both halves powered by an RP2040 controller. Each half features full hot swap capability as well as in-switch addressable LEDs and 39 1mm underglow LEDs. -Keyboard Maintainer: [ziptyze](https://github.com/ziptyze) -Hardware Supported: Let's Split v3 PCB -Hardware Availability: [1upkeyboards](https://1upkeyboards.com/shop/keyboard-kits/diy-40-kits/lets-split-v3/#choose-your-kit) +* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze) +* Hardware Supported: Let's Split v3 PCB +* Hardware Availability: [1upkeyboards](https://1upkeyboards.com/shop/keyboard-kits/diy-40-kits/lets-split-v3/#choose-your-kit) Make example for this keyboard (after setting up your build environment): From daa75dce8480e10babf4d033dbad53d209617bae Mon Sep 17 00:00:00 2001 From: ziptyze Date: Tue, 26 Dec 2023 11:22:24 -0500 Subject: [PATCH 10/10] Update keyboards/ziptyze/lets_split_v3/readme.md Co-authored-by: Ryan --- keyboards/ziptyze/lets_split_v3/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ziptyze/lets_split_v3/readme.md b/keyboards/ziptyze/lets_split_v3/readme.md index b5f52c28d2aa..18b967d90577 100644 --- a/keyboards/ziptyze/lets_split_v3/readme.md +++ b/keyboards/ziptyze/lets_split_v3/readme.md @@ -1,6 +1,6 @@ # Let's Split v3 -![Let's Split v3](https://i.imgur.com/ksZ64dK.jpg) +![Let's Split v3](https://i.imgur.com/ksZ64dKh.jpg) Version 3 of the Let's Split keyboard, originally designed by Wootapatoot. This version features identical PCBs for both halves powered by an RP2040 controller. Each half features full hot swap capability as well as in-switch addressable LEDs and 39 1mm underglow LEDs.