mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-27 03:21:15 +00:00
Merge 6cea4dfbe9
into 36c3f4deba
This commit is contained in:
commit
935024d867
23
keyboards/5x6_split/rev1/config.h
Normal file
23
keyboards/5x6_split/rev1/config.h
Normal file
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define SERIAL_USART_FULL_DUPLEX
|
||||
|
||||
#define SERIAL_USART_TX_PIN GP0
|
||||
#define SERIAL_USART_RX_PIN GP1
|
||||
|
||||
#define MASTER_RIGHT
|
110
keyboards/5x6_split/rev1/keyboard.json
Normal file
110
keyboards/5x6_split/rev1/keyboard.json
Normal file
@ -0,0 +1,110 @@
|
||||
{
|
||||
"manufacturer": "zacke.dev",
|
||||
"keyboard_name": "5x6_split",
|
||||
"maintainer": "Wholteza",
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP16", "GP17", "GP18", "GP19", "GP20", "GP21"],
|
||||
"rows": ["GP15", "GP14", "GP13", "GP12", "GP11"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"matrix_pins": {
|
||||
"right": {
|
||||
"cols": ["GP10", "GP11", "GP12", "GP13", "GP14", "GP15"],
|
||||
"rows": ["GP16", "GP17", "GP18", "GP19", "GP20"]
|
||||
}
|
||||
},
|
||||
"serial": {
|
||||
"driver": "vendor"
|
||||
},
|
||||
"transport": {
|
||||
"watchdog": true,
|
||||
"watchdog_timeout": 3000
|
||||
},
|
||||
"usb_detect": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"url": "https://git.zacke.dev/wholteza/5x6-split-kb/src/branch/main/rev1",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0057",
|
||||
"vid": "0xFEED"
|
||||
},
|
||||
"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": [5, 0], "x": 6, "y": 0},
|
||||
{"matrix": [5, 1], "x": 7, "y": 0},
|
||||
{"matrix": [5, 2], "x": 8, "y": 0},
|
||||
{"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},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||
{"matrix": [6, 0], "x": 6, "y": 1},
|
||||
{"matrix": [6, 1], "x": 7, "y": 1},
|
||||
{"matrix": [6, 2], "x": 8, "y": 1},
|
||||
{"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},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5, "y": 2},
|
||||
{"matrix": [7, 0], "x": 6, "y": 2},
|
||||
{"matrix": [7, 1], "x": 7, "y": 2},
|
||||
{"matrix": [7, 2], "x": 8, "y": 2},
|
||||
{"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},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5, "y": 3},
|
||||
{"matrix": [8, 0], "x": 6, "y": 3},
|
||||
{"matrix": [8, 1], "x": 7, "y": 3},
|
||||
{"matrix": [8, 2], "x": 8, "y": 3},
|
||||
{"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},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4, "y": 4},
|
||||
{"matrix": [4, 5], "x": 5, "y": 4},
|
||||
{"matrix": [9, 0], "x": 6, "y": 4},
|
||||
{"matrix": [9, 1], "x": 7, "y": 4},
|
||||
{"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}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
46
keyboards/5x6_split/rev1/keymaps/default/keymap.c
Normal file
46
keyboards/5x6_split/rev1/keymaps/default/keymap.c
Normal file
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
_RAISE
|
||||
};
|
||||
|
||||
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
|
||||
),
|
||||
[_LOWER] = 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
|
||||
),
|
||||
[_RAISE] = 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
|
||||
)
|
||||
};
|
33
keyboards/5x6_split/rev1/readme.md
Normal file
33
keyboards/5x6_split/rev1/readme.md
Normal file
@ -0,0 +1,33 @@
|
||||
# 5x6_split revision 1
|
||||
|
||||

|
||||
|
||||
**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. Like the Ergodox, it allows you to keep your hands at shoulder width for a more natural typing posture, but without a thumb cluster, making it a better option for users who experience discomfort or limitations in their thumbs.
|
||||
|
||||
The keyboard is also designed with ergonomics in mind. Its low profile, measuring just 19.4 mm from the table to the top of the keycaps (including rubber feet), helps reduce wrist strain during extended use.
|
||||
|
||||
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: 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/rev1:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
Loading…
Reference in New Issue
Block a user