diff --git a/keyboards/5x6_split/config.h b/keyboards/5x6_split/config.h deleted file mode 100644 index 57c422b3485..00000000000 --- a/keyboards/5x6_split/config.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -//#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -//#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U - -#define SERIAL_USART_FULL_DUPLEX - -#define SERIAL_USART_TX_PIN GP0 -#define SERIAL_USART_RX_PIN GP1 -//#define SERIAL_USART_DRIVER SIO0 - -#define MASTER_RIGHT - -//#define SERIAL_DEBUG - -#define SPLIT_WATCHDOG_ENABLE -#define SPLIT_WATCHDOG_TIMEOUT 3000 diff --git a/keyboards/5x6_split/keymaps/default/keymap.c b/keyboards/5x6_split/keymaps/default/keymap.c deleted file mode 100644 index 51be48c742b..00000000000 --- a/keyboards/5x6_split/keymaps/default/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright 2021 beanaccle - * - * 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 -#include "keymap_swedish.h" - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _NUM, - _SYM -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_BASE] = LAYOUT( - KC_ESC, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_PLUS, - KC_ESC, SE_Q, SE_W, SE_F, SE_P, SE_G, SE_J, SE_L, SE_U, SE_Y, SE_ODIA, SE_ARNG, - KC_BSPC, SE_A, SE_R, SE_S, SE_T, SE_D, SE_H, SE_N, SE_E, SE_I, SE_O, SE_ADIA, - KC_LSFT, SE_Z, SE_X, SE_C, SE_V, SE_B, SE_K, SE_M, SE_COMM, SE_DOT, SE_MINS, KC_LSFT, - KC_LCTL, LCTL(KC_LSFT), KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_ENT, KC_LGUI, LCTL(KC_LSFT), KC_LCTL - ), - [_NUM] = LAYOUT( - KC_ESC, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_PLUS, - KC_TAB, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_PLUS, - KC_TRNS, KC_TRNS, KC_LEFT , KC_UP, KC_DOWN, KC_RIGHT, KC_HOME, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, KC_F12, - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [_SYM] = LAYOUT( - KC_ESC, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_PLUS, - KC_DEL, SE_EXLM, SE_AT, SE_DLR, SE_TILD, SE_CIRC, SE_LCBR, SE_LBRC, SE_RBRC, SE_RCBR, SE_LABK, KC_TRNS, - KC_TRNS, KC_TRNS, SE_DQUO, SE_HASH, SE_PERC, SE_QUOT, SE_SLSH, SE_LPRN, SE_RPRN, SE_EQL, SE_RABK, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SE_ASTR, SE_BSLS, SE_GRV, KC_TRNS, KC_TRNS, KC_TRNS, SE_AMPR, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, SE_PIPE - ) -}; diff --git a/keyboards/5x6_split/rev1/config.h b/keyboards/5x6_split/rev1/config.h new file mode 100644 index 00000000000..0797edb1439 --- /dev/null +++ b/keyboards/5x6_split/rev1/config.h @@ -0,0 +1,23 @@ +/* Copyright 2025 Zackarias Montell (@Wholteza) + * + * 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 GP0 +#define SERIAL_USART_RX_PIN GP1 + +#define MASTER_RIGHT diff --git a/keyboards/5x6_split/keyboard.json b/keyboards/5x6_split/rev1/keyboard.json similarity index 88% rename from keyboards/5x6_split/keyboard.json rename to keyboards/5x6_split/rev1/keyboard.json index 9eb42abae5f..849baeef9b8 100644 --- a/keyboards/5x6_split/keyboard.json +++ b/keyboards/5x6_split/rev1/keyboard.json @@ -1,9 +1,9 @@ { - "manufacturer": "wholteza", + "manufacturer": "zacke.dev", "keyboard_name": "5x6_split", - "maintainer": "wholteza", + "maintainer": "Wholteza", + "board": "GENERIC_RP_RP2040", "bootloader": "rp2040", - "processor": "RP2040", "diode_direction": "COL2ROW", "features": { "bootmagic": true, @@ -15,22 +15,31 @@ "cols": ["GP16", "GP17", "GP18", "GP19", "GP20", "GP21"], "rows": ["GP15", "GP14", "GP13", "GP12", "GP11"] }, + "processor": "RP2040", "split": { "enabled": true, - "main": "right", "matrix_pins": { "right": { "cols": ["GP10", "GP11", "GP12", "GP13", "GP14", "GP15"], "rows": ["GP16", "GP17", "GP18", "GP19", "GP20"] - }, + } + }, + "serial": { + "driver": "vendor" + }, + "transport": { + "protocol": "serial", + "watchdog": true, + "watchdog_timeout": 3000 }, "usb_detect": { - "enabled": true, + "enabled": true } }, + "url": "https://git.zacke.dev/wholteza/5x6-split-kb/src/branch/main/rev1", "usb": { "device_version": "1.0.0", - "pid": "0x1234", + "pid": "0x0057", "vid": "0xFEED" }, "layouts": { @@ -48,7 +57,6 @@ {"matrix": [5, 3], "x": 9, "y": 0}, {"matrix": [5, 4], "x": 10, "y": 0}, {"matrix": [5, 5], "x": 11, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, @@ -61,7 +69,6 @@ {"matrix": [6, 3], "x": 9, "y": 1}, {"matrix": [6, 4], "x": 10, "y": 1}, {"matrix": [6, 5], "x": 11, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, @@ -74,7 +81,6 @@ {"matrix": [7, 3], "x": 9, "y": 2}, {"matrix": [7, 4], "x": 10, "y": 2}, {"matrix": [7, 5], "x": 11, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, {"matrix": [3, 1], "x": 1, "y": 3}, {"matrix": [3, 2], "x": 2, "y": 3}, @@ -87,7 +93,6 @@ {"matrix": [8, 3], "x": 9, "y": 3}, {"matrix": [8, 4], "x": 10, "y": 3}, {"matrix": [8, 5], "x": 11, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4}, {"matrix": [4, 1], "x": 1, "y": 4}, {"matrix": [4, 2], "x": 2, "y": 4}, @@ -99,7 +104,7 @@ {"matrix": [9, 2], "x": 8, "y": 4}, {"matrix": [9, 3], "x": 9, "y": 4}, {"matrix": [9, 4], "x": 10, "y": 4}, - {"matrix": [9, 5], "x": 11, "y": 4}, + {"matrix": [9, 5], "x": 11, "y": 4} ] } } diff --git a/keyboards/5x6_split/rev1/keymaps/default/keymap.c b/keyboards/5x6_split/rev1/keymaps/default/keymap.c new file mode 100644 index 00000000000..1b56c3434c1 --- /dev/null +++ b/keyboards/5x6_split/rev1/keymaps/default/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2025 Zackarias Montell (@Wholteza) + * + * 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 { + _BASE, + _NAV, + _SYM +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + 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_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 , + MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [_NAV] = LAYOUT( + 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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_SYM] = LAYOUT( + 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_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, + KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, QK_BOOT + ) +}; diff --git a/keyboards/5x6_split/readme.md b/keyboards/5x6_split/rev1/readme.md similarity index 50% rename from keyboards/5x6_split/readme.md rename to keyboards/5x6_split/rev1/readme.md index 0a5f300e25c..e9bcc94cac2 100644 --- a/keyboards/5x6_split/readme.md +++ b/keyboards/5x6_split/rev1/readme.md @@ -1,20 +1,24 @@ -# 5x6_split +# 5x6_split revision 1 -![5x6_split](imgur.com image replace me!) +![5x6_split-rev1](https://git.zacke.dev/wholteza/5x6-split-kb/raw/branch/main/rev1/images/assembled.jpeg) -*A short description of the keyboard/project* +**This is the first revision of the 5x6_split keyboard.** + +The 5x6_split is designed to be easily accessible, with openly and freely available hardware and firmware. It features a split layout to minimize the PCB footprint, reducing manufacturing costs. + +In the repository linked below (see the Hardware Availability section), you will find KiCad schematics, PCB designs, and 3D models for a printable chassis. * Keyboard Maintainer: [wholteza](https://github.com/wholteza) -* Hardware Supported: *The PCBs, controllers supported* -* Hardware Availability: *Links to where you can find this hardware* +* Hardware Supported: Raspberry Pi Pico, 5x6_split PCB, 5x6_split Chassis +* Hardware Availability: [PCB, Chassi 3d-models](https://git.zacke.dev/wholteza/5x6-split-kb/src/branch/main/rev1) Make example for this keyboard (after setting up your build environment): - make 5x6_split:default + make 5x6_split/rev1:default Flashing example for this keyboard: - make 5x6_split:default:flash + make 5x6_split/rev1:default: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). diff --git a/keyboards/5x6_split/rules.mk b/keyboards/5x6_split/rules.mk deleted file mode 100644 index 7cd74dd2aeb..00000000000 --- a/keyboards/5x6_split/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -SERIAL_DRIVER = vendor -SPLIT_KEYBOARD = yes -BOARD = GENERIC_RP_RP2040