From b1235baf42f08c3fdce1f6b7db9e528c5990de2e Mon Sep 17 00:00:00 2001 From: joliverMI <36174681+joliverMI@users.noreply.github.com> Date: Wed, 20 Mar 2024 10:52:20 -0400 Subject: [PATCH] [Keyboard] Add posey_split v4/v5 (#23258) * Created posey_split keyboards and included default keymaps. * Update keyboards/pmk/posey_split/posey_split_v4/config.h Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/pmk/posey_split/posey_split_v4/config.h Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/pmk/posey_split/posey_split_v4/info.json Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/pmk/posey_split/posey_split_v4/info.json Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/posey_split_v4/info.json Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/posey_split_v4/readme.md Co-authored-by: jack <0x6a73@protonmail.com> * Various cleanup updates per QMK maintainers on PR #23258 * removed config files from via keymaps * removed additional keyboard for PR. * changed folder structure per PR suggestion * Update keyboards/pmk/posey_split/v5/info.json Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v5/rules.mk Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v4/rules.mk Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v5/keymaps/VIA/keymap.c Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v5/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v4/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v4/keymaps/VIA/keymap.c Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v5/readme.md Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v4/readme.md Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v4/info.json Co-authored-by: Joel Challis * changed via folders to lowercase * cleaned up extra via files in wrong folder * Added better descriptions to keyboard projects and added hardware listing to v5 * Cleaned up keymap format * removed extra rules * Update keyboards/pmk/posey_split/v4/keymaps/via/keymap.c Co-authored-by: Joel Challis * Update keyboards/pmk/posey_split/v5/readme.md Co-authored-by: Joel Challis * removed "about" from readme on v4 * Removed title from readme --------- Co-authored-by: joliverMI Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Joel Challis --- keyboards/pmk/posey_split/config.h | 18 +++ keyboards/pmk/posey_split/v4/info.json | 145 ++++++++++++++++++ .../posey_split/v4/keymaps/default/keymap.c | 73 +++++++++ .../pmk/posey_split/v4/keymaps/via/keymap.c | 73 +++++++++ .../pmk/posey_split/v4/keymaps/via/rules.mk | 1 + keyboards/pmk/posey_split/v4/readme.md | 30 ++++ keyboards/pmk/posey_split/v4/rules.mk | 1 + keyboards/pmk/posey_split/v5/info.json | 145 ++++++++++++++++++ .../posey_split/v5/keymaps/default/keymap.c | 73 +++++++++ .../pmk/posey_split/v5/keymaps/via/keymap.c | 73 +++++++++ .../pmk/posey_split/v5/keymaps/via/rules.mk | 1 + keyboards/pmk/posey_split/v5/readme.md | 30 ++++ keyboards/pmk/posey_split/v5/rules.mk | 1 + 13 files changed, 664 insertions(+) create mode 100644 keyboards/pmk/posey_split/config.h create mode 100644 keyboards/pmk/posey_split/v4/info.json create mode 100644 keyboards/pmk/posey_split/v4/keymaps/default/keymap.c create mode 100644 keyboards/pmk/posey_split/v4/keymaps/via/keymap.c create mode 100644 keyboards/pmk/posey_split/v4/keymaps/via/rules.mk create mode 100644 keyboards/pmk/posey_split/v4/readme.md create mode 100644 keyboards/pmk/posey_split/v4/rules.mk create mode 100644 keyboards/pmk/posey_split/v5/info.json create mode 100644 keyboards/pmk/posey_split/v5/keymaps/default/keymap.c create mode 100644 keyboards/pmk/posey_split/v5/keymaps/via/keymap.c create mode 100644 keyboards/pmk/posey_split/v5/keymaps/via/rules.mk create mode 100644 keyboards/pmk/posey_split/v5/readme.md create mode 100644 keyboards/pmk/posey_split/v5/rules.mk diff --git a/keyboards/pmk/posey_split/config.h b/keyboards/pmk/posey_split/config.h new file mode 100644 index 0000000000..f115e5fc2c --- /dev/null +++ b/keyboards/pmk/posey_split/config.h @@ -0,0 +1,18 @@ +// Copyright 2023 Javier Oliver (@joliverMI) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/*Split keyboard configuration*/ +// Hardware Settings +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP1 +#define SERIAL_USART_RX_PIN GP0 + +// Communication Settings +#define FORCED_SYNC_THROTTLE_MS 1000 +#define SPLIT_MAX_CONNECTION_ERRORS 5 +#define SPLIT_CONNECTION_CHECK_TIMEOUT 2000 + +// RGB Configuration +#define RGBLIGHT_EFFECT_BREATHE_CENTER 2.0 //1.0 to 2.7 \ No newline at end of file diff --git a/keyboards/pmk/posey_split/v4/info.json b/keyboards/pmk/posey_split/v4/info.json new file mode 100644 index 0000000000..016c4d7122 --- /dev/null +++ b/keyboards/pmk/posey_split/v4/info.json @@ -0,0 +1,145 @@ +{ + "manufacturer": "Posey's Mechanical Keyboards", + "keyboard_name": "posey_split_v4", + "maintainer": "joliverMI", + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "rgblight": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], + "rows": ["GP10", "GP11", "GP12", "GP13", "GP14", "GP15"] + }, + "processor": "RP2040", + "ws2812": { + "pin": "GP17", + "driver": "vendor" + }, + "rgblight": { + "animations": { + "breathing": true + }, + "layers": { + "enabled": true, + "max": 4 + }, + "led_count": 1, + "sleep": true, + "split": true, + "split_count": [1, 0] + }, + "split": { + "enabled": true, + "handedness": { + "pin": "GP18" + } + }, + "tags": ["split"], + "url": "poseysmechanicalkeyboards.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0003", + "vid": "0x4A4F" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "LED", "x": 1, "y": 0}, + {"matrix": [0, 2], "label": "F1", "x": 2, "y": 0}, + {"matrix": [0, 3], "label": "F2", "x": 3, "y": 0}, + {"matrix": [0, 4], "label": "F3", "x": 4, "y": 0}, + {"matrix": [0, 5], "label": "F4", "x": 5, "y": 0}, + {"matrix": [0, 6], "label": "F5", "x": 6, "y": 0}, + {"matrix": [0, 7], "label": "F6", "x": 7, "y": 0}, + {"matrix": [6, 0], "label": "Layer", "x": 9.294, "y": 0}, + {"matrix": [6, 1], "label": "F7", "x": 10.294, "y": 0}, + {"matrix": [6, 2], "label": "F8", "x": 11.294, "y": 0}, + {"matrix": [6, 3], "label": "F9", "x": 12.294, "y": 0}, + {"matrix": [6, 4], "label": "F10", "x": 13.294, "y": 0}, + {"matrix": [6, 5], "label": "F11", "x": 14.294, "y": 0}, + {"matrix": [6, 6], "label": "Pause", "x": 15.294, "y": 0}, + {"matrix": [6, 7], "label": "Delete", "x": 16.294, "y": 0}, + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1}, + {"matrix": [1, 1], "label": "1", "x": 1, "y": 1}, + {"matrix": [1, 2], "label": "2", "x": 2, "y": 1}, + {"matrix": [1, 3], "label": "3", "x": 3, "y": 1}, + {"matrix": [1, 4], "label": "4", "x": 4, "y": 1}, + {"matrix": [1, 5], "label": "5", "x": 5, "y": 1}, + {"matrix": [1, 6], "label": "6", "x": 6, "y": 1}, + {"matrix": [1, 7], "label": "7", "x": 7, "y": 1}, + {"matrix": [7, 0], "label": "&", "x": 9.294, "y": 1}, + {"matrix": [7, 1], "label": "*", "x": 10.294, "y": 1}, + {"matrix": [7, 2], "label": "(", "x": 11.294, "y": 1}, + {"matrix": [7, 3], "label": ")", "x": 12.294, "y": 1}, + {"matrix": [7, 4], "label": "_", "x": 13.294, "y": 1}, + {"matrix": [7, 5], "label": "+", "x": 14.294, "y": 1}, + {"matrix": [7, 6], "label": "Backspace", "x": 15.294, "y": 1, "w": 2}, + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2}, + {"matrix": [8, 0], "label": "Y", "x": 8.794, "y": 2}, + {"matrix": [8, 1], "label": "U", "x": 9.794, "y": 2}, + {"matrix": [8, 2], "label": "I", "x": 10.794, "y": 2}, + {"matrix": [8, 3], "label": "O", "x": 11.794, "y": 2}, + {"matrix": [8, 4], "label": "P", "x": 12.794, "y": 2}, + {"matrix": [8, 5], "label": "{", "x": 13.794, "y": 2}, + {"matrix": [8, 6], "label": "}", "x": 14.794, "y": 2}, + {"matrix": [8, 7], "label": "|", "x": 15.794, "y": 2, "w": 1.5}, + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3}, + {"matrix": [9, 0], "label": "H", "x": 9.044, "y": 3}, + {"matrix": [9, 1], "label": "J", "x": 10.044, "y": 3}, + {"matrix": [9, 2], "label": "K", "x": 11.044, "y": 3}, + {"matrix": [9, 3], "label": "L", "x": 12.044, "y": 3}, + {"matrix": [9, 4], "label": ":", "x": 13.044, "y": 3}, + {"matrix": [9, 5], "label": "\"", "x": 14.044, "y": 3}, + {"matrix": [9, 6], "label": "Enter", "x": 15.044, "y": 3, "w": 2.25}, + {"matrix": [4, 0], "label": "Shift", "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 1], "label": "Z", "x": 2.25, "y": 4}, + {"matrix": [4, 2], "label": "X", "x": 3.25, "y": 4}, + {"matrix": [4, 3], "label": "C", "x": 4.25, "y": 4}, + {"matrix": [4, 4], "label": "V", "x": 5.25, "y": 4}, + {"matrix": [4, 5], "label": "B", "x": 6.25, "y": 4}, + {"matrix": [4, 6], "label": "N", "x": 7.25, "y": 4}, + {"matrix": [10, 0], "label": "B", "x": 8.544, "y": 4}, + {"matrix": [10, 1], "label": "N", "x": 9.544, "y": 4}, + {"matrix": [10, 2], "label": "M", "x": 10.544, "y": 4}, + {"matrix": [10, 3], "label": "<", "x": 11.544, "y": 4}, + {"matrix": [10, 4], "label": ">", "x": 12.544, "y": 4}, + {"matrix": [10, 5], "label": "?", "x": 13.544, "y": 4}, + {"matrix": [10, 6], "label": "Shift", "x": 14.544, "y": 4, "w": 2.75}, + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "label": "L2", "x": 3.5, "y": 5, "w": 1.25}, + {"matrix": [5, 6], "label": "Space", "x": 5.5, "y": 5, "w": 2.75}, + {"matrix": [11, 1], "label": "Space", "x": 8.794, "y": 5, "w": 2.25}, + {"matrix": [11, 2], "label": "Space", "x": 11.044, "y": 5, "w": 1.25}, + {"matrix": [11, 3], "label": "L2", "x": 12.294, "y": 5, "w": 1.25}, + {"matrix": [11, 4], "label": "Win", "x": 13.544, "y": 5, "w": 1.25}, + {"matrix": [11, 5], "label": "Menu", "x": 14.794, "y": 5, "w": 1.25}, + {"matrix": [11, 7], "label": "Ctrl", "x": 16.044, "y": 5, "w": 1.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/pmk/posey_split/v4/keymaps/default/keymap.c b/keyboards/pmk/posey_split/v4/keymaps/default/keymap.c new file mode 100644 index 0000000000..3a607c0296 --- /dev/null +++ b/keyboards/pmk/posey_split/v4/keymaps/default/keymap.c @@ -0,0 +1,73 @@ +// Copyright 2024 Javier Oliver (@joliverMI) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum my_layers { + _QWERTY, + _NAV, + _SYMB, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│LED│F1 │F2 │F3 │F4 │F5 │F6 │ │L1 │F7 │F8 │F9 │F10│F11│PAS│Del│ 16 + * ├───┼───┼───┼───┼───┼───┼───┴───┤ ├───┴───┼───┼───┼───┼───┼───┴───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ │7 │8 │ 9 │ 0 │ - │ = │ Backsp│ 15 + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ 15 + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ │ H │J │ K │ L │ ; │ ' │ Enter │ 14 + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ │ B │ N │ M │ , │ . │ / │ Shift │ 14 + * ├────┬───┴┬──┴┬──┴───┴┬──┴───┴───┤ └┬──┴───┴─┬─┴──┬┴───┴───┴┬─────────┤ + * │Ctrl│GUI │L2 │Alt │ │ │ | L3 │ Alt│ GUI│Menu│Ctrl│ 11 + * └────┴────┴───┴───────┴──────────┘ └────────┴────┴────┴────┴────┴────┘ + */ + [_QWERTY] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_ESC, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MO(_SYMB), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BACKSPACE, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────────────┤ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_LCTL, KC_LGUI, MO(_NAV), KC_LALT, KC_SPC, KC_SPC, MO(_NAV), KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ), + [_NAV] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_SYMB), KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ), + [_SYMB] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_ESC, KC_TRNS, KC_TRNS, KC_F12, KC_F13, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DT_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DT_PRNT, DT_DOWN, KC_SLEP + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ) +}; diff --git a/keyboards/pmk/posey_split/v4/keymaps/via/keymap.c b/keyboards/pmk/posey_split/v4/keymaps/via/keymap.c new file mode 100644 index 0000000000..ffe726ead7 --- /dev/null +++ b/keyboards/pmk/posey_split/v4/keymaps/via/keymap.c @@ -0,0 +1,73 @@ +// Copyright 2024 Javier Oliver (@joliverMI) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum my_layers { + _QWERTY, + _NAV, + _SYMB, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│LED│F1 │F2 │F3 │F4 │F5 │F6 │ │L1 │F7 │F8 │F9 │F10│F11│PAS│Del│ 16 + * ├───┼───┼───┼───┼───┼───┼───┴───┤ ├───┴───┼───┼───┼───┼───┼───┴───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ │7 │8 │ 9 │ 0 │ - │ = │ Backsp│ 15 + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ 15 + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ │ H │J │ K │ L │ ; │ ' │ Enter │ 14 + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ │ B │ N │ M │ , │ . │ / │ Shift │ 14 + * ├────┬───┴┬──┴┬──┴───┴┬──┴───┴───┤ └┬──┴───┴─┬─┴──┬┴───┴───┴┬─────────┤ + * │Ctrl│GUI │L2 │Alt │ │ │ | L3 │ Alt│ GUI│Menu│Ctrl│ 11 + * └────┴────┴───┴───────┴──────────┘ └────────┴────┴────┴────┴────┴────┘ + */ + [_QWERTY] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_ESC, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MO(_SYMB), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BACKSPACE, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────────────┤ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_LCTL, KC_LGUI, MO(_NAV), KC_LALT, KC_SPC, KC_SPC, MO(_NAV), KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ), + [_NAV] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_SYMB), KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ), + [_SYMB] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_ESC, KC_TRNS, KC_TRNS, KC_F12, KC_F13, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DT_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DT_PRNT, DT_DOWN, KC_SLEP + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ) +}; diff --git a/keyboards/pmk/posey_split/v4/keymaps/via/rules.mk b/keyboards/pmk/posey_split/v4/keymaps/via/rules.mk new file mode 100644 index 0000000000..036bd6d1c3 --- /dev/null +++ b/keyboards/pmk/posey_split/v4/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/pmk/posey_split/v4/readme.md b/keyboards/pmk/posey_split/v4/readme.md new file mode 100644 index 0000000000..c4e1565620 --- /dev/null +++ b/keyboards/pmk/posey_split/v4/readme.md @@ -0,0 +1,30 @@ +# posey_split_v4 + +![posey_split_v4](https://i.imgur.com/g3yf6alh.png) + +The Posey split keyboard was designed from the gournd up for gaming. By pushing the left half of your split keyboard out of the way, you'll be able to game with better posture and increase mouse movement. PMK's have additional keys on the right half to make sure you don't need to reach for your other half while gaming. + +Version Changes from v4: +-Changed bottom row on the left half to use standard modifier key sizes + +* Keyboard Maintainer: [Javier Oliver](https://github.com/joliverMI) +* Hardware Supported: posey_split_v4, blizz_sorc_v1 and logic_module_v1 +* Hardware Availability: poseysmechanicalkeyboards.com + +Make example for this keyboard (after setting up your build environment): + + make pmk/posey_split/v4:default + +Flashing example for this keyboard: + + make pmk/posey_split/v4: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 Escape and plug in the keyboard +* **Physical reset button**: Hold the button on the bottom of the keyboard while you plug in the USB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/pmk/posey_split/v4/rules.mk b/keyboards/pmk/posey_split/v4/rules.mk new file mode 100644 index 0000000000..743228e94b --- /dev/null +++ b/keyboards/pmk/posey_split/v4/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor \ No newline at end of file diff --git a/keyboards/pmk/posey_split/v5/info.json b/keyboards/pmk/posey_split/v5/info.json new file mode 100644 index 0000000000..9ef7d0af02 --- /dev/null +++ b/keyboards/pmk/posey_split/v5/info.json @@ -0,0 +1,145 @@ +{ + "manufacturer": "Posey's Mechanical Keyboards", + "keyboard_name": "posey_split_v5", + "maintainer": "joliverMI", + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "rgblight": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], + "rows": ["GP10", "GP11", "GP12", "GP13", "GP14", "GP15"] + }, + "processor": "RP2040", + "ws2812": { + "pin": "GP17", + "driver": "vendor" + }, + "rgblight": { + "animations": { + "breathing": true + }, + "layers": { + "enabled": true, + "max": 4 + }, + "led_count": 1, + "sleep": true, + "split": true, + "split_count": [1, 0] + }, + "split": { + "enabled": true, + "handedness": { + "pin": "GP18" + } + }, + "tags": ["split"], + "url": "poseysmechanicalkeyboards.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0005", + "vid": "0x4A4F" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "LED", "x": 1, "y": 0}, + {"matrix": [0, 2], "label": "F1", "x": 2, "y": 0}, + {"matrix": [0, 3], "label": "F2", "x": 3, "y": 0}, + {"matrix": [0, 4], "label": "F3", "x": 4, "y": 0}, + {"matrix": [0, 5], "label": "F4", "x": 5, "y": 0}, + {"matrix": [0, 6], "label": "F5", "x": 6, "y": 0}, + {"matrix": [0, 7], "label": "F6", "x": 7, "y": 0}, + {"matrix": [6, 0], "label": "Layer", "x": 9.294, "y": 0}, + {"matrix": [6, 1], "label": "F7", "x": 10.294, "y": 0}, + {"matrix": [6, 2], "label": "F8", "x": 11.294, "y": 0}, + {"matrix": [6, 3], "label": "F9", "x": 12.294, "y": 0}, + {"matrix": [6, 4], "label": "F10", "x": 13.294, "y": 0}, + {"matrix": [6, 5], "label": "F11", "x": 14.294, "y": 0}, + {"matrix": [6, 6], "label": "Pause", "x": 15.294, "y": 0}, + {"matrix": [6, 7], "label": "Delete", "x": 16.294, "y": 0}, + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1}, + {"matrix": [1, 1], "label": "1", "x": 1, "y": 1}, + {"matrix": [1, 2], "label": "2", "x": 2, "y": 1}, + {"matrix": [1, 3], "label": "3", "x": 3, "y": 1}, + {"matrix": [1, 4], "label": "4", "x": 4, "y": 1}, + {"matrix": [1, 5], "label": "5", "x": 5, "y": 1}, + {"matrix": [1, 6], "label": "6", "x": 6, "y": 1}, + {"matrix": [1, 7], "label": "7", "x": 7, "y": 1}, + {"matrix": [7, 0], "label": "&", "x": 9.294, "y": 1}, + {"matrix": [7, 1], "label": "*", "x": 10.294, "y": 1}, + {"matrix": [7, 2], "label": "(", "x": 11.294, "y": 1}, + {"matrix": [7, 3], "label": ")", "x": 12.294, "y": 1}, + {"matrix": [7, 4], "label": "_", "x": 13.294, "y": 1}, + {"matrix": [7, 5], "label": "+", "x": 14.294, "y": 1}, + {"matrix": [7, 6], "label": "Backspace", "x": 15.294, "y": 1, "w": 2}, + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2}, + {"matrix": [8, 0], "label": "Y", "x": 8.794, "y": 2}, + {"matrix": [8, 1], "label": "U", "x": 9.794, "y": 2}, + {"matrix": [8, 2], "label": "I", "x": 10.794, "y": 2}, + {"matrix": [8, 3], "label": "O", "x": 11.794, "y": 2}, + {"matrix": [8, 4], "label": "P", "x": 12.794, "y": 2}, + {"matrix": [8, 5], "label": "{", "x": 13.794, "y": 2}, + {"matrix": [8, 6], "label": "}", "x": 14.794, "y": 2}, + {"matrix": [8, 7], "label": "|", "x": 15.794, "y": 2, "w": 1.5}, + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3}, + {"matrix": [9, 0], "label": "H", "x": 9.044, "y": 3}, + {"matrix": [9, 1], "label": "J", "x": 10.044, "y": 3}, + {"matrix": [9, 2], "label": "K", "x": 11.044, "y": 3}, + {"matrix": [9, 3], "label": "L", "x": 12.044, "y": 3}, + {"matrix": [9, 4], "label": ":", "x": 13.044, "y": 3}, + {"matrix": [9, 5], "label": "\"", "x": 14.044, "y": 3}, + {"matrix": [9, 6], "label": "Enter", "x": 15.044, "y": 3, "w": 2.25}, + {"matrix": [4, 0], "label": "Shift", "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 1], "label": "Z", "x": 2.25, "y": 4}, + {"matrix": [4, 2], "label": "X", "x": 3.25, "y": 4}, + {"matrix": [4, 3], "label": "C", "x": 4.25, "y": 4}, + {"matrix": [4, 4], "label": "V", "x": 5.25, "y": 4}, + {"matrix": [4, 5], "label": "B", "x": 6.25, "y": 4}, + {"matrix": [4, 6], "label": "N", "x": 7.25, "y": 4}, + {"matrix": [10, 0], "label": "B", "x": 8.544, "y": 4}, + {"matrix": [10, 1], "label": "N", "x": 9.544, "y": 4}, + {"matrix": [10, 2], "label": "M", "x": 10.544, "y": 4}, + {"matrix": [10, 3], "label": "<", "x": 11.544, "y": 4}, + {"matrix": [10, 4], "label": ">", "x": 12.544, "y": 4}, + {"matrix": [10, 5], "label": "?", "x": 13.544, "y": 4}, + {"matrix": [10, 6], "label": "Shift", "x": 14.544, "y": 4, "w": 2.75}, + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "label": "Layer", "x": 2.5, "y": 5}, + {"matrix": [5, 3], "label": "Alt", "x": 3.5, "y": 5, "w": 2}, + {"matrix": [5, 6], "label": "Space", "x": 5.5, "y": 5, "w": 2.75}, + {"matrix": [11, 1], "label": "Space", "x": 8.794, "y": 5, "w": 2.25}, + {"matrix": [11, 2], "label": "Arrows", "x": 11.044, "y": 5, "w": 1.25}, + {"matrix": [11, 3], "label": "Ctrl", "x": 12.294, "y": 5, "w": 1.25}, + {"matrix": [11, 4], "label": "Win", "x": 13.544, "y": 5, "w": 1.25}, + {"matrix": [11, 5], "label": "Menu", "x": 14.794, "y": 5, "w": 1.25}, + {"matrix": [11, 7], "label": "Ctrl", "x": 16.044, "y": 5, "w": 1.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/pmk/posey_split/v5/keymaps/default/keymap.c b/keyboards/pmk/posey_split/v5/keymaps/default/keymap.c new file mode 100644 index 0000000000..fa7fd018a0 --- /dev/null +++ b/keyboards/pmk/posey_split/v5/keymaps/default/keymap.c @@ -0,0 +1,73 @@ +// Copyright 2024 Javier Oliver (@joliverMI) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum my_layers { + _QWERTY, + _NAV, + _SYMB, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│LED│F1 │F2 │F3 │F4 │F5 │F6 │ │L1 │F7 │F8 │F9 │F10│F11│PAS│Del│ 16 + * ├───┼───┼───┼───┼───┼───┼───┴───┤ ├───┴───┼───┼───┼───┼───┼───┴───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ │7 │8 │ 9 │ 0 │ - │ = │ Backsp│ 15 + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ 15 + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ │ H │J │ K │ L │ ; │ ' │ Enter │ 14 + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ │ B │ N │ M │ , │ . │ / │ Shift │ 14 + * ├────┬───┴┬──┴─┬─┴───┴┬──┴───┴───┤ └┬──┴───┴─┬─┴──┬┴───┴───┴┬─────────┤ + * │Ctrl│GUI │Alt │L2 │ │ │ | L3 │ Alt│ GUI│Menu│Ctrl│ 11 + * └────┴────┴────┴──────┴──────────┘ └────────┴────┴────┴────┴────┴────┘ + */ + [_QWERTY] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_ESC, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MO(_SYMB), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PAUS, KC_DEL, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BACKSPACE, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────────────┤ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_LCTL, KC_LGUI, KC_LALT, MO(_NAV), KC_SPC, KC_SPC, MO(_NAV), KC_RGUI, KC_LEFT, KC_DOWN,KC_RIGHT + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ), + [_NAV] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_SYMB), KC_TRNS,KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ), + [_SYMB] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_ESC, KC_TRNS, KC_TRNS, KC_F12, KC_F13, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DT_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DT_PRNT, DT_DOWN, KC_SLEP + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ) +}; diff --git a/keyboards/pmk/posey_split/v5/keymaps/via/keymap.c b/keyboards/pmk/posey_split/v5/keymaps/via/keymap.c new file mode 100644 index 0000000000..fa7fd018a0 --- /dev/null +++ b/keyboards/pmk/posey_split/v5/keymaps/via/keymap.c @@ -0,0 +1,73 @@ +// Copyright 2024 Javier Oliver (@joliverMI) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum my_layers { + _QWERTY, + _NAV, + _SYMB, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│LED│F1 │F2 │F3 │F4 │F5 │F6 │ │L1 │F7 │F8 │F9 │F10│F11│PAS│Del│ 16 + * ├───┼───┼───┼───┼───┼───┼───┴───┤ ├───┴───┼───┼───┼───┼───┼───┴───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ │7 │8 │ 9 │ 0 │ - │ = │ Backsp│ 15 + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ 15 + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ │ H │J │ K │ L │ ; │ ' │ Enter │ 14 + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ │ B │ N │ M │ , │ . │ / │ Shift │ 14 + * ├────┬───┴┬──┴─┬─┴───┴┬──┴───┴───┤ └┬──┴───┴─┬─┴──┬┴───┴───┴┬─────────┤ + * │Ctrl│GUI │Alt │L2 │ │ │ | L3 │ Alt│ GUI│Menu│Ctrl│ 11 + * └────┴────┴────┴──────┴──────────┘ └────────┴────┴────┴────┴────┴────┘ + */ + [_QWERTY] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_ESC, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MO(_SYMB), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PAUS, KC_DEL, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BACKSPACE, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────────────┤ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_LCTL, KC_LGUI, KC_LALT, MO(_NAV), KC_SPC, KC_SPC, MO(_NAV), KC_RGUI, KC_LEFT, KC_DOWN,KC_RIGHT + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ), + [_NAV] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_SYMB), KC_TRNS,KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ), + [_SYMB] = LAYOUT( + // ┌────────┐ ┌────────┬────────┬────────┬────────┬────────┬───────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────┐ + KC_ESC, KC_TRNS, KC_TRNS, KC_F12, KC_F13, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM, + //├────────┴────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┬───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴───────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //├─────────────────┼────────┼────────┼────────┼────────┼────────┼───────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DT_UP, + //├──────────┬──────┴─┬───────┼───────┴────────┼────────┴────────┴───────┤ ├────────┴────────┴────────┼────────┼────────┼────────┼────────────────┤ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DT_PRNT, DT_DOWN, KC_SLEP + //└──────────┴────────┴───────┴────────────────┴─────────────────────────┘ └──────────────────────────┴────────┴────────┴────────┴───────┴────────┘ + ) +}; diff --git a/keyboards/pmk/posey_split/v5/keymaps/via/rules.mk b/keyboards/pmk/posey_split/v5/keymaps/via/rules.mk new file mode 100644 index 0000000000..036bd6d1c3 --- /dev/null +++ b/keyboards/pmk/posey_split/v5/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/pmk/posey_split/v5/readme.md b/keyboards/pmk/posey_split/v5/readme.md new file mode 100644 index 0000000000..57fbf642c3 --- /dev/null +++ b/keyboards/pmk/posey_split/v5/readme.md @@ -0,0 +1,30 @@ +# posey_split_v5 + +![posey_split_v5](https://i.imgur.com/g3yf6al.png) + +The Posey split keyboard was designed from the gournd up for gaming. By pushing the left half of your split keyboard out of the way, you'll be able to game with better posture and increase mouse movement. PMK's have additional keys on the right half to make sure you don't need to reach for your other half while gaming. + +Version Changes from v4: +-Changed bottom row on the left half to use standard modifier key sizes + +* Keyboard Maintainer: [Javier Oliver](https://github.com/joliverMI) +* Hardware Supported: posey_split_v5 and logic_module_v1 +* Hardware Availability: poseysmechanicalkeyboards.com + +Make example for this keyboard (after setting up your build environment): + + make pmk/posey_split/v5:default + +Flashing example for this keyboard: + + make pmk/posey_split/v5: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 Escape and plug in the keyboard +* **Physical reset button**: Hold the button on the bottom of the keyboard while you plug in the USB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/pmk/posey_split/v5/rules.mk b/keyboards/pmk/posey_split/v5/rules.mk new file mode 100644 index 0000000000..743228e94b --- /dev/null +++ b/keyboards/pmk/posey_split/v5/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor \ No newline at end of file