aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Claveria <48102030+swiftrax@users.noreply.github.com>2022-02-08 21:51:51 -0800
committerGitHub <noreply@github.com>2022-02-08 21:51:51 -0800
commitc49438feec9fb6be368d6377ca05d0c86d310d4f (patch)
tree9880b6f798a0d7f0150e82f4401c3c962ec81462
parentc212b65e48bc203a05cd627ba0830b9be0b3d90a (diff)
downloadqmk_firmware-c49438feec9fb6be368d6377ca05d0c86d310d4f.tar.gz
qmk_firmware-c49438feec9fb6be368d6377ca05d0c86d310d4f.zip
[Keyboard] Digicarp65 (#15926)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: swiftrax <swiftrax@github.com>
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/config.h47
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/digicarp65.c31
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/digicarp65.h78
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/info.json315
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c42
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c50
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/keymaps/via/rules.mk1
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/readme.md21
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/rules.mk21
9 files changed, 606 insertions, 0 deletions
diff --git a/keyboards/handwired/swiftrax/digicarp65/config.h b/keyboards/handwired/swiftrax/digicarp65/config.h
new file mode 100644
index 000000000..1f11e310d
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/config.h
@@ -0,0 +1,47 @@
1/*
2Copyright 2022 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x04D8
24#define PRODUCT_ID 0xE7F1
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Swiftrax
27#define PRODUCT DigiCarp65
28/* key matrix size */
29#define MATRIX_ROWS 5
30#define MATRIX_COLS 16
31
32// ROWS: Top to bottom, COLS: Left to right
33
34#define MATRIX_ROW_PINS { B2, B1, F4, F1, F0 }
35#define MATRIX_COL_PINS { F5, C6, F6, F7, C7, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
36
37/* COL2ROW or ROW2COL */
38#define DIODE_DIRECTION COL2ROW
39
40/* define if matrix has ghost */
41//#define MATRIX_HAS_GHOST
42
43/* Set 0 if debouncing isn't needed */
44#define DEBOUNCE 5
45
46#define ENCODERS_PAD_A { B3 }
47#define ENCODERS_PAD_B { B7 }
diff --git a/keyboards/handwired/swiftrax/digicarp65/digicarp65.c b/keyboards/handwired/swiftrax/digicarp65/digicarp65.c
new file mode 100644
index 000000000..99823a756
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/digicarp65.c
@@ -0,0 +1,31 @@
1/*
2Copyright 2022 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include "digicarp65.h"
18
19#ifdef ENCODER_ENABLE
20bool encoder_update_kb(uint8_t index, bool clockwise) {
21 if (!encoder_update_user(index, clockwise)) { return false; }
22 if (index == 0) {
23 if (clockwise) {
24 tap_code_delay(KC_VOLU, 10);
25 } else {
26 tap_code_delay(KC_VOLD, 10);
27 }
28 }
29 return true;
30}
31#endif
diff --git a/keyboards/handwired/swiftrax/digicarp65/digicarp65.h b/keyboards/handwired/swiftrax/digicarp65/digicarp65.h
new file mode 100644
index 000000000..2797d771d
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/digicarp65.h
@@ -0,0 +1,78 @@
1/*
2Copyright 2022 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#pragma once
18
19#include "quantum.h"
20
21
22 #define LAYOUT_65_ansi( \
23 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
24 K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
25 K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
26 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
27 K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \
28 ) \
29 { \
30 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
31 { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
32 { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,KC_NO,K2F }, \
33 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
34 { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
35 }
36
37 #define LAYOUT_65_iso( \
38 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
39 K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
40 K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
41 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
42 K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \
43 ) \
44 { \
45 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
46 { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1F }, \
47 { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \
48 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
49 { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
50 }
51 #define LAYOUT_65_ansi_split_bs( \
52 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
53 K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
54 K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \
55 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
56 K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \
57 ) \
58 { \
59 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
60 { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
61 { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \
62 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
63 { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
64 }
65#define LAYOUT_65_iso_split_bs( \
66 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
67 K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
68 K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
69 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
70 K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \
71 ) \
72 { \
73 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
74 { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1F }, \
75 { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \
76 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
77 { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
78 }
diff --git a/keyboards/handwired/swiftrax/digicarp65/info.json b/keyboards/handwired/swiftrax/digicarp65/info.json
new file mode 100644
index 000000000..a5fe908e5
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/info.json
@@ -0,0 +1,315 @@
1{
2 "keyboard_name": "digicarp65",
3 "url": "https://github.com/swiftrax",
4 "maintainer": "swiftrax",
5 "layouts": {
6 "LAYOUT_65_ansi": {
7 "layout": [
8 {"label": "r1_01", "x": 0, "y": 0},
9 {"label": "r1_02", "x": 1, "y": 0},
10 {"label": "r1_03", "x": 2, "y": 0},
11 {"label": "r1_04", "x": 3, "y": 0},
12 {"label": "r1_05", "x": 4, "y": 0},
13 {"label": "r1_06", "x": 5, "y": 0},
14 {"label": "r1_07", "x": 6, "y": 0},
15 {"label": "r1_08", "x": 7, "y": 0},
16 {"label": "r1_09", "x": 8, "y": 0},
17 {"label": "r1_10", "x": 9, "y": 0},
18 {"label": "r1_11", "x": 10, "y": 0},
19 {"label": "r1_12", "x": 11, "y": 0},
20 {"label": "r1_13", "x": 12, "y": 0},
21 {"label": "r1_14", "x": 13, "y": 0, "w":2},
22 {"label": "r1_15", "x": 15, "y": 0},
23
24 {"label": "r2_01", "x": 0, "y": 1, "w": 1.5},
25 {"label": "r2_02", "x": 1.5, "y": 1},
26 {"label": "r2_03", "x": 2.5, "y": 1},
27 {"label": "r2_04", "x": 3.5, "y": 1},
28 {"label": "r2_05", "x": 4.5, "y": 1},
29 {"label": "r2_06", "x": 5.5, "y": 1},
30 {"label": "r2_07", "x": 6.5, "y": 1},
31 {"label": "r2_08", "x": 7.5, "y": 1},
32 {"label": "r2_09", "x": 8.5, "y": 1},
33 {"label": "r2_10", "x": 9.5, "y": 1},
34 {"label": "r2_11", "x": 10.5, "y": 1},
35 {"label": "r2_12", "x": 11.5, "y": 1},
36 {"label": "r2_13", "x": 12.5, "y": 1},
37 {"label": "r2_14", "x": 13.5, "y": 1, "w": 1.5},
38 {"label": "r2_15", "x": 15, "y": 1},
39
40 {"label": "r3_01", "x": 0, "y": 2, "w": 1.75},
41 {"label": "r3_02", "x": 1.75, "y": 2},
42 {"label": "r3_03", "x": 2.75, "y": 2},
43 {"label": "r3_04", "x": 3.75, "y": 2},
44 {"label": "r3_05", "x": 4.75, "y": 2},
45 {"label": "r3_06", "x": 5.75, "y": 2},
46 {"label": "r3_07", "x": 6.75, "y": 2},
47 {"label": "r3_08", "x": 7.75, "y": 2},
48 {"label": "r3_09", "x": 8.75, "y": 2},
49 {"label": "r3_10", "x": 9.75, "y": 2},
50 {"label": "r3_11", "x": 10.75, "y": 2},
51 {"label": "r3_12", "x": 11.75, "y": 2},
52 {"label": "r3_13", "x": 12.75, "y": 2, "w": 2.25},
53 {"label": "r3_14", "x": 15, "y": 2},
54
55 {"label": "r4_01", "x": 0, "y": 3, "w": 2.25},
56 {"label": "r4_02", "x": 2.25, "y": 3},
57 {"label": "r4_03", "x": 3.25, "y": 3},
58 {"label": "r4_04", "x": 4.25, "y": 3},
59 {"label": "r4_05", "x": 5.25, "y": 3},
60 {"label": "r4_06", "x": 6.25, "y": 3},
61 {"label": "r4_07", "x": 7.25, "y": 3},
62 {"label": "r4_08", "x": 8.25, "y": 3},
63 {"label": "r4_09", "x": 9.25, "y": 3},
64 {"label": "r4_10", "x": 10.25, "y": 3},
65 {"label": "r4_11", "x": 11.25, "y": 3},
66 {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75},
67 {"label": "r4_13", "x": 14, "y": 3},
68 {"label": "r4_14", "x": 15, "y": 3},
69
70 {"label": "r5_01", "x": 0, "y": 4, "w": 1.25},
71 {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25},
72 {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25},
73 {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25},
74 {"label": "r5_05", "x": 10, "y": 4, "w": 1.25},
75 {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25},
76 {"label": "r4_07", "x": 13, "y": 4},
77 {"label": "r4_08", "x": 14, "y": 4},
78 {"label": "r4_09", "x": 15, "y": 4}
79 ]
80 },
81 "LAYOUT_65_iso": {
82 "layout": [
83 {"label": "r1_01", "x": 0, "y": 0},
84 {"label": "r1_02", "x": 1, "y": 0},
85 {"label": "r1_03", "x": 2, "y": 0},
86 {"label": "r1_04", "x": 3, "y": 0},
87 {"label": "r1_05", "x": 4, "y": 0},
88 {"label": "r1_06", "x": 5, "y": 0},
89 {"label": "r1_07", "x": 6, "y": 0},
90 {"label": "r1_08", "x": 7, "y": 0},
91 {"label": "r1_09", "x": 8, "y": 0},
92 {"label": "r1_10", "x": 9, "y": 0},
93 {"label": "r1_11", "x": 10, "y": 0},
94 {"label": "r1_12", "x": 11, "y": 0},
95 {"label": "r1_13", "x": 12, "y": 0},
96 {"label": "r1_14", "x": 13, "y": 0, "w":2},
97 {"label": "r1_15", "x": 15, "y": 0},
98
99 {"label": "r2_01", "x": 0, "y": 1, "w": 1.5},
100 {"label": "r2_02", "x": 1.5, "y": 1},
101 {"label": "r2_03", "x": 2.5, "y": 1},
102 {"label": "r2_04", "x": 3.5, "y": 1},
103 {"label": "r2_05", "x": 4.5, "y": 1},
104 {"label": "r2_06", "x": 5.5, "y": 1},
105 {"label": "r2_07", "x": 6.5, "y": 1},
106 {"label": "r2_08", "x": 7.5, "y": 1},
107 {"label": "r2_09", "x": 8.5, "y": 1},
108 {"label": "r2_10", "x": 9.5, "y": 1},
109 {"label": "r2_11", "x": 10.5, "y": 1},
110 {"label": "r2_12", "x": 11.5, "y": 1},
111 {"label": "r2_13", "x": 12.5, "y": 1},
112 {"label": "r2_14", "x": 13.5, "y": 1},
113 {"label": "r2_15", "x": 15, "y": 1},
114
115 {"label": "r3_01", "x": 0, "y": 2, "w": 1.75},
116 {"label": "r3_02", "x": 1.75, "y": 2},
117 {"label": "r3_03", "x": 2.75, "y": 2},
118 {"label": "r3_04", "x": 3.75, "y": 2},
119 {"label": "r3_05", "x": 4.75, "y": 2},
120 {"label": "r3_06", "x": 5.75, "y": 2},
121 {"label": "r3_07", "x": 6.75, "y": 2},
122 {"label": "r3_08", "x": 7.75, "y": 2},
123 {"label": "r3_09", "x": 8.75, "y": 2},
124 {"label": "r3_10", "x": 9.75, "y": 2},
125 {"label": "r3_11", "x": 10.75, "y": 2},
126 {"label": "r3_12", "x": 11.75, "y": 2},
127 {"label": "r3_13", "x": 12.75, "y": 2},
128 {"label": "r3_14", "x": 13.75, "y": 1, "w":1.25, "h":2},
129 {"label": "r3_15", "x": 15, "y": 2},
130
131
132 {"label": "r4_01", "x": 0, "y": 3, "w": 1.25},
133 {"label": "r4_02", "x": 1.25, "y": 3},
134 {"label": "r4_03", "x": 2.25, "y": 3},
135 {"label": "r4_04", "x": 3.25, "y": 3},
136 {"label": "r4_05", "x": 4.25, "y": 3},
137 {"label": "r4_06", "x": 5.25, "y": 3},
138 {"label": "r4_07", "x": 6.25, "y": 3},
139 {"label": "r4_08", "x": 7.25, "y": 3},
140 {"label": "r4_09", "x": 8.25, "y": 3},
141 {"label": "r4_10", "x": 9.25, "y": 3},
142 {"label": "r4_11", "x": 10.25, "y": 3},
143 {"label": "r4_11", "x": 11.25, "y": 3},
144 {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75},
145 {"label": "r4_13", "x": 14, "y": 3},
146 {"label": "r4_14", "x": 15, "y": 3},
147
148 {"label": "r5_01", "x": 0, "y": 4, "w": 1.25},
149 {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25},
150 {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25},
151 {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25},
152 {"label": "r5_05", "x": 10, "y": 4, "w": 1.25},
153 {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25},
154 {"label": "r4_07", "x": 13, "y": 4},
155 {"label": "r4_08", "x": 14, "y": 4},
156 {"label": "r4_09", "x": 15, "y": 4}
157 ]
158 },
159 "LAYOUT_65_ansi_split_bs": {
160 "layout": [
161 {"label": "r1_01", "x": 0, "y": 0},
162 {"label": "r1_02", "x": 1, "y": 0},
163 {"label": "r1_03", "x": 2, "y": 0},
164 {"label": "r1_04", "x": 3, "y": 0},
165 {"label": "r1_05", "x": 4, "y": 0},
166 {"label": "r1_06", "x": 5, "y": 0},
167 {"label": "r1_07", "x": 6, "y": 0},
168 {"label": "r1_08", "x": 7, "y": 0},
169 {"label": "r1_09", "x": 8, "y": 0},
170 {"label": "r1_10", "x": 9, "y": 0},
171 {"label": "r1_11", "x": 10, "y": 0},
172 {"label": "r1_12", "x": 11, "y": 0},
173 {"label": "r1_13", "x": 12, "y": 0},
174 {"label": "r1_14", "x": 13, "y": 0},
175 {"label": "r1_15", "x": 14, "y": 0},
176 {"label": "r1_16", "x": 15, "y": 0},
177
178 {"label": "r2_01", "x": 0, "y": 1, "w": 1.5},
179 {"label": "r2_02", "x": 1.5, "y": 1},
180 {"label": "r2_03", "x": 2.5, "y": 1},
181 {"label": "r2_04", "x": 3.5, "y": 1},
182 {"label": "r2_05", "x": 4.5, "y": 1},
183 {"label": "r2_06", "x": 5.5, "y": 1},
184 {"label": "r2_07", "x": 6.5, "y": 1},
185 {"label": "r2_08", "x": 7.5, "y": 1},
186 {"label": "r2_09", "x": 8.5, "y": 1},
187 {"label": "r2_10", "x": 9.5, "y": 1},
188 {"label": "r2_11", "x": 10.5, "y": 1},
189 {"label": "r2_12", "x": 11.5, "y": 1},
190 {"label": "r2_13", "x": 12.5, "y": 1},
191 {"label": "r2_14", "x": 13.5, "y": 1, "w": 1.5},
192 {"label": "r2_15", "x": 15, "y": 1},
193
194 {"label": "r3_01", "x": 0, "y": 2, "w": 1.75},
195 {"label": "r3_02", "x": 1.75, "y": 2},
196 {"label": "r3_03", "x": 2.75, "y": 2},
197 {"label": "r3_04", "x": 3.75, "y": 2},
198 {"label": "r3_05", "x": 4.75, "y": 2},
199 {"label": "r3_06", "x": 5.75, "y": 2},
200 {"label": "r3_07", "x": 6.75, "y": 2},
201 {"label": "r3_08", "x": 7.75, "y": 2},
202 {"label": "r3_09", "x": 8.75, "y": 2},
203 {"label": "r3_10", "x": 9.75, "y": 2},
204 {"label": "r3_11", "x": 10.75, "y": 2},
205 {"label": "r3_12", "x": 11.75, "y": 2},
206 {"label": "r3_13", "x": 12.75, "y": 2, "w": 2.25},
207 {"label": "r3_14", "x": 15, "y": 2},
208
209 {"label": "r4_01", "x": 0, "y": 3, "w": 2.25},
210 {"label": "r4_02", "x": 2.25, "y": 3},
211 {"label": "r4_03", "x": 3.25, "y": 3},
212 {"label": "r4_04", "x": 4.25, "y": 3},
213 {"label": "r4_05", "x": 5.25, "y": 3},
214 {"label": "r4_06", "x": 6.25, "y": 3},
215 {"label": "r4_07", "x": 7.25, "y": 3},
216 {"label": "r4_08", "x": 8.25, "y": 3},
217 {"label": "r4_09", "x": 9.25, "y": 3},
218 {"label": "r4_10", "x": 10.25, "y": 3},
219 {"label": "r4_11", "x": 11.25, "y": 3},
220 {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75},
221 {"label": "r4_13", "x": 14, "y": 3},
222 {"label": "r4_14", "x": 15, "y": 3},
223
224 {"label": "r5_01", "x": 0, "y": 4, "w": 1.25},
225 {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25},
226 {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25},
227 {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25},
228 {"label": "r5_05", "x": 10, "y": 4, "w": 1.25},
229 {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25},
230 {"label": "r4_07", "x": 13, "y": 4},
231 {"label": "r4_08", "x": 14, "y": 4},
232 {"label": "r4_09", "x": 15, "y": 4}
233 ]
234 },
235 "LAYOUT_65_iso_split_bs": {
236 "layout": [
237 {"label": "r1_01", "x": 0, "y": 0},
238 {"label": "r1_02", "x": 1, "y": 0},
239 {"label": "r1_03", "x": 2, "y": 0},
240 {"label": "r1_04", "x": 3, "y": 0},
241 {"label": "r1_05", "x": 4, "y": 0},
242 {"label": "r1_06", "x": 5, "y": 0},
243 {"label": "r1_07", "x": 6, "y": 0},
244 {"label": "r1_08", "x": 7, "y": 0},
245 {"label": "r1_09", "x": 8, "y": 0},
246 {"label": "r1_10", "x": 9, "y": 0},
247 {"label": "r1_11", "x": 10, "y": 0},
248 {"label": "r1_12", "x": 11, "y": 0},
249 {"label": "r1_13", "x": 12, "y": 0},
250 {"label": "r1_14", "x": 13, "y": 0},
251 {"label": "r1_15", "x": 14, "y": 0},
252 {"label": "r1_16", "x": 15, "y": 0},
253
254 {"label": "r2_01", "x": 0, "y": 1, "w": 1.5},
255 {"label": "r2_02", "x": 1.5, "y": 1},
256 {"label": "r2_03", "x": 2.5, "y": 1},
257 {"label": "r2_04", "x": 3.5, "y": 1},
258 {"label": "r2_05", "x": 4.5, "y": 1},
259 {"label": "r2_06", "x": 5.5, "y": 1},
260 {"label": "r2_07", "x": 6.5, "y": 1},
261 {"label": "r2_08", "x": 7.5, "y": 1},
262 {"label": "r2_09", "x": 8.5, "y": 1},
263 {"label": "r2_10", "x": 9.5, "y": 1},
264 {"label": "r2_11", "x": 10.5, "y": 1},
265 {"label": "r2_12", "x": 11.5, "y": 1},
266 {"label": "r2_13", "x": 12.5, "y": 1},
267 {"label": "r2_14", "x": 13.5, "y": 1},
268 {"label": "r2_15", "x": 15, "y": 1},
269
270 {"label": "r3_01", "x": 0, "y": 2, "w": 1.75},
271 {"label": "r3_02", "x": 1.75, "y": 2},
272 {"label": "r3_03", "x": 2.75, "y": 2},
273 {"label": "r3_04", "x": 3.75, "y": 2},
274 {"label": "r3_05", "x": 4.75, "y": 2},
275 {"label": "r3_06", "x": 5.75, "y": 2},
276 {"label": "r3_07", "x": 6.75, "y": 2},
277 {"label": "r3_08", "x": 7.75, "y": 2},
278 {"label": "r3_09", "x": 8.75, "y": 2},
279 {"label": "r3_10", "x": 9.75, "y": 2},
280 {"label": "r3_11", "x": 10.75, "y": 2},
281 {"label": "r3_12", "x": 11.75, "y": 2},
282 {"label": "r3_13", "x": 12.75, "y": 2},
283 {"label": "r3_14", "x": 13.75, "y": 1, "w":1.25, "h":2},
284 {"label": "r3_15", "x": 15, "y": 2},
285
286
287 {"label": "r4_01", "x": 0, "y": 3, "w": 1.25},
288 {"label": "r4_02", "x": 1.25, "y": 3},
289 {"label": "r4_03", "x": 2.25, "y": 3},
290 {"label": "r4_04", "x": 3.25, "y": 3},
291 {"label": "r4_05", "x": 4.25, "y": 3},
292 {"label": "r4_06", "x": 5.25, "y": 3},
293 {"label": "r4_07", "x": 6.25, "y": 3},
294 {"label": "r4_08", "x": 7.25, "y": 3},
295 {"label": "r4_09", "x": 8.25, "y": 3},
296 {"label": "r4_10", "x": 9.25, "y": 3},
297 {"label": "r4_11", "x": 10.25, "y": 3},
298 {"label": "r4_11", "x": 11.25, "y": 3},
299 {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75},
300 {"label": "r4_13", "x": 14, "y": 3},
301 {"label": "r4_14", "x": 15, "y": 3},
302
303 {"label": "r5_01", "x": 0, "y": 4, "w": 1.25},
304 {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25},
305 {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25},
306 {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25},
307 {"label": "r5_05", "x": 10, "y": 4, "w": 1.25},
308 {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25},
309 {"label": "r4_07", "x": 13, "y": 4},
310 {"label": "r4_08", "x": 14, "y": 4},
311 {"label": "r4_09", "x": 15, "y": 4}
312 ]
313 }
314 }
315}
diff --git a/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c
new file mode 100644
index 000000000..5de5c6314
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
1/*
2Copyright 2022 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include QMK_KEYBOARD_H
18
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [0] = LAYOUT_65_ansi(
22 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
24 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
25 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
27 ),
28 [1] = LAYOUT_65_ansi(
29 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
30 KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
31 KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
33 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
34 ),
35 [2] = LAYOUT_65_ansi(
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
41 ),
42};
diff --git a/keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c
new file mode 100644
index 000000000..d3bffe8c4
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
1/*
2Copyright 2022 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include QMK_KEYBOARD_H
18
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [0] = LAYOUT_65_ansi(
22 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
24 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
25 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
27 ),
28 [1] = LAYOUT_65_ansi(
29 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
30 KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
31 KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
33 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
34 ),
35 [2] = LAYOUT_65_ansi(
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
41 ),
42 [3] = LAYOUT_65_ansi(
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
48 ),
49};
50
diff --git a/keyboards/handwired/swiftrax/digicarp65/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/rules.mk
new file mode 100644
index 000000000..036bd6d1c
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/digicarp65/readme.md b/keyboards/handwired/swiftrax/digicarp65/readme.md
new file mode 100644
index 000000000..619ec519f
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/readme.md
@@ -0,0 +1,21 @@
1# DigiCarp65
2
3A 65% keyboard
4
5* Keyboard Maintainer: Swiftrax
6* Hardware Supported: DigiCarp65
7* Hardware Availability: https://github.com/swiftrax
8
9Make example for this keyboard (after setting up your build environment):
10
11 make handwired/swiftrax/digicarp65:default
12
13See 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).
14
15## Bootloader
16
17Enter the bootloader in 3 ways:
18
19* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key)and plug in the keyboard
20* **Physical reset button**: Briefly short the pad on the back of the PCB labeled RESET
21* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/handwired/swiftrax/digicarp65/rules.mk b/keyboards/handwired/swiftrax/digicarp65/rules.mk
new file mode 100644
index 000000000..7a15812bc
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/rules.mk
@@ -0,0 +1,21 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19ENCODER_ENABLE = yes # Rotary Encoder
20
21LAYOUTS = 65_ansi 65_ansi_split_bs 65_iso 65_iso_split_bs