summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoliverMI <36174681+joliverMI@users.noreply.github.com>2024-03-29 01:19:14 -0400
committerGitHub <noreply@github.com>2024-03-28 22:19:14 -0700
commit041f60f9a9cd88275f46f2ac2140923dcbda1333 (patch)
tree44f0483e3683e2758f22c3a2dd3ba2a2dfe8185e
parent2d8902c884deb48815fd923bc4bb9437fd148e19 (diff)
[Keyboard] Add recore keyboard (#23320)
Co-authored-by: joliverMI <qmk@Desktop2023> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
-rw-r--r--keyboards/pmk/recore/v3/config.h18
-rw-r--r--keyboards/pmk/recore/v3/info.json141
-rw-r--r--keyboards/pmk/recore/v3/keymaps/default/keymap.c52
-rw-r--r--keyboards/pmk/recore/v3/keymaps/via/keymap.c52
-rw-r--r--keyboards/pmk/recore/v3/keymaps/via/rules.mk1
-rw-r--r--keyboards/pmk/recore/v3/readme.md27
-rw-r--r--keyboards/pmk/recore/v3/rules.mk1
7 files changed, 292 insertions, 0 deletions
diff --git a/keyboards/pmk/recore/v3/config.h b/keyboards/pmk/recore/v3/config.h
new file mode 100644
index 0000000000..b4089fa81e
--- /dev/null
+++ b/keyboards/pmk/recore/v3/config.h
@@ -0,0 +1,18 @@
1// Copyright 2023 Javier Oliver (@joliverMI)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5
6/*Split keyboard configuration*/
7// Hardware Settings
8#define SERIAL_USART_FULL_DUPLEX
9#define SERIAL_USART_TX_PIN GP1
10#define SERIAL_USART_RX_PIN GP0
11
12// Communication Settings
13#define FORCED_SYNC_THROTTLE_MS 1000
14#define SPLIT_MAX_CONNECTION_ERRORS 5
15#define SPLIT_CONNECTION_CHECK_TIMEOUT 2000
16
17// RGB Configuration
18#define RGBLIGHT_EFFECT_BREATHE_CENTER 2.0 //1.0 to 2.7
diff --git a/keyboards/pmk/recore/v3/info.json b/keyboards/pmk/recore/v3/info.json
new file mode 100644
index 0000000000..6bc095daa5
--- /dev/null
+++ b/keyboards/pmk/recore/v3/info.json
@@ -0,0 +1,141 @@
1{
2 "manufacturer": "Posey's Mechanical Keyboards",
3 "keyboard_name": "recorev3",
4 "maintainer": "joliverMI",
5 "bootloader": "rp2040",
6 "build": {
7 "debounce_type": "sym_defer_pk"
8 },
9 "diode_direction": "COL2ROW",
10 "features": {
11 "bootmagic": true,
12 "rgblight": true,
13 "extrakey": true,
14 "mousekey": true,
15 "nkro": true
16 },
17 "matrix_pins": {
18 "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"],
19 "rows": ["GP10", "GP11", "GP12", "GP13", "GP14"]
20 },
21 "processor": "RP2040",
22 "ws2812": {
23 "driver": "vendor",
24 "pin": "GP17"
25 },
26 "rgblight": {
27 "animations": {
28 "breathing": true
29 },
30 "layers": {
31 "enabled": true,
32 "max": 4
33 },
34 "led_count": 2,
35 "sleep": true,
36 "split": true,
37 "split_count": [1, 1]
38 },
39 "split": {
40 "enabled": true,
41 "handedness": {
42 "pin": "GP18"
43 }
44 },
45 "tags": ["ortho", "split"],
46 "url": "poseysmechanicalkeyboards.com",
47 "usb": {
48 "device_version": "1.0.0",
49 "pid": "0x0001",
50 "vid": "0x4A4F"
51 },
52 "layouts": {
53 "LAYOUT": {
54 "layout": [
55 {"matrix": [0,0], "x": 0, "y": 0.75, "w": 1.25},
56 {"matrix": [0,1], "x": 1.25, "y": 0.75},
57 {"matrix": [0,2], "x": 2.25, "y": 0.2},
58 {"matrix": [0,3], "x": 3.25, "y": 0},
59 {"matrix": [0,4], "x": 4.25, "y": 0.2},
60 {"matrix": [0,5], "x": 5.25, "y": 0.3},
61 {"matrix": [0,6], "x": 6.25, "y": 0.55, "h": 1.25},
62 {"matrix": [0,7], "x": 7.25, "y": 0.55, "h": 1.25},
63
64 {"matrix": [5,0], "x": 9.25, "y": 0.55, "h": 1.25},
65 {"matrix": [5,1], "x": 10.25, "y": 0.55, "h": 1.25},
66 {"matrix": [5,2], "x": 11.25, "y": 0.3},
67 {"matrix": [5,3], "x": 12.25, "y": 0.2},
68 {"matrix": [5,4], "x": 13.25, "y": 0},
69 {"matrix": [5,5], "x": 14.25, "y": 0.2},
70 {"matrix": [5,6], "x": 15.25, "y": 0.75},
71 {"matrix": [5,7], "x": 16.25, "y": 0.75, "w": 1.25},
72
73 {"matrix": [1,0], "x": 0, "y": 1.75, "w": 1.25},
74 {"matrix": [1,1], "x": 1.25, "y": 1.75},
75 {"matrix": [1,2], "x": 2.25, "y": 1.2},
76 {"matrix": [1,3], "x": 3.25, "y": 1},
77 {"matrix": [1,4], "x": 4.25, "y": 1.2},
78 {"matrix": [1,5], "x": 5.25, "y": 1.3},
79 {"matrix": [1,6], "x": 6.25, "y": 1.8, "h": 1.25},
80 {"matrix": [1,7], "x": 7.25, "y": 1.8, "h": 1.25},
81
82 {"matrix": [6,0], "x": 9.25, "y": 1.8, "h": 1.25},
83 {"matrix": [6,1], "x": 10.25, "y": 1.8, "h": 1.25},
84 {"matrix": [6,2], "x": 11.25, "y": 1.3},
85 {"matrix": [6,3], "x": 12.25, "y": 1.2},
86 {"matrix": [6,4], "x": 13.25, "y": 1},
87 {"matrix": [6,5], "x": 14.25, "y": 1.2},
88 {"matrix": [6,6], "x": 15.25, "y": 1.75},
89 {"matrix": [6,7], "x": 16.25, "y": 1.75, "w": 1.25},
90
91 {"matrix": [2,0], "x": 0, "y": 2.75, "w": 1.25},
92 {"matrix": [2,1], "x": 1.25, "y": 2.75},
93 {"matrix": [2,2], "x": 2.25, "y": 2.2},
94 {"matrix": [2,3], "x": 3.25, "y": 2},
95 {"matrix": [2,4], "x": 4.25, "y": 2.2},
96 {"matrix": [2,5], "x": 5.25, "y": 2.3},
97
98 {"matrix": [7,2], "x": 11.25, "y": 2.3},
99 {"matrix": [7,3], "x": 12.25, "y": 2.2},
100 {"matrix": [7,4], "x": 13.25, "y": 2},
101 {"matrix": [7,5], "x": 14.25, "y": 2.2},
102 {"matrix": [7,6], "x": 15.25, "y": 2.75},
103 {"matrix": [7,7], "x": 16.25, "y": 2.75, "w": 1.25},
104
105 {"matrix": [3,0], "x": 0, "y": 3.75, "w": 1.25},
106 {"matrix": [3,1], "x": 1.25, "y": 3.75},
107 {"matrix": [3,2], "x": 2.25, "y": 3.2},
108 {"matrix": [3,3], "x": 3.25, "y": 3},
109 {"matrix": [3,4], "x": 4.25, "y": 3.2},
110 {"matrix": [3,5], "x": 5.25, "y": 3.3},
111 {"matrix": [3,6], "x": 6.25, "y": 3.05, "h": 1.25},
112 {"matrix": [3,7], "x": 7.25, "y": 3.05, "h": 1.25},
113
114 {"matrix": [8,0], "x": 9.25, "y": 3.05, "h": 1.25},
115 {"matrix": [8,1], "x": 10.25, "y": 3.05, "h": 1.25},
116 {"matrix": [8,2], "x": 11.25, "y": 3.3},
117 {"matrix": [8,3], "x": 12.25, "y": 3.2},
118 {"matrix": [8,4], "x": 13.25, "y": 3},
119 {"matrix": [8,5], "x": 14.25, "y": 3.2},
120 {"matrix": [8,6], "x": 15.25, "y": 3.75},
121 {"matrix": [8,7], "x": 16.25, "y": 3.75, "w": 1.25},
122
123 {"matrix": [4,0], "x": 0, "y": 4.75, "w": 1.25},
124 {"matrix": [4,1], "x": 1.25, "y": 4.75},
125 {"matrix": [4,2], "x": 2.25, "y": 4.2, "w": 1.25},
126 {"matrix": [4,3], "x": 3.5, "y": 4.2, "w": 1.25},
127 {"matrix": [4,5], "x": 4.75, "y": 4.3, "w": 1.25},
128 {"matrix": [4,6], "x": 6, "y": 4.8, "h": 1.25},
129 {"matrix": [4,7], "x": 7, "y": 5, "h": 1.25},
130
131 {"matrix": [9,0], "x": 9.5, "y": 5, "h": 1.25},
132 {"matrix": [9,1], "x": 10.5, "y": 4.8, "h": 1.25},
133 {"matrix": [9,2], "x": 11.5, "y": 4.3, "w": 1.25},
134 {"matrix": [9,4], "x": 12.75, "y": 4.2, "w": 1.25},
135 {"matrix": [9,5], "x": 14, "y": 4.2, "w": 1.25},
136 {"matrix": [9,6], "x": 15.25, "y": 4.75},
137 {"matrix": [9,7], "x": 16.25, "y": 4.75, "w": 1.25}
138 ]
139 }
140 }
141}
diff --git a/keyboards/pmk/recore/v3/keymaps/default/keymap.c b/keyboards/pmk/recore/v3/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a48ed4c82d
--- /dev/null
+++ b/keyboards/pmk/recore/v3/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
1// Copyright 2024 Javier Oliver (@joliverMI)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5
6enum my_layers {
7 _QWERTY,
8 _NAV,
9 _SYMB,
10};
11
12const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13 [_QWERTY] = LAYOUT(
14//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
15 KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,MO(_SYMB),MO(_NAV),MO(_NAV),MO(_SYMB),KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,
16//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
17 KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC ,KC_MPLY, KC_PAUS ,KC_RBRC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
18//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
19 KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
20//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
21 KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_PGUP ,KC_PGDN , KC_HOME ,KC_END , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
22//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
23 KC_LGUI ,KC_PMNS ,MO(_NAV) ,KC_LALT ,KC_LCTL ,KC_BSPC ,KC_DEL , KC_ENT, KC_SPC ,MO(_NAV),KC_RALT ,KC_RCTL ,KC_LEFT ,KC_RGHT
24//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
25 ),
26 [_SYMB] = LAYOUT(
27//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
28 _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,_______ ,_______, _______ ,_______ ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
29//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
30 _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ ,_______, _______ ,KC_RCBR ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,_______ ,
31//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
32 _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV , KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,_______ ,
33//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
34 _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,KC_P0 ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,_______ ,
35//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
36 _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_ENT ,_______ ,_______ ,_______ ,KC_PDOT ,KC_PENT ,_______
37//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
38 ),
39 [_NAV] = LAYOUT(
40//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
41 _______ ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,QK_BOOT ,
42//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
43 _______ ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
44//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
45 _______ ,KC_LEFT ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_RGHT , KC_LEFT ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_RGHT ,XXXXXXX ,
46//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
47 _______ ,XXXXXXX ,XXXXXXX ,KC_DOWN ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,XXXXXXX ,KC_DOWN ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
48//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
49 _______ ,XXXXXXX ,XXXXXXX ,_______ ,_______ ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX ,EE_CLR
50//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
51 )
52};
diff --git a/keyboards/pmk/recore/v3/keymaps/via/keymap.c b/keyboards/pmk/recore/v3/keymaps/via/keymap.c
new file mode 100644
index 0000000000..a48ed4c82d
--- /dev/null
+++ b/keyboards/pmk/recore/v3/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
1// Copyright 2024 Javier Oliver (@joliverMI)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5
6enum my_layers {
7 _QWERTY,
8 _NAV,
9 _SYMB,
10};
11
12const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13 [_QWERTY] = LAYOUT(
14//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
15 KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,MO(_SYMB),MO(_NAV),MO(_NAV),MO(_SYMB),KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,
16//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
17 KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC ,KC_MPLY, KC_PAUS ,KC_RBRC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
18//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
19 KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
20//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
21 KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_PGUP ,KC_PGDN , KC_HOME ,KC_END , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
22//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
23 KC_LGUI ,KC_PMNS ,MO(_NAV) ,KC_LALT ,KC_LCTL ,KC_BSPC ,KC_DEL , KC_ENT, KC_SPC ,MO(_NAV),KC_RALT ,KC_RCTL ,KC_LEFT ,KC_RGHT
24//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
25 ),
26 [_SYMB] = LAYOUT(
27//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
28 _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,_______ ,_______, _______ ,_______ ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
29//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
30 _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ ,_______, _______ ,KC_RCBR ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,_______ ,
31//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
32 _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV , KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,_______ ,
33//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
34 _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,KC_P0 ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,_______ ,
35//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
36 _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_ENT ,_______ ,_______ ,_______ ,KC_PDOT ,KC_PENT ,_______
37//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
38 ),
39 [_NAV] = LAYOUT(
40//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
41 _______ ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,QK_BOOT ,
42//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
43 _______ ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
44//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
45 _______ ,KC_LEFT ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_RGHT , KC_LEFT ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_RGHT ,XXXXXXX ,
46//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
47 _______ ,XXXXXXX ,XXXXXXX ,KC_DOWN ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,XXXXXXX ,KC_DOWN ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
48//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
49 _______ ,XXXXXXX ,XXXXXXX ,_______ ,_______ ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX ,EE_CLR
50//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
51 )
52};
diff --git a/keyboards/pmk/recore/v3/keymaps/via/rules.mk b/keyboards/pmk/recore/v3/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/pmk/recore/v3/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/pmk/recore/v3/readme.md b/keyboards/pmk/recore/v3/readme.md
new file mode 100644
index 0000000000..2e346263f8
--- /dev/null
+++ b/keyboards/pmk/recore/v3/readme.md
@@ -0,0 +1,27 @@
1# recorev3
2
3![recorev3](https://i.imgur.com/28fVsP3.jpeg)
4
5The Posey Recore keyboard is an ortholinear keyboard 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. The thumb cluster arc can be remapped to control and shift for use in gaming.
6
7* Keyboard Maintainer: [Javier Oliver](https://github.com/joliverMI)
8* Hardware Supported: recore_v3 and logic_module_v1
9* Hardware Availability: [poseysmechanicalkeyboards.com](https://poseysmechanicalkeyboards.com/)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make pmk/recore/v3:default
14
15Flashing example for this keyboard:
16
17 make pmk/recore/v3:default:flash
18
19See 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).
20
21## Bootloader
22
23Enter the bootloader in 3 ways:
24
25* **Bootmagic reset**: Hold down the key Escape and plug in the keyboard
26* **Physical reset button**: Hold the button on the bottom of the keyboard while you plug in the USB
27* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/pmk/recore/v3/rules.mk b/keyboards/pmk/recore/v3/rules.mk
new file mode 100644
index 0000000000..161ec22b16
--- /dev/null
+++ b/keyboards/pmk/recore/v3/rules.mk
@@ -0,0 +1 @@
SERIAL_DRIVER = vendor