diff --git a/keyboards/pmk/posey_split/config.h b/keyboards/pmk/posey_split/config.h new file mode 100644 index 00000000000..f115e5fc2c6 --- /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 00000000000..016c4d7122e --- /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 00000000000..3a607c0296c --- /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 00000000000..ffe726ead71 --- /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 00000000000..036bd6d1c3e --- /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 00000000000..c4e15656206 --- /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 00000000000..743228e94b6 --- /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 00000000000..9ef7d0af022 --- /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 00000000000..fa7fd018a01 --- /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 00000000000..fa7fd018a01 --- /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 00000000000..036bd6d1c3e --- /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 00000000000..57fbf642c3d --- /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 00000000000..743228e94b6 --- /dev/null +++ b/keyboards/pmk/posey_split/v5/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor \ No newline at end of file