aboutsummaryrefslogtreecommitdiff
path: root/keyboards/kapcave
diff options
context:
space:
mode:
authornachie <me@nachie.com>2021-09-28 21:35:14 -0700
committerGitHub <noreply@github.com>2021-09-28 21:35:14 -0700
commit6779d5b990bf94cba28a74246c2378e5bb5047b4 (patch)
tree33bf073641d9ba92d49d97ef7c50aba4441aa599 /keyboards/kapcave
parent77e4b07fb5f2b0b5dc1df03b1233773073c65674 (diff)
downloadqmk_firmware-6779d5b990bf94cba28a74246c2378e5bb5047b4.tar.gz
qmk_firmware-6779d5b990bf94cba28a74246c2378e5bb5047b4.zip
[Keyboard] Add support for PaladinPad, Arya pcb and move keyboards by KapCave into their own directory (#14194)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Nachiket Kulkarni <nachiket_kulkarni@apple.com>
Diffstat (limited to 'keyboards/kapcave')
-rw-r--r--keyboards/kapcave/arya/arya.c27
-rw-r--r--keyboards/kapcave/arya/arya.h43
-rw-r--r--keyboards/kapcave/arya/chconf.h25
-rw-r--r--keyboards/kapcave/arya/config.h68
-rw-r--r--keyboards/kapcave/arya/halconf.h23
-rw-r--r--keyboards/kapcave/arya/info.json77
-rw-r--r--keyboards/kapcave/arya/keymaps/default/keymap.c34
-rw-r--r--keyboards/kapcave/arya/keymaps/default/readme.md1
-rw-r--r--keyboards/kapcave/arya/keymaps/via/keymap.c56
-rw-r--r--keyboards/kapcave/arya/keymaps/via/readme.md1
-rw-r--r--keyboards/kapcave/arya/keymaps/via/rules.mk1
-rw-r--r--keyboards/kapcave/arya/mcuconf.h33
-rw-r--r--keyboards/kapcave/arya/readme.md23
-rw-r--r--keyboards/kapcave/arya/rules.mk25
-rwxr-xr-xkeyboards/kapcave/gskt00/config.h52
-rwxr-xr-xkeyboards/kapcave/gskt00/gskt00.c18
-rwxr-xr-xkeyboards/kapcave/gskt00/gskt00.h73
-rw-r--r--keyboards/kapcave/gskt00/info.json82
-rw-r--r--keyboards/kapcave/gskt00/keymaps/default-poly/config.h39
-rwxr-xr-xkeyboards/kapcave/gskt00/keymaps/default-poly/keymap.c70
-rw-r--r--keyboards/kapcave/gskt00/keymaps/default-poly/readme.md1
-rw-r--r--keyboards/kapcave/gskt00/keymaps/default-poly/rules.mk2
-rwxr-xr-xkeyboards/kapcave/gskt00/keymaps/default/keymap.c38
-rw-r--r--keyboards/kapcave/gskt00/keymaps/default/readme.md1
-rwxr-xr-xkeyboards/kapcave/gskt00/keymaps/nachie/keymap.c82
-rwxr-xr-xkeyboards/kapcave/gskt00/keymaps/via/keymap.c57
-rw-r--r--keyboards/kapcave/gskt00/keymaps/via/readme.md1
-rw-r--r--keyboards/kapcave/gskt00/keymaps/via/rules.mk1
-rw-r--r--keyboards/kapcave/gskt00/readme.md23
-rwxr-xr-xkeyboards/kapcave/gskt00/rules.mk21
-rwxr-xr-xkeyboards/kapcave/paladin64/config.h133
-rw-r--r--keyboards/kapcave/paladin64/info.json26
-rwxr-xr-xkeyboards/kapcave/paladin64/keymaps/default/keymap.c61
-rw-r--r--keyboards/kapcave/paladin64/keymaps/default/readme.md1
-rw-r--r--keyboards/kapcave/paladin64/keymaps/via/keymap.c59
-rw-r--r--keyboards/kapcave/paladin64/keymaps/via/readme.md1
-rw-r--r--keyboards/kapcave/paladin64/keymaps/via/rules.mk1
-rwxr-xr-xkeyboards/kapcave/paladin64/paladin64.c18
-rwxr-xr-xkeyboards/kapcave/paladin64/paladin64.h106
-rw-r--r--keyboards/kapcave/paladin64/readme.md24
-rwxr-xr-xkeyboards/kapcave/paladin64/rules.mk23
-rw-r--r--keyboards/kapcave/paladinpad/config.h46
-rw-r--r--keyboards/kapcave/paladinpad/info.json82
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/aek/keymap.c38
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/aek/readme.md1
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/default/keymap.c38
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/default/readme.md1
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/ortho/keymap.c53
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/ortho/readme.md1
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/via/keymap.c59
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/via/rules.mk3
-rw-r--r--keyboards/kapcave/paladinpad/paladinpad.c17
-rw-r--r--keyboards/kapcave/paladinpad/paladinpad.h103
-rw-r--r--keyboards/kapcave/paladinpad/readme.md23
-rw-r--r--keyboards/kapcave/paladinpad/rev1/config.h44
-rw-r--r--keyboards/kapcave/paladinpad/rev1/rules.mk0
-rw-r--r--keyboards/kapcave/paladinpad/rev2/config.h47
-rw-r--r--keyboards/kapcave/paladinpad/rev2/rules.mk0
-rw-r--r--keyboards/kapcave/paladinpad/rules.mk24
59 files changed, 2031 insertions, 0 deletions
diff --git a/keyboards/kapcave/arya/arya.c b/keyboards/kapcave/arya/arya.c
new file mode 100644
index 000000000..af5d19be4
--- /dev/null
+++ b/keyboards/kapcave/arya/arya.c
@@ -0,0 +1,27 @@
1/*
2Copyright 2021 KapCave
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 "arya.h"
18
19bool encoder_update_kb(uint8_t index, bool clockwise) {
20 if (!encoder_update_user(index, clockwise)) { return false; }
21 if (clockwise) {
22 tap_code(KC_VOLU);
23 } else {
24 tap_code(KC_VOLD);
25 }
26 return true;
27}
diff --git a/keyboards/kapcave/arya/arya.h b/keyboards/kapcave/arya/arya.h
new file mode 100644
index 000000000..ea1d1916c
--- /dev/null
+++ b/keyboards/kapcave/arya/arya.h
@@ -0,0 +1,43 @@
1/*
2Copyright 2021 KapCave
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#define LAYOUT_alice_split_bs( \
22 K81, K36, K37, K46, K47, K56, K57, K66, K67, K76, K77, K06, K07, K17, K26, K27, \
23 K80, K34, K35, K44, K45, K54, K55, K64, K65, K75, K05, K15, K16, K25, K24, \
24 K82, K32, K33, K43, K52, K53, K63, K73, K74, K03, K04, K13, K14, K23, \
25 K31, K41, K42, K51, K61, K62, K71, K72, K01, K02, K11, K12, K21, K22, \
26 K30, K40, K50, K60, K00, K10, K20 \
27) \
28{ \
29 { K00 , K01 , K02 , K03 , K04 , K05 , K06 , K07 }, \
30 { K10 , K11 , K12 , K13 , K14 , K15 , K16 , K17 }, \
31 { K20 , K21 , K22 , K23 , K24 , K25 , K26 , K27 }, \
32 { K30 , K31 , K32 , K33 , K34 , K35 , K36 , K37 }, \
33 { K40 , K41 , K42 , K43 , K44 , K45 , K46 , K47 }, \
34 { K50 , K51 , K52 , K53 , K54 , K55 , K56 , K57 }, \
35 { K60 , K61 , K62 , K63 , K64 , K65 , K66 , K67 }, \
36 { KC_NO , K71 , K72 , K73 , K74 , K75 , K76 , K77 }, \
37 { K80 , K81 , K82 , KC_NO, KC_NO, KC_NO, KC_NO, KC_NO} \
38}
39
40
41
42
43#define LAYOUT_all LAYOUT_alice_split_bs
diff --git a/keyboards/kapcave/arya/chconf.h b/keyboards/kapcave/arya/chconf.h
new file mode 100644
index 000000000..d5c78af07
--- /dev/null
+++ b/keyboards/kapcave/arya/chconf.h
@@ -0,0 +1,25 @@
1/*
2Copyright 2021 KapCave
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#define CH_CFG_ST_RESOLUTION 16
21
22#define CH_CFG_INTERVALS_SIZE 16
23
24#include_next <chconf.h>
25
diff --git a/keyboards/kapcave/arya/config.h b/keyboards/kapcave/arya/config.h
new file mode 100644
index 000000000..62df795ff
--- /dev/null
+++ b/keyboards/kapcave/arya/config.h
@@ -0,0 +1,68 @@
1/*
2Copyright 2021 KapCave
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/* USB Device descriptor parameter */
21#define VENDOR_ID 0x4B43
22#define PRODUCT_ID 0x4152
23#define DEVICE_VER 0x0001
24#define MANUFACTURER KapCave
25#define PRODUCT Arya
26
27/* key matrix size */
28#define MATRIX_ROWS 9
29#define MATRIX_COLS 8
30
31#define MATRIX_COL_PINS { B0, B5, B4, B2, C13, F1, F0, A14}
32#define MATRIX_ROW_PINS { B8, A13, B1, A15, B9, B10, B11, A0, A8 }
33#define DIODE_DIRECTION COL2ROW
34
35
36/* Set 0 if debouncing isn't needed */
37#define DEBOUNCE 5
38
39/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
40#define LOCKING_SUPPORT_ENABLE
41/* Locking resynchronize hack */
42#define LOCKING_RESYNC_ENABLE
43
44#define ENCODERS_PAD_A { B12, B14, C15 }
45#define ENCODERS_PAD_B { B13, B15, C14 }
46
47#define ENCODER_RESOLUTION 2
48#define TAP_CODE_DELAY 25
49
50#define DYNAMIC_KEYMAP_LAYER_COUNT 3
51
52/*
53 * Feature disable options
54 * These options are also useful to firmware size reduction.
55 */
56
57/* disable debug print */
58//#define NO_DEBUG
59
60/* disable print */
61//#define NO_PRINT
62
63/* disable action features */
64//#define NO_ACTION_LAYER
65//#define NO_ACTION_TAPPING
66//#define NO_ACTION_ONESHOT
67//#define NO_ACTION_MACRO
68//#define NO_ACTION_FUNCTION
diff --git a/keyboards/kapcave/arya/halconf.h b/keyboards/kapcave/arya/halconf.h
new file mode 100644
index 000000000..dffa322d1
--- /dev/null
+++ b/keyboards/kapcave/arya/halconf.h
@@ -0,0 +1,23 @@
1/*
2Copyright 2021 KapCave
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#define HAL_USE_PWM TRUE
21
22#include_next <halconf.h>
23
diff --git a/keyboards/kapcave/arya/info.json b/keyboards/kapcave/arya/info.json
new file mode 100644
index 000000000..fb220aa07
--- /dev/null
+++ b/keyboards/kapcave/arya/info.json
@@ -0,0 +1,77 @@
1{
2 "keyboard_name": "Arya",
3 "url": "https://kapcave.com/products/arya",
4 "maintainer": "nachie",
5 "layouts": {
6 "LAYOUT": {
7 "layout": [
8 {"label":"Esc", "x":2.75, "y":5.9},
9 {"label":"\u00ac", "x":4, "y":6.0},
10 {"label":"!", "x":5, "y":6.0},
11 {"label":"\"", "x":6, "y":6.0},
12 {"label":"_", "x":15.25, "y":6.0},
13 {"label":"+", "x":16.25, "y":6.0},
14 {"label":"", "x":17.25, "y":6.0},
15 {"label":"", "x":18.25, "y":6.0},
16 {"label":"Pg Up", "x":2.5, "y":6.9},
17 {"label":"Tab", "x":3.75, "y":7.0, "w":1.5},
18 {"label":"Q", "x":5.25, "y":7.0},
19 {"label":"P", "x":15, "y":7.0},
20 {"label":"{", "x":16, "y":7.0},
21 {"label":"}", "x":17, "y":7.0},
22 {"label":"|", "x":18, "y":7.0, "w":1.5},
23 {"label":"Pg Dn", "x":2.25, "y":7.9},
24 {"label":"Caps Lock", "x":3.5, "y":8.0, "w":1.75},
25 {"label":"A", "x":5.25, "y":8.0},
26 {"label":":", "x":15.5, "y":8.0},
27 {"label":"\"", "x":16.5, "y":8.0},
28 {"label":"Enter", "x":17.5, "y":8.0, "w":2.25},
29 {"label":"Shift", "x":3.25, "y":9.0, "w":2.25},
30 {"label":"Z", "x":5.5, "y":9.0},
31 {"label":">", "x":15.25, "y":9.0},
32 {"label":"?", "x":16.25, "y":9.0},
33 {"label":"Shift", "x":17.25, "y":9.0, "w":1.75},
34 {"label":"Fn", "x":19, "y":9.0},
35 {"label":"Ctrl", "x":3.25, "y":10.0, "w":1.5},
36 {"label":"Ctrl", "x":18.25, "y":10.0, "w":1.5},
37 {"label":"\u00a3", "x":8.25, "y":4.5},
38 {"label":"$", "x":9.25, "y":4.5},
39 {"label":"%", "x":10.25, "y":4.5},
40 {"label":"^", "x":11.25, "y":4.5},
41 {"label":"W", "x":7.75, "y":5.5},
42 {"label":"E", "x":8.75, "y":5.5},
43 {"label":"R", "x":9.75, "y":5.5},
44 {"label":"T", "x":10.75, "y":5.5},
45 {"label":"S", "x":8, "y":6.5},
46 {"label":"D", "x":9, "y":6.5},
47 {"label":"F", "x":10, "y":6.5},
48 {"label":"G", "x":11, "y":6.5},
49 {"label":"X", "x":8.5, "y":7.5},
50 {"label":"C", "x":9.5, "y":7.5},
51 {"label":"V", "x":10.5, "y":7.5},
52 {"label":"B", "x":11.5, "y":7.5},
53 {"label":"Alt", "x":8.25, "y":8.5, "w":1.5},
54 {"label":"", "x":9.75, "y":8.5, "w":2},
55 {"label":"Fn", "x":11.75, "y":8.5, "w":1.25},
56 {"label":"&", "x":9.5, "y":9.0},
57 {"label":"*", "x":10.5, "y":9.0},
58 {"label":"(", "x":11.5, "y":9.0},
59 {"label":")", "x":12.5, "y":9.0},
60 {"label":"Y", "x":9, "y":10.0},
61 {"label":"U", "x":10, "y":10.0},
62 {"label":"I", "x":11, "y":10.0},
63 {"label":"O", "x":12, "y":10.0},
64 {"label":"H", "x":9.25, "y":11.0},
65 {"label":"J", "x":10.25, "y":11.0},
66 {"label":"K", "x":11.25, "y":11.0},
67 {"label":"L", "x":12.25, "y":11.0},
68 {"label":"Fn", "x":8.75, "y":12.0},
69 {"label":"N", "x":9.75, "y":12.0},
70 {"label":"M", "x":10.75, "y":12.0},
71 {"label":"<", "x":11.75, "y":12.0},
72 {"label":"Shift", "x":8.75, "y":13.0, "w":2.75},
73 {"label":"Alt", "x":11.5, "y":13.0, "w":1.5}
74 ]
75 }
76 }
77} \ No newline at end of file
diff --git a/keyboards/kapcave/arya/keymaps/default/keymap.c b/keyboards/kapcave/arya/keymaps/default/keymap.c
new file mode 100644
index 000000000..b8300b1f4
--- /dev/null
+++ b/keyboards/kapcave/arya/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
1/*
2Copyright 2021 KapCave
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
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 LAYOUT_alice_split_bs(
21 KC_ESC, KC_GESC, 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_GRV, KC_BSLS,
22 KC_PGUP, 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_BSPC,
23 KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
24 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
25 KC_LGUI, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL
26 ),
27 LAYOUT_alice_split_bs(
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP , _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______
33 ),
34}; \ No newline at end of file
diff --git a/keyboards/kapcave/arya/keymaps/default/readme.md b/keyboards/kapcave/arya/keymaps/default/readme.md
new file mode 100644
index 000000000..9d9894862
--- /dev/null
+++ b/keyboards/kapcave/arya/keymaps/default/readme.md
@@ -0,0 +1 @@
The default layout for the KapCave Arya \ No newline at end of file
diff --git a/keyboards/kapcave/arya/keymaps/via/keymap.c b/keyboards/kapcave/arya/keymaps/via/keymap.c
new file mode 100644
index 000000000..4b98707da
--- /dev/null
+++ b/keyboards/kapcave/arya/keymaps/via/keymap.c
@@ -0,0 +1,56 @@
1/*
2Copyright 2021 KapCave
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
19enum layer_names {
20 _BASE, // Default Layer
21 _FN, // Fn Layer 1
22 _FN2, // Fn Layer 2
23 _FN3 // Fn Layer 3
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28 /* QWERTY */
29 [_BASE] = LAYOUT_alice_split_bs(
30 KC_ESC, KC_GESC, 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_GRV, KC_BSLS,
31 KC_PGUP, 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_BSPC,
32 KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
33 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
34 KC_LGUI, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL
35 ),
36
37 /* FUNCTION */
38 [_FN] = LAYOUT_alice_split_bs(
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP , _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______
44 ),
45
46 [_FN2] = LAYOUT_alice_split_bs(
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , _______, _______,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
51 _______, _______, _______, _______, _______, _______, _______
52 ),
53
54
55};
56
diff --git a/keyboards/kapcave/arya/keymaps/via/readme.md b/keyboards/kapcave/arya/keymaps/via/readme.md
new file mode 100644
index 000000000..dcf12fbff
--- /dev/null
+++ b/keyboards/kapcave/arya/keymaps/via/readme.md
@@ -0,0 +1 @@
The VIA Keymap for the KapCave Arya \ No newline at end of file
diff --git a/keyboards/kapcave/arya/keymaps/via/rules.mk b/keyboards/kapcave/arya/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/kapcave/arya/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/kapcave/arya/mcuconf.h b/keyboards/kapcave/arya/mcuconf.h
new file mode 100644
index 000000000..5c161dbe3
--- /dev/null
+++ b/keyboards/kapcave/arya/mcuconf.h
@@ -0,0 +1,33 @@
1/*
2Copyright 2021 KapCave
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#include_next <mcuconf.h>
20
21/* enable TIM1, used for backlight PWM */
22#undef STM32_PWM_USE_TIM1
23#define STM32_PWM_USE_TIM1 TRUE
24
25/* enable TIM2, used for underglow PWM driver */
26#undef STM32_PWM_USE_TIM2
27#define STM32_PWM_USE_TIM2 TRUE
28
29/* move system from TIM2 (default) to TIM3 (since TIM2 is needed for underglow) */
30#undef STM32_PWM_USE_TIM3
31#define STM32_PWM_USE_TIM3 FALSE
32#undef STM32_ST_USE_TIMER
33#define STM32_ST_USE_TIMER 3
diff --git a/keyboards/kapcave/arya/readme.md b/keyboards/kapcave/arya/readme.md
new file mode 100644
index 000000000..12fe9684a
--- /dev/null
+++ b/keyboards/kapcave/arya/readme.md
@@ -0,0 +1,23 @@
1# KapCave Arya
2
3Firmware for the KapCave Arya Keyboard
4
5* Keyboard Maintainer: [KapCave](https://github.com/nachie)
6* Hardware Supported: Arya PCB
7* Hardware Availability: [KapCave](https://kapcave.com/products/arya-pcb)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make kapcave/arya:default
12
13Or to make and flash:
14
15 make kapcave/arya:default:flash
16
17
18See 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).
19
20## Bootloader
21
22* **Bootmagic reset**: Hold down Right Space key and plug in the keyboard
23* **Physical reset button**: Briefly press the button labeled "SW_RST1" on the back of the PCB
diff --git a/keyboards/kapcave/arya/rules.mk b/keyboards/kapcave/arya/rules.mk
new file mode 100644
index 000000000..473232771
--- /dev/null
+++ b/keyboards/kapcave/arya/rules.mk
@@ -0,0 +1,25 @@
1# MCU name
2MCU = STM32F072
3
4# Bootloader selection
5BOOTLOADER = stm32-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21AUDIO_ENABLE = no # Audio output
22ENCODER_ENABLE = yes
23
24# Enter lower-power sleep mode when on the ChibiOS idle thread
25OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/kapcave/gskt00/config.h b/keyboards/kapcave/gskt00/config.h
new file mode 100755
index 000000000..91c34182e
--- /dev/null
+++ b/keyboards/kapcave/gskt00/config.h
@@ -0,0 +1,52 @@
1/*
2Copyright 2021 KapCave
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 "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4B43
23#define PRODUCT_ID 0x6061
24#define DEVICE_VER 0x0001
25#define MANUFACTURER KapCave
26#define PRODUCT GSKT00
27
28/* key matrix size */
29#define MATRIX_ROWS 8
30#define MATRIX_COLS 8
31
32/* key matrix pins */
33#define MATRIX_ROW_PINS { F1, D1, D2, D4, D6, F7, B0, F4 }
34#define MATRIX_COL_PINS { F6, D7, F5, C7, B4, C6, B6, B5 }
35#define UNUSED_PINS
36
37#define BOOTMAGIC_LITE_ROW 3
38#define BOOTMAGIC_LITE_COLUMN 6
39
40/* COL2ROW or ROW2COL */
41#define DIODE_DIRECTION COL2ROW
42
43/* Set 0 if debouncing isn't needed */
44#define DEBOUNCE 5
45
46/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
47#define LOCKING_SUPPORT_ENABLE
48
49/* Locking resynchronize hack */
50#define LOCKING_RESYNC_ENABLE
51
52
diff --git a/keyboards/kapcave/gskt00/gskt00.c b/keyboards/kapcave/gskt00/gskt00.c
new file mode 100755
index 000000000..c2c2d823f
--- /dev/null
+++ b/keyboards/kapcave/gskt00/gskt00.c
@@ -0,0 +1,18 @@
1/*
2Copyright 2021 KapCave
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 "gskt00.h"
18
diff --git a/keyboards/kapcave/gskt00/gskt00.h b/keyboards/kapcave/gskt00/gskt00.h
new file mode 100755
index 000000000..d0ac51acd
--- /dev/null
+++ b/keyboards/kapcave/gskt00/gskt00.h
@@ -0,0 +1,73 @@
1/*
2Copyright 2021 KapCave
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 "quantum.h"
21
22#define XXX KC_NO
23
24#define LAYOUT_all( \
25 k36, k37, k46, k47, k56, k57, k66, k67, k76, k77, k06, k07, k17, k26, k27, \
26 k34, k35, k44, k45, k54, k55, k64, k65, k75, k05, k15, k16, k25, k24, \
27 k32, k33, k43, k52, k53, k63, k73, k74, k03, k04, k13, k14, k23, \
28 k31, k41, k42, k51, k61, k62, k71, k72, k01, k02, k11, k12, k21, k22, \
29 k30, k40, k50, k60, k00, k10, k20 \
30) { \
31 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
32 { k10, k11, k12, k13, k14, k15, k16, k17 }, \
33 { k20, k21, k22, k23, k24, k25, k26, k27 }, \
34 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
35 { k40, k41, k42, k43, k44, k45, k46, k47 }, \
36 { k50, k51, k52, k53, k54, k55, k56, k57 }, \
37 { k60, k61, k62, k63, k64, k65, k66, k67 }, \
38 { XXX, k71, k72, k73, k74, k75, k76, k77 } \
39}
40
41#define LAYOUT_60_iso_tsangan( \
42 k36, k37, k46, k47, k56, k57, k66, k67, k76, k77, k06, k07, k17, k27, \
43 k34, k35, k44, k45, k54, k55, k64, k65, k75, k05, k15, k16, k25, \
44 k32, k33, k43, k52, k53, k63, k73, k74, k03, k04, k13, k14, k24, k23, \
45 k31, k41, k42, k51, k61, k62, k71, k72, k01, k02, k11, k12, k21, \
46 k30, k40, k50, k60, k00, k10, k20 \
47) { \
48 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
49 { XXX, k11, k12, k13, k14, k15, k16, k17 }, \
50 { k20, k21, XXX, k23, k24, k25, XXX, k27 }, \
51 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
52 { k40, k41, k42, k43, k44, k45, k46, k47 }, \
53 { k50, k51, k52, k53, k54, k55, k56, k57 }, \
54 { k60, k61, k62, k63, k64, k65, k66, k67 }, \
55 { XXX, k71, k72, k73, k74, k75, k76, k77 } \
56}
57
58#define LAYOUT_60_ansi_tsangan( \
59 k36, k37, k46, k47, k56, k57, k66, k67, k76, k77, k06, k07, k17, k27, \
60 k34, k35, k44, k45, k54, k55, k64, k65, k75, k05, k15, k16, k25, k24, \
61 k32, k33, k43, k52, k53, k63, k73, k74, k03, k04, k13, k14, k23, \
62 k31, k42, k51, k61, k62, k71, k72, k01, k02, k11, k12, k21, \
63 k30, k40, k50, k60, k00, k10, k20 \
64) { \
65 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
66 { k10, k11, k12, k13, k14, k15, k16, k17 }, \
67 { k20, k21, XXX, k23, k24, k25, XXX, k27 }, \
68 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
69 { k40, XXX, k42, k43, k44, k45, k46, k47 }, \
70 { k50, k51, k52, k53, k54, k55, k56, k57 }, \
71 { k60, k61, k62, k63, k64, k65, k66, k67 }, \
72 { XXX, k71, k72, k73, k74, k75, k76, k77 } \
73}
diff --git a/keyboards/kapcave/gskt00/info.json b/keyboards/kapcave/gskt00/info.json
new file mode 100644
index 000000000..ba1455fae
--- /dev/null
+++ b/keyboards/kapcave/gskt00/info.json
@@ -0,0 +1,82 @@
1{
2 "keyboard_name": "GSKT-00",
3 "url": "https://kapcave.com/products/gskt-00-pcb-usb-c",
4 "maintainer": "nachie",
5 "layouts": {
6 "LAYOUT_60_ansi_tsangan": {
7 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
8 },
9
10 "LAYOUT_60_iso_tsangan": {
11 "layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"AltGr", "x":11, "y":4, "w":1.5}, {"label":"Menu", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
12 },
13
14 "LAYOUT_all": {
15 "layout": [
16 {"label":"Esc", "x":0, "y":0},
17 {"label":"1", "x":1, "y":0},
18 {"label":"2", "x":2, "y":0},
19 {"label":"3", "x":3, "y":0},
20 {"label":"4", "x":4, "y":0},
21 {"label":"5", "x":5, "y":0},
22 {"label":"6", "x":6, "y":0},
23 {"label":"7", "x":7, "y":0},
24 {"label":"8", "x":8, "y":0},
25 {"label":"9", "x":9, "y":0},
26 {"label":"0", "x":10, "y":0},
27 {"label":"-", "x":11, "y":0},
28 {"label":"=", "x":12, "y":0},
29 {"label":"\\", "x":13, "y":0},
30 {"label":"`", "x":14, "y":0},
31 {"label":"Tab", "x":0, "y":1, "w":1.5},
32 {"label":"Q", "x":1.5, "y":1},
33 {"label":"W", "x":2.5, "y":1},
34 {"label":"E", "x":3.5, "y":1},
35 {"label":"R", "x":4.5, "y":1},
36 {"label":"T", "x":5.5, "y":1},
37 {"label":"Y", "x":6.5, "y":1},
38 {"label":"U", "x":7.5, "y":1},
39 {"label":"I", "x":8.5, "y":1},
40 {"label":"O", "x":9.5, "y":1},
41 {"label":"P", "x":10.5, "y":1},
42 {"label":"[", "x":11.5, "y":1},
43 {"label":"]", "x":12.5, "y":1},
44 {"label":"Backspace", "x":13.5, "y":1, "w":1.5},
45 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
46 {"label":"A", "x":1.75, "y":2},
47 {"label":"S", "x":2.75, "y":2},
48 {"label":"D", "x":3.75, "y":2},
49 {"label":"F", "x":4.75, "y":2},
50 {"label":"G", "x":5.75, "y":2},
51 {"label":"H", "x":6.75, "y":2},
52 {"label":"J", "x":7.75, "y":2},
53 {"label":"K", "x":8.75, "y":2},
54 {"label":"L", "x":9.75, "y":2},
55 {"label":";", "x":10.75, "y":2},
56 {"label":"'", "x":11.75, "y":2},
57 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
58 {"label":"Shift", "x":0, "y":3, "w":1.25},
59 {"label":"ISO \\", "x":1.25, "y":3},
60 {"label":"Z", "x":2.25, "y":3},
61 {"label":"X", "x":3.25, "y":3},
62 {"label":"C", "x":4.25, "y":3},
63 {"label":"V", "x":5.25, "y":3},
64 {"label":"B", "x":6.25, "y":3},
65 {"label":"N", "x":7.25, "y":3},
66 {"label":"M", "x":8.25, "y":3},
67 {"label":",", "x":9.25, "y":3},
68 {"label":".", "x":10.25, "y":3},
69 {"label":"/", "x":11.25, "y":3},
70 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
71 {"label":"Fn", "x":14, "y":3},
72 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
73 {"label":"GUI", "x":1.5, "y":4},
74 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
75 {"label":"Space", "x":4, "y":4, "w":7},
76 {"label":"Alt", "x":11, "y":4, "w":1.5},
77 {"label":"GUI", "x":12.5, "y":4},
78 {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
79 ]
80 }
81 }
82}
diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
new file mode 100644
index 000000000..2db5749cb
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
@@ -0,0 +1,39 @@
1/*
2Copyright 2021 KapCave
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#define ENCODERS_PAD_A { D5 }
20#define ENCODERS_PAD_B { D3 }
21
22#define RGB_DI_PIN D0
23#ifdef RGB_DI_PIN
24#define RGBLIGHT_EFFECT_BREATHING
25#define RGBLIGHT_EFFECT_RAINBOW_MOOD
26#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
27#define RGBLIGHT_EFFECT_SNAKE
28#define RGBLIGHT_EFFECT_KNIGHT
29#define RGBLIGHT_EFFECT_CHRISTMAS
30#define RGBLIGHT_EFFECT_STATIC_GRADIENT
31#define RGBLIGHT_EFFECT_RGB_TEST
32#define RGBLIGHT_EFFECT_ALTERNATING
33#define RGBLIGHT_EFFECT_TWINKLE
34#define RGBLED_NUM 14
35#define RGBLIGHT_HUE_STEP 10
36#define RGBLIGHT_SAT_STEP 17
37#define RGBLIGHT_VAL_STEP 12
38#endif
39
diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/keymap.c b/keyboards/kapcave/gskt00/keymaps/default-poly/keymap.c
new file mode 100755
index 000000000..8c7e9720d
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/default-poly/keymap.c
@@ -0,0 +1,70 @@
1/*
2Copyright 2021 KapCave
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
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20
21 /* QWERTY */
22 LAYOUT_all(
23 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_GRV, KC_BSLS,
24 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_BSPC,
25 MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
26 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
27 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LCTL),
28
29 /* DVORAK */
30 LAYOUT_all(
31 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSLS,
32 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC,
33 MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT,
34 KC_LSFT, KC_NUBS, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, MO(3),
35 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL),
36
37 /* COLEMAK */
38 LAYOUT_all(
39 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_GRV, KC_BSLS,
40 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
41 MO(3), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
42 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
43 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL),
44
45 /* FUNCTION */
46 LAYOUT_all(
47 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_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC,
49 KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_CAPS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG)
52
53};
54
55bool encoder_update_user(uint8_t index, bool clockwise) {
56 if (index == 0) { /* First encoder */
57 if (clockwise) {
58 tap_code(KC_PGDN);
59 } else {
60 tap_code(KC_PGUP);
61 }
62 } else if (index == 1) { /* Second encoder */
63 if (clockwise) {
64 tap_code(KC_UP);
65 } else {
66 tap_code(KC_DOWN);
67 }
68 }
69 return true;
70} \ No newline at end of file
diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/readme.md b/keyboards/kapcave/gskt00/keymaps/default-poly/readme.md
new file mode 100644
index 000000000..1f6d7bcd3
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/default-poly/readme.md
@@ -0,0 +1 @@
There was a private run of Polycarbonate cases. This keymap supports the underglow PCBs that shipped out with those, in addition to future underglow pcbs. These PCBs also had encoder support which is reflected in the keymap. \ No newline at end of file
diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/rules.mk b/keyboards/kapcave/gskt00/keymaps/default-poly/rules.mk
new file mode 100644
index 000000000..53c9db2bd
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/default-poly/rules.mk
@@ -0,0 +1,2 @@
1RGBLIGHT_ENABLE = yes
2ENCODER_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kapcave/gskt00/keymaps/default/keymap.c b/keyboards/kapcave/gskt00/keymaps/default/keymap.c
new file mode 100755
index 000000000..0d8d6dad6
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
1/*
2Copyright 2021 KapCave
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
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20
21 /* QWERTY */
22 LAYOUT_all(
23 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_GRV, KC_BSPC,
24 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,
25 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
26 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
27 KC_LGUI, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(3)),
28
29 /* FUNCTION */
30 LAYOUT_all(
31 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_INS, KC_DEL,
32 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLCK, KC_PAUS, KC_UP, KC_PAUS, KC_DEL,
33 KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG)
36
37};
38
diff --git a/keyboards/kapcave/gskt00/keymaps/default/readme.md b/keyboards/kapcave/gskt00/keymaps/default/readme.md
new file mode 100644
index 000000000..042b07d14
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/default/readme.md
@@ -0,0 +1 @@
The default keymap for the GSKT-00 PCB. \ No newline at end of file
diff --git a/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c b/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c
new file mode 100755
index 000000000..8606d2484
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c
@@ -0,0 +1,82 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5 /* QWERTY */
6 LAYOUT_all(
7 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_GRV, KC_BSLS,
8 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_BSPC,
9 MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
10 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
11 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LCTL),
12
13 /* DVORAK */
14 LAYOUT_all(
15 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSLS,
16 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC,
17 MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT,
18 KC_LSFT, KC_NUBS, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, MO(3),
19 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL),
20
21 /* COLEMAK */
22 LAYOUT_all(
23 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_GRV, KC_BSLS,
24 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
25 MO(3), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
26 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
27 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL),
28
29 /* FUNCTION */
30 LAYOUT_all(
31 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_TRNS, KC_TRNS,
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC,
33 KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
34 KC_CAPS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG)
36
37};
38
39void matrix_init_user(void) {
40}
41
42void matrix_scan_user(void) {
43}
44
45bool process_record_user(uint16_t keycode, keyrecord_t *record) {
46 return true;
47}
48
49void led_set_user(uint8_t usb_led) {
50
51 if (usb_led & (1 << USB_LED_NUM_LOCK)) {
52
53 } else {
54
55 }
56
57 if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
58
59 } else {
60
61 }
62
63 if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
64
65 } else {
66
67 }
68
69 if (usb_led & (1 << USB_LED_COMPOSE)) {
70
71 } else {
72
73 }
74
75 if (usb_led & (1 << USB_LED_KANA)) {
76
77 } else {
78
79 }
80
81}
82
diff --git a/keyboards/kapcave/gskt00/keymaps/via/keymap.c b/keyboards/kapcave/gskt00/keymaps/via/keymap.c
new file mode 100755
index 000000000..95bc13142
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/via/keymap.c
@@ -0,0 +1,57 @@
1/*
2Copyright 2021 KapCave
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
19enum layer_names {
20 _BASE, // Default Layer
21 _FN, // Fn Layer 1
22 _FN2, // Fn Layer 2
23 _FN3 // Fn Layer 3
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28 /* QWERTY */
29 [_BASE] = LAYOUT_all(
30 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_GRV, KC_BSPC,
31 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,
32 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
33 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
34 KC_LGUI, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(3)),
35
36 /* FUNCTION */
37 [_FN] = LAYOUT_all(
38 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_INS, KC_DEL,
39 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLCK, KC_PAUS, KC_UP, KC_PAUS, KC_DEL,
40 KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
43
44 [_FN2] = LAYOUT_all(
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
49 _______, _______, _______, _______, _______, _______, _______),
50
51 [_FN3] = LAYOUT_all(
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
53 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
55 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
56 _______, _______, _______, _______, _______, _______, _______)
57};
diff --git a/keyboards/kapcave/gskt00/keymaps/via/readme.md b/keyboards/kapcave/gskt00/keymaps/via/readme.md
new file mode 100644
index 000000000..c5c3db7e3
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/via/readme.md
@@ -0,0 +1 @@
The via keymap for the GSKT-00 PCB. \ No newline at end of file
diff --git a/keyboards/kapcave/gskt00/keymaps/via/rules.mk b/keyboards/kapcave/gskt00/keymaps/via/rules.mk
new file mode 100644
index 000000000..036bd6d1c
--- /dev/null
+++ b/keyboards/kapcave/gskt00/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kapcave/gskt00/readme.md b/keyboards/kapcave/gskt00/readme.md
new file mode 100644
index 000000000..d1a90ca58
--- /dev/null
+++ b/keyboards/kapcave/gskt00/readme.md
@@ -0,0 +1,23 @@
1# GSKT-00 PCB
2
3Firmware for the GSKT-00 PCB
4
5* Keyboard Maintainer: [KapCave](https://github.com/nachie)
6* Hardware Supported: GSKT-00 PCB
7* Hardware Availability: [KapCave](https://kapcave.com/products/gskt-00-pcb-usb-c)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make kapcave/gskt00:default
12
13Or to make and flash:
14
15 make kapcave/gskt00:default:flash
16
17
18See 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).
19
20## Bootloader
21
22* **Bootmagic reset**: Hold down ESC key (top left) and plug in the keyboard
23* **Physical reset button**: Briefly press the button labeled "SW_RST1" on the back of the PCB
diff --git a/keyboards/kapcave/gskt00/rules.mk b/keyboards/kapcave/gskt00/rules.mk
new file mode 100755
index 000000000..0c803ec2e
--- /dev/null
+++ b/keyboards/kapcave/gskt00/rules.mk
@@ -0,0 +1,21 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# comment out to disable the options.
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
16NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
17BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
18AUDIO_ENABLE = no
19RGBLIGHT_ENABLE = no
20
21LAYOUTS = 60_ansi_tsangan 60_iso_tsangan
diff --git a/keyboards/kapcave/paladin64/config.h b/keyboards/kapcave/paladin64/config.h
new file mode 100755
index 000000000..2685be96c
--- /dev/null
+++ b/keyboards/kapcave/paladin64/config.h
@@ -0,0 +1,133 @@
1/*
2Copyright 2021 KapCave
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 "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4B43
23#define PRODUCT_ID 0x5036
24#define DEVICE_VER 0x0001
25#define MANUFACTURER KapCave
26#define PRODUCT paladin64
27
28/* key matrix size */
29#define MATRIX_ROWS 8
30#define MATRIX_COLS 8
31
32#define BOOTMAGIC_LITE_ROW 3
33#define BOOTMAGIC_LITE_COLUMN 6
34
35/* Only required if you add in a trackpoint hardware to the pcb */
36#ifdef PS2_USE_USART
37 #define PS2_CLOCK_PORT PORTD
38 #define PS2_CLOCK_PIN PIND
39 #define PS2_CLOCK_DDR DDRD
40 #define PS2_CLOCK_BIT 5
41 #define PS2_DATA_PORT PORTD
42 #define PS2_DATA_PIN PIND
43 #define PS2_DATA_DDR DDRD
44 #define PS2_DATA_BIT 2
45
46 /* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling
47 * edge */
48 /* set DDR of CLOCK as input to be slave */
49 #define PS2_USART_INIT() do { \
50 PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \
51 PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \
52 UCSR1C = ((1 << UMSEL10) | \
53 (3 << UPM10) | \
54 (0 << USBS1) | \
55 (3 << UCSZ10) | \
56 (0 << UCPOL1)); \
57 UCSR1A = 0; \
58 UBRR1H = 0; \
59 UBRR1L = 0; \
60 } while (0)
61 #define PS2_USART_RX_INT_ON() do { \
62 UCSR1B = ((1 << RXCIE1) | \
63 (1 << RXEN1)); \
64 } while (0)
65 #define PS2_USART_RX_POLL_ON() do { \
66 UCSR1B = (1 << RXEN1); \
67 } while (0)
68 #define PS2_USART_OFF() do { \
69 UCSR1C = 0; \
70 UCSR1B &= ~((1 << RXEN1) | \
71 (1 << TXEN1)); \
72 } while (0)
73 #define PS2_USART_RX_READY (UCSR1A & (1<<RXC1))
74 #define PS2_USART_RX_DATA UDR1
75 #define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1)))
76 #define PS2_USART_RX_VECT USART1_RX_vect
77#endif
78
79#ifdef PS2_USE_INT
80#define PS2_CLOCK_PORT PORTD
81#define PS2_CLOCK_PIN PIND
82#define PS2_CLOCK_DDR DDRD
83#define PS2_CLOCK_BIT 2
84#define PS2_DATA_PORT PORTD
85#define PS2_DATA_PIN PIND
86#define PS2_DATA_DDR DDRD
87#define PS2_DATA_BIT 5
88
89 #define PS2_INT_INIT() do { \
90 EICRA |= ((1<<ISC21) | \
91 (0<<ISC20)); \
92 } while (0)
93 #define PS2_INT_ON() do { \
94 EIMSK |= (1<<INT2); \
95 } while (0)
96 #define PS2_INT_OFF() do { \
97 EIMSK &= ~(1<<INT2); \
98 } while (0)
99 #define PS2_INT_VECT INT2_vect
100
101#endif
102
103/* key matrix pins */
104#define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, D6, B0, D3 }
105#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, F0, D1 }
106#define UNUSED_PINS
107
108/* COL2ROW or ROW2COL */
109#define DIODE_DIRECTION COL2ROW
110
111/* number of backlight levels */
112
113#ifdef BACKLIGHT_PIN
114#define BACKLIGHT_LEVELS 3
115#endif
116
117/* Set 0 if debouncing isn't needed */
118#define DEBOUNCE 5
119
120/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
121#define LOCKING_SUPPORT_ENABLE
122
123/* Locking resynchronize hack */
124#define LOCKING_RESYNC_ENABLE
125
126#define RGB_DI_PIN D0
127#ifdef RGB_DI_PIN
128#define RGBLIGHT_ANIMATIONS
129#define RGBLED_NUM 14
130#define RGBLIGHT_HUE_STEP 10
131#define RGBLIGHT_SAT_STEP 17
132#define RGBLIGHT_VAL_STEP 12
133#endif
diff --git a/keyboards/kapcave/paladin64/info.json b/keyboards/kapcave/paladin64/info.json
new file mode 100644
index 000000000..207010c24
--- /dev/null
+++ b/keyboards/kapcave/paladin64/info.json
@@ -0,0 +1,26 @@
1{
2 "keyboard_name": "Paladin64",
3 "url": "https://kapcave.com/products/paladin64-pcb",
4 "maintainer": "nachie",
5 "layouts": {
6 "LAYOUT_all": {
7 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
8 },
9
10 "LAYOUT_60_ansi": {
11 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
12 },
13
14 "LAYOUT_infinity": {
15 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":6}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Win", "x":11.5, "y":4}, {"label":"Menu", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
16 },
17
18 "LAYOUT_aek_103": {
19 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4, "w":1.25}, {"label":"Alt", "x":2.75, "y":4, "w":1.5}, {"x":4.25, "y":4, "w":6.5}, {"label":"Alt", "x":10.75, "y":4, "w":1.5}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
20 },
21
22 "LAYOUT_iso": {
23 "layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"AltGr", "x":11, "y":4, "w":1.5}, {"label":"Menu", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
24 }
25 }
26 }
diff --git a/keyboards/kapcave/paladin64/keymaps/default/keymap.c b/keyboards/kapcave/paladin64/keymaps/default/keymap.c
new file mode 100755
index 000000000..ed906909f
--- /dev/null
+++ b/keyboards/kapcave/paladin64/keymaps/default/keymap.c
@@ -0,0 +1,61 @@
1/*
2Copyright 2021 KapCave
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
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20
21 /* QWERTY */
22 LAYOUT_all(
23 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_GRV, KC_BSLS,
24 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_BSPC,
25 MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
26 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
27 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_APP, KC_RGUI, KC_RALT, KC_LCTL),
28
29 /* DVORAK */
30 LAYOUT_all(
31 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSLS,
32 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC,
33 MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT,
34 KC_LSFT, KC_NUBS, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, MO(3),
35 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_APP, KC_RGUI, KC_RALT, KC_RCTL),
36
37 /* COLEMAK */
38 LAYOUT_all(
39 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_GRV, KC_BSLS,
40 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
41 MO(3), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
42 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
43 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_APP, KC_RGUI, KC_RALT, KC_RCTL),
44
45 /* FUNCTION */
46 LAYOUT_all(
47 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_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC,
49 KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_CAPS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG),
52
53 /* AutoMouse */
54 LAYOUT_all(
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
60
61};
diff --git a/keyboards/kapcave/paladin64/keymaps/default/readme.md b/keyboards/kapcave/paladin64/keymaps/default/readme.md
new file mode 100644
index 000000000..11248150d
--- /dev/null
+++ b/keyboards/kapcave/paladin64/keymaps/default/readme.md
@@ -0,0 +1 @@
The default keymap for Paladin64 \ No newline at end of file
diff --git a/keyboards/kapcave/paladin64/keymaps/via/keymap.c b/keyboards/kapcave/paladin64/keymaps/via/keymap.c
new file mode 100644
index 000000000..7ce94a5ef
--- /dev/null
+++ b/keyboards/kapcave/paladin64/keymaps/via/keymap.c
@@ -0,0 +1,59 @@
1/*
2Copyright 2021 KapCave
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
19enum layer_names {
20 _BASE, // Default Layer
21 _FN, // Fn Layer 1
22 _FN2, // Fn Layer 2
23 _FN3 // Fn Layer 3
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28 /* QWERTY */
29 [_BASE] = LAYOUT_all(
30 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_GRV, KC_BSLS,
31 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_BSPC,
32 MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
33 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(3),
34 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_APP, KC_RGUI, KC_RALT, KC_LCTL),
35
36 /* FUNCTION */
37 [_FN] = LAYOUT_all(
38 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_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC,
40 KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
41 KC_CAPS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG),
43
44 [_FN2] = LAYOUT_all(
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
49 _______, _______, _______, _______, _______, _______, _______, _______),
50
51 [_FN3] = LAYOUT_all(
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
53 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
55 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
56 _______, _______, _______, _______, _______, _______, _______, _______)
57
58};
59
diff --git a/keyboards/kapcave/paladin64/keymaps/via/readme.md b/keyboards/kapcave/paladin64/keymaps/via/readme.md
new file mode 100644
index 000000000..2cf66cd4c
--- /dev/null
+++ b/keyboards/kapcave/paladin64/keymaps/via/readme.md
@@ -0,0 +1 @@
Via layout for the paladin64 pcb \ No newline at end of file
diff --git a/keyboards/kapcave/paladin64/keymaps/via/rules.mk b/keyboards/kapcave/paladin64/keymaps/via/rules.mk
new file mode 100644
index 000000000..036bd6d1c
--- /dev/null
+++ b/keyboards/kapcave/paladin64/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kapcave/paladin64/paladin64.c b/keyboards/kapcave/paladin64/paladin64.c
new file mode 100755
index 000000000..88dd1fdff
--- /dev/null
+++ b/keyboards/kapcave/paladin64/paladin64.c
@@ -0,0 +1,18 @@
1/*
2Copyright 2021 KapCave
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 "paladin64.h"
18
diff --git a/keyboards/kapcave/paladin64/paladin64.h b/keyboards/kapcave/paladin64/paladin64.h
new file mode 100755
index 000000000..b578c1854
--- /dev/null
+++ b/keyboards/kapcave/paladin64/paladin64.h
@@ -0,0 +1,106 @@
1/*
2Copyright 2021 KapCave
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#define XXX KC_NO
22
23#define LAYOUT_all( \
24 k36, k37, k46, k47, k56, k57, k66, k67, k76, k77, k06, k07, k17, k26, k27, \
25 k34, k35, k44, k45, k54, k55, k64, k65, k75, k05, k15, k16, k25, k24, \
26 k32, k33, k43, k52, k53, k63, k73, k74, k03, k04, k13, k14, k23, \
27 k31, k41, k42, k51, k61, k62, k71, k72, k01, k02, k11, k12, k21, k22, \
28 k30, k40, k50, k60, k70, k00, k10, k20 \
29) { \
30 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
31 { k10, k11, k12, k13, k14, k15, k16, k17 }, \
32 { k20, k21, k22, k23, k24, k25, k26, k27 }, \
33 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
34 { k40, k41, k42, k43, k44, k45, k46, k47 }, \
35 { k50, k51, k52, k53, k54, k55, k56, k57 }, \
36 { k60, k61, k62, k63, k64, k65, k66, k67 }, \
37 { k70, k71, k72, k73, k74, k75, k76, k77 } \
38}
39
40#define LAYOUT_iso( \
41 k36, k37, k46, k47, k56, k57, k66, k67, k76, k77, k06, k07, k17, k27, \
42 k34, k35, k44, k45, k54, k55, k64, k65, k75, k05, k15, k16, k25, k24, \
43 k32, k33, k43, k52, k53, k63, k73, k74, k03, k04, k13, k14, k23, \
44 k31, k41, k42, k51, k61, k62, k71, k72, k01, k02, k11, k12, k21, \
45 k30, k40, k50, k60, k70, k00, k20 \
46) { \
47 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
48 { XXX, k11, k12, k13, k14, k15, k16, k17 }, \
49 { k20, k21, XXX, k23, k24, k25, XXX, k27 }, \
50 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
51 { k40, k41, k42, k43, k44, k45, k46, k47 }, \
52 { k50, k51, k52, k53, k54, k55, k56, k57 }, \
53 { k60, k61, k62, k63, k64, k65, k66, k67 }, \
54 { k70, k71, k72, k73, k74, k75, k76, k77 } \
55}
56
57#define LAYOUT_60_ansi( \
58 k36, k37, k46, k47, k56, k57, k66, k67, k76, k77, k06, k07, k17, k27, \
59 k34, k35, k44, k45, k54, k55, k64, k65, k75, k05, k15, k16, k25, k24, \
60 k32, k33, k43, k52, k53, k63, k73, k74, k03, k04, k13, k14, k23, \
61 k31, k42, k51, k61, k62, k71, k72, k01, k02, k11, k12, k21, \
62 k30, k40, k50, k60, k70, k00, k10, k20 \
63) { \
64 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
65 { k10, k11, k12, k13, k14, k15, k16, k17 }, \
66 { k20, k21, XXX, k23, k24, k25, XXX, k27 }, \
67 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
68 { k40, XXX, k42, k43, k44, k45, k46, k47 }, \
69 { k50, k51, k52, k53, k54, k55, k56, k57 }, \
70 { k60, k61, k62, k63, k64, k65, k66, k67 }, \
71 { k70, k71, k72, k73, k74, k75, k76, k77 } \
72}
73
74#define LAYOUT_infinity( \
75 k36, k37, k46, k47, k56, k57, k66, k67, k76, k77, k06, k07, k17, k26, k27, \
76 k34, k35, k44, k45, k54, k55, k64, k65, k75, k05, k15, k16, k25, k24, \
77 k32, k33, k43, k52, k53, k63, k73, k74, k03, k04, k13, k14, k23, \
78 k31, k42, k51, k61, k62, k71, k72, k01, k02, k11, k12, k21, k22, \
79 k30, k40, k50, k60, k70, k00, k10, k20 \
80) { \
81 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
82 { k10, k11, k12, k13, k14, k15, k16, k17 }, \
83 { k20, k21, k22, k23, k24, k25, k26, k27 }, \
84 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
85 { k40, XXX, k42, k43, k44, k45, k46, k47 }, \
86 { k50, k51, k52, k53, k54, k55, k56, k57 }, \
87 { k60, k61, k62, k63, k64, k65, k66, k67 }, \
88 { k70, k71, k72, k73, k74, k75, k76, k77 } \
89}
90
91#define LAYOUT_aek_103( \
92 k36, k37, k46, k47, k56, k57, k66, k67, k76, k77, k06, k07, k17, k27, \
93 k34, k35, k44, k45, k54, k55, k64, k65, k75, k05, k15, k16, k25, k24, \
94 k32, k33, k43, k52, k53, k63, k73, k74, k03, k04, k13, k14, k23, \
95 k31, k42, k51, k61, k62, k71, k72, k01, k02, k11, k12, k21, \
96 k30, k40, k50, k60, k70, k00, k20 \
97) { \
98 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
99 { XXX, k11, k12, k13, k14, k15, k16, k17 }, \
100 { k20, k21, XXX, k23, k24, k25, XXX, k27 }, \
101 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
102 { k40, XXX, k42, k43, k44, k45, k46, k47 }, \
103 { k50, k51, k52, k53, k54, k55, k56, k57 }, \
104 { k60, k61, k62, k63, k64, k65, k66, k67 }, \
105 { k70, k71, k72, k73, k74, k75, k76, k77 } \
106}
diff --git a/keyboards/kapcave/paladin64/readme.md b/keyboards/kapcave/paladin64/readme.md
new file mode 100644
index 000000000..cc4a9b67e
--- /dev/null
+++ b/keyboards/kapcave/paladin64/readme.md
@@ -0,0 +1,24 @@
1# Paladin64 ALPS PCB
2
3Firmware for the Paladin64 ALPS64 PCB, with underglow and an optional
4trackpoint module.
5
6* Keyboard Maintainer: [KapCave](https://github.com/nachie)
7* Hardware Supported: Paladin64 ALPS PCB
8* Hardware Availability: [KapCave](https://kapcave.com/products/paladin64-pcb)
9
10Make example for this keyboard (after setting up your build environment):
11
12 make kapcave/paladin64:default
13
14Or to make and flash:
15
16 make kapcave/paladin64:default:flash
17
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
23* **Bootmagic reset**: Hold down ESC key (top left) and plug in the keyboard
24* **Physical reset button**: Briefly press the button labeled "SW_RST1" on the back of the PCB
diff --git a/keyboards/kapcave/paladin64/rules.mk b/keyboards/kapcave/paladin64/rules.mk
new file mode 100755
index 000000000..f526755d4
--- /dev/null
+++ b/keyboards/kapcave/paladin64/rules.mk
@@ -0,0 +1,23 @@
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 = yes # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21AUDIO_ENABLE = no # Audio output
22
23LAYOUTS = 60_ansi
diff --git a/keyboards/kapcave/paladinpad/config.h b/keyboards/kapcave/paladinpad/config.h
new file mode 100644
index 000000000..9b3c9a4ca
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/config.h
@@ -0,0 +1,46 @@
1/*
2Copyright 2021 KapCave
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 "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4B43
23#define PRODUCT_ID 0x5050
24#define MANUFACTURER KapCave
25#define PRODUCT paladinpad
26
27/* key matrix size */
28#define MATRIX_ROWS 5
29#define MATRIX_COLS 4
30
31/* COL2ROW or ROW2COL */
32#define DIODE_DIRECTION COL2ROW
33
34/* number of backlight levels */
35
36#ifdef BACKLIGHT_PIN
37#define BACKLIGHT_LEVELS 3
38#endif
39
40/* Set 0 if debouncing isn't needed */
41#define DEBOUNCE 5
42
43/* prevent stuck modifiers */
44#define PREVENT_STUCK_MODIFIERS
45
46
diff --git a/keyboards/kapcave/paladinpad/info.json b/keyboards/kapcave/paladinpad/info.json
new file mode 100644
index 000000000..7d1afccf6
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/info.json
@@ -0,0 +1,82 @@
1{
2 "keyboard_name": "PaladinPad",
3 "url": "https://kapcave.com/products/paladinpad-pcb",
4 "maintainer": "nachie",
5 "layouts": {
6 "LAYOUT_ortho_5x4": {
7 "layout": [
8 {"x":0, "y":0},
9 {"x":1, "y":0},
10 {"x":2, "y":0},
11 {"x":3, "y":0},
12 {"x":0, "y":1},
13 {"x":1, "y":1},
14 {"x":2, "y":1},
15 {"x":3, "y":1},
16 {"x":0, "y":2},
17 {"x":1, "y":2},
18 {"x":2, "y":2},
19 {"x":3, "y":2},
20 {"x":0, "y":3},
21 {"x":1, "y":3},
22 {"x":2, "y":3},
23 {"x":3, "y":3},
24 {"x":0, "y":4},
25 {"x":1, "y":4},
26 {"x":2, "y":4},
27 {"x":3, "y":4}
28 ]
29 },
30 "LAYOUT_numpad_aek": {
31 "layout": [
32 {"x":0, "y":0},
33 {"x":1, "y":0},
34 {"x":2, "y":0},
35 {"x":3, "y":0},
36
37 {"x":0, "y":1},
38 {"x":1, "y":1},
39 {"x":2, "y":1},
40 {"x":3, "y":1},
41
42 {"x":0, "y":2},
43 {"x":1, "y":2},
44 {"x":2, "y":2},
45 {"x":3, "y":2},
46
47 {"x":0, "y":3},
48 {"x":1, "y":3},
49 {"x":2, "y":3},
50
51 {"x":0, "y":4, "w":2},
52 {"x":2, "y":4},
53 {"x":3, "y":3, "h":2}
54 ]
55 },
56 "LAYOUT_numpad_5x4": {
57 "layout": [
58 {"x":0, "y":0},
59 {"x":1, "y":0},
60 {"x":2, "y":0},
61 {"x":3, "y":0},
62
63 {"x":0, "y":1},
64 {"x":1, "y":1},
65 {"x":2, "y":1},
66
67 {"x":0, "y":2},
68 {"x":1, "y":2},
69 {"x":2, "y":2},
70 {"x":3, "y":1, "h":2},
71
72 {"x":0, "y":3},
73 {"x":1, "y":3},
74 {"x":2, "y":3},
75
76 {"x":0, "y":4, "w":2},
77 {"x":2, "y":4},
78 {"x":3, "y":3, "h":2}
79 ]
80 }
81 }
82}
diff --git a/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c b/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c
new file mode 100644
index 000000000..79c3baae4
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c
@@ -0,0 +1,38 @@
1/*
2Copyright 2021 KapCave
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
22 /* DEFAULT */
23 LAYOUT_numpad_aek(
24 MO(1), KC_PEQL, KC_PSLS, KC_PAST,
25 KC_P7, KC_P8, KC_P9, KC_PMNS,
26 KC_P4, KC_P5, KC_P6, KC_PPLS,
27 KC_P1, KC_P2, KC_P3,
28 KC_P0, KC_PDOT, KC_PENT),
29
30 /* FUNCTION */
31 LAYOUT_numpad_aek(
32 KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS,
33 RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,
34 RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, RESET, KC_NLCK)
37};
38
diff --git a/keyboards/kapcave/paladinpad/keymaps/aek/readme.md b/keyboards/kapcave/paladinpad/keymaps/aek/readme.md
new file mode 100644
index 000000000..44b106fa6
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/keymaps/aek/readme.md
@@ -0,0 +1 @@
The keymap for PaladinPad which resembles the AEK Numpad \ No newline at end of file
diff --git a/keyboards/kapcave/paladinpad/keymaps/default/keymap.c b/keyboards/kapcave/paladinpad/keymaps/default/keymap.c
new file mode 100644
index 000000000..30dd1b9c0
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
1/*
2Copyright 2021 KapCave
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
22 /* DEFAULT */
23 LAYOUT_numpad_5x4(
24 MO(1), KC_PAST, KC_PSLS, KC_PMNS,
25 KC_P7, KC_P8, KC_P9,
26 KC_P4, KC_P5, KC_P6, KC_PPLS,
27 KC_P1, KC_P2, KC_P3,
28 KC_P0, KC_PDOT, KC_PENT),
29
30 /* FUNCTION */
31 LAYOUT_numpad_5x4(
32 KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS,
33 RGB_HUI, RGB_SAI, RGB_VAI,
34 RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, RESET, KC_NLCK)
37};
38
diff --git a/keyboards/kapcave/paladinpad/keymaps/default/readme.md b/keyboards/kapcave/paladinpad/keymaps/default/readme.md
new file mode 100644
index 000000000..2ade4edf3
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/keymaps/default/readme.md
@@ -0,0 +1 @@
The default keymap for PaladinPad which resembles the AEK Numpad \ No newline at end of file
diff --git a/keyboards/kapcave/paladinpad/keymaps/ortho/keymap.c b/keyboards/kapcave/paladinpad/keymaps/ortho/keymap.c
new file mode 100644
index 000000000..a65b53b34
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/keymaps/ortho/keymap.c
@@ -0,0 +1,53 @@
1/*
2Copyright 2021 KapCave
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
19enum custom_keycodes {
20 DBLZERO = SAFE_RANGE
21};
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24
25 /* DEFAULT */
26 LAYOUT_ortho_5x4(
27 MO(1), KC_PSLS, KC_PAST, KC_BSPC,
28 KC_P7, KC_P8, KC_P9, KC_MINS,
29 KC_P4, KC_P5, KC_P6, KC_PPLS,
30 KC_P1, KC_P2, KC_P3, KC_EQL,
31 DBLZERO, KC_P0, KC_PDOT, KC_PENT),
32
33 /* FUNCTION */
34 LAYOUT_ortho_5x4(
35 KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS,
36 RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,
37 RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, RESET, KC_NLCK)
40};
41
42bool process_record_user(uint16_t keycode, keyrecord_t *record) {
43 switch (keycode) {
44 case DBLZERO:
45 if (record->event.pressed) {
46 SEND_STRING("00");
47 }
48 break;
49 }
50 return true;
51}
52
53
diff --git a/keyboards/kapcave/paladinpad/keymaps/ortho/readme.md b/keyboards/kapcave/paladinpad/keymaps/ortho/readme.md
new file mode 100644
index 000000000..4dc98d30f
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/keymaps/ortho/readme.md
@@ -0,0 +1 @@
The ortho keymap for PaladinPad which makes it a 5x4 ortho pad \ No newline at end of file
diff --git a/keyboards/kapcave/paladinpad/keymaps/via/keymap.c b/keyboards/kapcave/paladinpad/keymaps/via/keymap.c
new file mode 100644
index 000000000..2315da4ac
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/keymaps/via/keymap.c
@@ -0,0 +1,59 @@
1/*
2Copyright 2021 KapCave
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
19enum layer_names {
20 _BASE, // Default Layer
21 _FN, // Fn Layer 1
22 _FN2, // Fn Layer 2
23 _FN3 // Fn Layer 3
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28 /* DEFAULT */
29 [_BASE] = LAYOUT_ortho_5x4(
30 MO(1), KC_PSLS, KC_PAST, KC_BSPC,
31 KC_P7, KC_P8, KC_P9, KC_MINS,
32 KC_P4, KC_P5, KC_P6, KC_PPLS,
33 KC_P1, KC_P2, KC_P3, KC_EQL,
34 KC_P0, KC_P0, KC_PDOT, KC_PENT),
35
36 /* FUNCTION */
37 [_FN] = LAYOUT_ortho_5x4(
38 KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS,
39 RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,
40 RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, RESET, KC_NLCK),
43
44 /* FUNCTION */
45 [_FN2] = LAYOUT_ortho_5x4(
46 _______, _______, _______, _______,
47 _______, _______, _______, _______,
48 _______, _______, _______, _______,
49 _______, _______, _______, _______,
50 _______, _______, _______, _______),
51
52 /* FUNCTION */
53 [_FN3] = LAYOUT_ortho_5x4(
54 _______, _______, _______, _______,
55 _______, _______, _______, _______,
56 _______, _______, _______, _______,
57 _______, _______, _______, _______,
58 _______, _______, _______, _______)
59};
diff --git a/keyboards/kapcave/paladinpad/keymaps/via/rules.mk b/keyboards/kapcave/paladinpad/keymaps/via/rules.mk
new file mode 100644
index 000000000..600f7d16a
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
1VIA_ENABLE = yes
2# Not enough space on ATMega32u4 for RGB + Audio + Via
3AUDIO_ENABLE = no \ No newline at end of file
diff --git a/keyboards/kapcave/paladinpad/paladinpad.c b/keyboards/kapcave/paladinpad/paladinpad.c
new file mode 100644
index 000000000..063e49c87
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/paladinpad.c
@@ -0,0 +1,17 @@
1/*
2Copyright 2021 KapCave
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 "paladinpad.h"
diff --git a/keyboards/kapcave/paladinpad/paladinpad.h b/keyboards/kapcave/paladinpad/paladinpad.h
new file mode 100644
index 000000000..54b320c42
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/paladinpad.h
@@ -0,0 +1,103 @@
1/*
2Copyright 2021 KapCave
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 * ┌─────┬─────┬─────┬─────┐
23 * │Num1 │ Eq │Slsh │Star │
24 * ├─────┼─────┼─────┼─────┤
25 * │ 7 │ 8 │ 9 │ │
26 * ├─────┼─────┼─────┤Plus │
27 * │ 4 │ 5 │ 6 │ │
28 * ├─────┼─────┼─────┼─────┤
29 * │ 1 │ 2 │ 3 │ │
30 * ├─────┴─────┼─────┤ Ent │
31 * │ 0 │ . │ │
32 * └───────────┴─────┴─────┘
33 */
34
35#define LAYOUT_numpad_5x4( \
36 K_NUM1, K_SLSH, K_STAR, K_MINUS, \
37 K_7, K_8, K_9, \
38 K_4, K_5, K_6, K_PLUS, \
39 K_1, K_2, K_3, \
40 K_0, K_DOT, K_ENT \
41) { \
42 { K_NUM1, K_SLSH, K_STAR, K_MINUS }, \
43 { K_7, K_8, K_9, KC_NO }, \
44 { K_4, K_5, K_6, K_PLUS }, \
45 { K_1, K_2, K_3, K_ENT }, \
46 { K_0, K_DOT, KC_NO, KC_NO } \
47}
48
49/*
50 * ┌─────┬─────┬─────┬─────┐
51 * │Num1 │Eql │Slsh │Star │
52 * ├─────┼─────┼─────┼─────┤
53 * │ 7 │ 8 │ 9 │Minus│
54 * ├─────┼─────┼─────┼─────┤
55 * │ 4 │ 5 │ 6 │Plus │
56 * ├─────┼─────┼─────┼─────┤
57 * │ 1 │ 2 │ 3 │ │
58 * ├─────┼─────┼─────┤ Ent │
59 * │ 0 │ 10 │ . │ │
60 * └─────┴─────┴─────┴─────┘
61 */
62
63#define LAYOUT_numpad_aek( \
64 K_NUM1, K_EQ1, K_SLSH1, K_STAR1, \
65 K_7, K_8, K_9, K_MINUS1, \
66 K_4, K_5, K_6, K_PLUS, \
67 K_1, K_2, K_3, \
68 K_0, K_DOT1, K_ENT \
69) { \
70 { K_NUM1, K_EQ1, K_SLSH1, K_STAR1 }, \
71 { K_7, K_8, K_9, K_MINUS1 }, \
72 { K_4, K_5, K_6, K_PLUS }, \
73 { K_1, K_2, K_3, K_ENT }, \
74 { K_0, K_DOT1, KC_NO, KC_NO } \
75}
76
77/*
78 * ┌─────┬─────┬─────┬─────┐
79 * │Num1 │ Eq │Slsh │Star │
80 * ├─────┼─────┼─────┼─────┤
81 * │ 7 │ 8 │ 9 │Minus│
82 * ├─────┼─────┼─────┼─────┤
83 * │ 4 │ 5 │ 6 │Plus │
84 * ├─────┼─────┼─────┼─────┤
85 * │ 1 │ 2 │ 3 │ 11 │
86 * ├─────┼─────┼─────┼─────┤
87 * │ 0 │ 10 │ . │ Ent │
88 * └─────┴─────┴─────┴─────┘
89 */
90
91#define LAYOUT_ortho_5x4( \
92 K_NUM1, K_EQ1, K_SLSH1, K_STAR1, \
93 K_7, K_8, K_9, K_MINUS1, \
94 K_4, K_5, K_6, K_PLUS, \
95 K_1, K_2, K_3, K_11, \
96 K_0, K_10, K_DOT1, K_ENT \
97) { \
98 { K_NUM1, K_EQ1, K_SLSH1, K_STAR1 }, \
99 { K_7, K_8, K_9, K_MINUS1 }, \
100 { K_4, K_5, K_6, K_PLUS }, \
101 { K_1, K_2, K_3, K_ENT }, \
102 { K_0, K_DOT1, K_10, K_11 } \
103}
diff --git a/keyboards/kapcave/paladinpad/readme.md b/keyboards/kapcave/paladinpad/readme.md
new file mode 100644
index 000000000..f21c43d78
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/readme.md
@@ -0,0 +1,23 @@
1# PaladinPad PCB
2
3Firmware for the PaladinPad, with underglow.
4
5* Keyboard Maintainer: [KapCave](https://github.com/nachie)
6* Hardware Supported: PaladinPad
7* Hardware Availability: [KapCave](https://kapcave.com/products/paladinpad-pcb)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make kapcave/paladinpad:default
12
13Or to make and flash:
14
15 make kapcave/paladinpad:default:flash
16
17
18See 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).
19
20## Bootloader
21
22* **Bootmagic reset**: Hold down NumLock (Top Left) and plug in the keyboard
23* **Physical reset button**: Briefly press the button labeled "SW_RST1" on the back of the PCB
diff --git a/keyboards/kapcave/paladinpad/rev1/config.h b/keyboards/kapcave/paladinpad/rev1/config.h
new file mode 100644
index 000000000..84af56ec2
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/rev1/config.h
@@ -0,0 +1,44 @@
1/*
2Copyright 2021 KapCave
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 "config_common.h"
20
21#define DEVICE_VER 0x0001
22
23/* key matrix pins */
24#define MATRIX_ROW_PINS { C7, B6, B4, D7, D6 }
25#define MATRIX_COL_PINS { D4, D5, D3, B7 }
26
27#define RGB_DI_PIN D0
28
29#ifdef RGB_DI_PIN
30#define RGBLIGHT_EFFECT_BREATHING
31#define RGBLIGHT_EFFECT_RAINBOW_MOOD
32#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
33#define RGBLIGHT_EFFECT_SNAKE
34#define RGBLIGHT_EFFECT_KNIGHT
35#define RGBLIGHT_EFFECT_CHRISTMAS
36#define RGBLIGHT_EFFECT_STATIC_GRADIENT
37#define RGBLIGHT_EFFECT_RGB_TEST
38#define RGBLIGHT_EFFECT_ALTERNATING
39#define RGBLIGHT_EFFECT_TWINKLE
40#define RGBLED_NUM 8
41#define RGBLIGHT_HUE_STEP 10
42#define RGBLIGHT_SAT_STEP 17
43#define RGBLIGHT_VAL_STEP 12
44#endif
diff --git a/keyboards/kapcave/paladinpad/rev1/rules.mk b/keyboards/kapcave/paladinpad/rev1/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/rev1/rules.mk
diff --git a/keyboards/kapcave/paladinpad/rev2/config.h b/keyboards/kapcave/paladinpad/rev2/config.h
new file mode 100644
index 000000000..a27ac03ab
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/rev2/config.h
@@ -0,0 +1,47 @@
1/*
2Copyright 2021 KapCave
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 "config_common.h"
20
21#define DEVICE_VER 0x0002
22
23/* key matrix pins */
24#define MATRIX_ROW_PINS { F4, F6, D7, B4, D6 }
25#define MATRIX_COL_PINS { F7, F5, D3, B7 }
26
27#define AUDIO_PIN C6
28
29#define RGB_DI_PIN D0
30
31#ifdef RGB_DI_PIN
32#define RGBLIGHT_EFFECT_BREATHING
33#define RGBLIGHT_EFFECT_RAINBOW_MOOD
34#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
35#define RGBLIGHT_EFFECT_SNAKE
36#define RGBLIGHT_EFFECT_KNIGHT
37#define RGBLIGHT_EFFECT_CHRISTMAS
38#define RGBLIGHT_EFFECT_STATIC_GRADIENT
39#define RGBLIGHT_EFFECT_RGB_TEST
40#define RGBLIGHT_EFFECT_ALTERNATING
41#define RGBLIGHT_EFFECT_TWINKLE
42#define RGBLED_NUM 7
43#define RGBLIGHT_HUE_STEP 10
44#define RGBLIGHT_SAT_STEP 17
45#define RGBLIGHT_VAL_STEP 12
46#endif
47
diff --git a/keyboards/kapcave/paladinpad/rev2/rules.mk b/keyboards/kapcave/paladinpad/rev2/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/rev2/rules.mk
diff --git a/keyboards/kapcave/paladinpad/rules.mk b/keyboards/kapcave/paladinpad/rules.mk
new file mode 100644
index 000000000..bb918b188
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/rules.mk
@@ -0,0 +1,24 @@
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 = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21AUDIO_ENABLE = no # Audio output
22
23DEFAULT_FOLDER = kapcave/paladinpad/rev2
24LAYOUTS = numpad_5x4 ortho_5x4