summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2023-07-04 02:22:01 +0000
committerQMK Bot <hello@qmk.fm>2023-07-04 02:22:01 +0000
commit9f837a2f0b40ccd25daf3b064b1016d46961ad0a (patch)
tree2b259a4c563a8bca6085c87c6202322cc11c6fba
parent91fea3a710aee4e9308ce04db3e4466bbe45169e (diff)
parent6c1f2187f5a78868feaee32677d0ac80e808fd4b (diff)
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/kradoindustries/kousa/config.h21
-rw-r--r--keyboards/kradoindustries/kousa/info.json158
-rw-r--r--keyboards/kradoindustries/kousa/keymaps/default/keymap.c111
-rw-r--r--keyboards/kradoindustries/kousa/keymaps/default/rules.mk1
-rw-r--r--keyboards/kradoindustries/kousa/keymaps/via/keymap.c111
-rw-r--r--keyboards/kradoindustries/kousa/keymaps/via/rules.mk3
-rw-r--r--keyboards/kradoindustries/kousa/readme.md32
-rw-r--r--keyboards/kradoindustries/kousa/rules.mk1
-rw-r--r--keyboards/kradoindustries/krado66/info.json130
-rw-r--r--keyboards/kradoindustries/krado66/keymaps/default/keymap.c177
-rw-r--r--keyboards/kradoindustries/krado66/keymaps/default/rules.mk1
-rw-r--r--keyboards/kradoindustries/krado66/keymaps/via/keymap.c177
-rw-r--r--keyboards/kradoindustries/krado66/keymaps/via/rules.mk4
-rw-r--r--keyboards/kradoindustries/krado66/readme.md30
-rw-r--r--keyboards/kradoindustries/krado66/rules.mk1
-rw-r--r--keyboards/kradoindustries/promenade/info.json123
-rw-r--r--keyboards/kradoindustries/promenade/keymaps/default/keymap.c66
-rw-r--r--keyboards/kradoindustries/promenade/keymaps/via/keymap.c66
-rw-r--r--keyboards/kradoindustries/promenade/keymaps/via/rules.mk2
-rw-r--r--keyboards/kradoindustries/promenade/readme.md30
-rw-r--r--keyboards/kradoindustries/promenade/rules.mk1
-rw-r--r--keyboards/skeletonkbd/frost68/config.h61
-rw-r--r--keyboards/skeletonkbd/frost68/frost68.c18
-rw-r--r--keyboards/skeletonkbd/frost68/info.json182
-rw-r--r--keyboards/skeletonkbd/frost68/keymaps/default/keymap.c29
-rw-r--r--keyboards/skeletonkbd/frost68/keymaps/via/keymap.c29
-rw-r--r--keyboards/skeletonkbd/frost68/keymaps/via/rules.mk1
-rw-r--r--keyboards/skeletonkbd/frost68/readme.md27
-rw-r--r--keyboards/skeletonkbd/frost68/rules.mk1
29 files changed, 1594 insertions, 0 deletions
diff --git a/keyboards/kradoindustries/kousa/config.h b/keyboards/kradoindustries/kousa/config.h
new file mode 100644
index 0000000000..49c8b47986
--- /dev/null
+++ b/keyboards/kradoindustries/kousa/config.h
@@ -0,0 +1,21 @@
1/*
2Copyright 2023 Matt F
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 RP2040_BOOTLOADER_DOUBLE_TAP_RESET
21#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
diff --git a/keyboards/kradoindustries/kousa/info.json b/keyboards/kradoindustries/kousa/info.json
new file mode 100644
index 0000000000..196e863bf5
--- /dev/null
+++ b/keyboards/kradoindustries/kousa/info.json
@@ -0,0 +1,158 @@
1{
2 "keyboard_name": "Kousa-TKL",
3 "manufacturer": "Krado Industries",
4 "url": "https://www.kradoindustries.com/",
5 "maintainer": "Krado Industries",
6 "processor": "RP2040",
7 "bootloader": "rp2040",
8 "usb": {
9 "vid": "0x4B72",
10 "pid": "0x4B4F",
11 "device_version": "1.0.0"
12 },
13 "features": {
14 "bootmagic": true,
15 "mousekey": true,
16 "extrakey": true,
17 "console": false,
18 "command": false,
19 "nkro": true,
20 "encoder": true,
21 "rgblight": true
22 },
23 "encoder": {
24 "rotary": [
25 { "pin_a": "GP10", "pin_b": "GP9" }
26 ]
27 },
28 "ws2812": {
29 "pin": "GP4",
30 "driver": "vendor"
31 },
32 "rgblight": {
33 "led_count": 18,
34 "sleep": true,
35 "animations": {
36 "alternating": true,
37 "breathing": true,
38 "christmas": true,
39 "knight": true,
40 "rainbow_mood": true,
41 "rainbow_swirl": true,
42 "rgb_test": true,
43 "snake": true,
44 "static_gradient": true,
45 "twinkle": true
46 }
47 },
48
49
50 "diode_direction": "COL2ROW",
51 "matrix_pins": {
52 "cols": ["GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP20", "GP21", "GP14", "GP15", "GP16", "GP17", "GP18", "GP13", "GP0", "GP1", "GP3"],
53 "rows": [ "GP2", "GP29", "GP28", "GP19", "GP12", "GP11"]
54 },
55
56 "layouts": {
57 "LAYOUT": {
58 "layout": [
59 {"matrix": [0, 0], "x":0, "y":0},
60 {"matrix": [0, 1], "x":1.25, "y":0},
61 {"matrix": [0, 2], "x":2.25, "y":0},
62 {"matrix": [0, 3], "x":3.25, "y":0},
63 {"matrix": [0, 4], "x":4.25, "y":0},
64 {"matrix": [0, 5], "x":5.5, "y":0},
65 {"matrix": [0, 6], "x":6.5, "y":0},
66 {"matrix": [0, 7], "x":7.5, "y":0},
67 {"matrix": [0, 8], "x":8.5, "y":0},
68 {"matrix": [0, 9], "x":9.75, "y":0},
69 {"matrix": [0, 10], "x":10.75, "y":0},
70 {"matrix": [0, 11], "x":11.75, "y":0},
71 {"matrix": [0, 12], "x":12.75, "y":0},
72 {"matrix": [0, 13], "x":14, "y":0},
73 {"matrix": [0, 14], "x":15.25, "y":0},
74 {"matrix": [0, 15], "x":16.25, "y":0},
75 {"matrix": [0, 16], "x":17.25, "y":0},
76 {"matrix": [1, 0], "x":0, "y":1.25, "w":1.5},
77 {"matrix": [1, 1], "x":1.5, "y":1.25},
78 {"matrix": [1, 2], "x":2.5, "y":1.25},
79 {"matrix": [1, 3], "x":3.5, "y":1.25},
80 {"matrix": [1, 4], "x":4.5, "y":1.25},
81 {"matrix": [1, 5], "x":5.5, "y":1.25},
82 {"matrix": [1, 6], "x":6.5, "y":1.25},
83 {"matrix": [1, 7], "x":7.5, "y":1.25},
84 {"matrix": [1, 8], "x":8.5, "y":1.25},
85 {"matrix": [1, 9], "x":9.5, "y":1.25},
86 {"matrix": [1, 10], "x":10.5, "y":1.25},
87 {"matrix": [1, 11], "x":11.5, "y":1.25},
88 {"matrix": [1, 12], "x":12.5, "y":1.25},
89 {"matrix": [1, 13], "x":13.5, "y":1.25, "w":1.5},
90 {"matrix": [1, 14], "x":15.25, "y":1.25},
91 {"matrix": [1, 15], "x":16.25, "y":1.25},
92 {"matrix": [1, 16], "x":17.25, "y":1.25},
93 {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5},
94 {"matrix": [2, 1], "x":1.5, "y":2.25},
95 {"matrix": [2, 2], "x":2.5, "y":2.25},
96 {"matrix": [2, 3], "x":3.5, "y":2.25},
97 {"matrix": [2, 4], "x":4.5, "y":2.25},
98 {"matrix": [2, 5], "x":5.5, "y":2.25},
99 {"matrix": [2, 6], "x":6.5, "y":2.25},
100 {"matrix": [2, 7], "x":7.5, "y":2.25},
101 {"matrix": [2, 8], "x":8.5, "y":2.25},
102 {"matrix": [2, 9], "x":9.5, "y":2.25},
103 {"matrix": [2, 10], "x":10.5, "y":2.25},
104 {"matrix": [2, 11], "x":11.5, "y":2.25},
105 {"matrix": [2, 12], "x":12.5, "y":2.25},
106 {"matrix": [2, 13], "x":13.5, "y":2.25, "w":1.5},
107 {"matrix": [2, 14], "x":15.25, "y":2.25},
108 {"matrix": [2, 15], "x":16.25, "y":2.25},
109 {"matrix": [2, 16], "x":17.25, "y":2.25},
110 {"matrix": [3, 0], "x":0, "y":3.25, "w":1.5},
111 {"matrix": [3, 1], "x":1.5, "y":3.25},
112 {"matrix": [3, 2], "x":2.5, "y":3.25},
113 {"matrix": [3, 3], "x":3.5, "y":3.25},
114 {"matrix": [3, 4], "x":4.5, "y":3.25},
115 {"matrix": [3, 5], "x":5.5, "y":3.25},
116 {"matrix": [3, 6], "x":6.5, "y":3.25},
117 {"matrix": [3, 7], "x":7.5, "y":3.25},
118 {"matrix": [3, 8], "x":8.5, "y":3.25},
119 {"matrix": [3, 9], "x":9.5, "y":3.25},
120 {"matrix": [3, 10], "x":10.5, "y":3.25},
121 {"matrix": [3, 11], "x":11.5, "y":3.25},
122 {"matrix": [3, 12], "x":12.5, "y":3.25},
123 {"matrix": [3, 13], "x":13.5, "y":3.25, "w":1.5},
124 {"matrix": [4, 0], "x":0, "y":4.25, "w":1.5},
125 {"matrix": [4, 1], "x":1.5, "y":4.25},
126 {"matrix": [4, 2], "x":2.5, "y":4.25},
127 {"matrix": [4, 3], "x":3.5, "y":4.25},
128 {"matrix": [4, 4], "x":4.5, "y":4.25},
129 {"matrix": [4, 5], "x":5.5, "y":4.25},
130 {"matrix": [4, 6], "x":6.5, "y":4.25},
131 {"matrix": [4, 7], "x":7.5, "y":4.25},
132 {"matrix": [4, 8], "x":8.5, "y":4.25},
133 {"matrix": [4, 9], "x":9.5, "y":4.25},
134 {"matrix": [4, 10], "x":10.5, "y":4.25},
135 {"matrix": [4, 11], "x":11.5, "y":4.25},
136 {"matrix": [4, 12], "x":12.5, "y":4.25},
137 {"matrix": [4, 13], "x":13.5, "y":4.25, "w":1.5},
138 {"matrix": [4, 15], "x":16.25, "y":4.25},
139 {"matrix": [5, 0], "x":0, "y":5.25, "w":1.5},
140 {"matrix": [5, 1], "x":1.5, "y":5.25},
141 {"matrix": [5, 2], "x":2.5, "y":5.25},
142 {"matrix": [5, 3], "x":3.5, "y":5.25},
143 {"matrix": [5, 4], "x":4.5, "y":5.25},
144 {"matrix": [5, 5], "x":5.5, "y":5.25},
145 {"matrix": [5, 6], "x":6.5, "y":5.25, "w":2},
146 {"matrix": [5, 8], "x":8.5, "y":5.25},
147 {"matrix": [5, 9], "x":9.5, "y":5.25},
148 {"matrix": [5, 10], "x":10.5, "y":5.25},
149 {"matrix": [5, 11], "x":11.5, "y":5.25},
150 {"matrix": [5, 12], "x":12.5, "y":5.25},
151 {"matrix": [5, 13], "x":13.5, "y":5.25, "w":1.5},
152 {"matrix": [5, 14], "x":15.25, "y":5.25},
153 {"matrix": [5, 15], "x":16.25, "y":5.25},
154 {"matrix": [5, 16], "x":17.25, "y":5.25}
155 ]
156 }
157 }
158}
diff --git a/keyboards/kradoindustries/kousa/keymaps/default/keymap.c b/keyboards/kradoindustries/kousa/keymaps/default/keymap.c
new file mode 100644
index 0000000000..48978b2a2b
--- /dev/null
+++ b/keyboards/kradoindustries/kousa/keymaps/default/keymap.c
@@ -0,0 +1,111 @@
1/*
2Copyright 2023 Matt F
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#include QMK_KEYBOARD_H
19
20
21#define _FN MO(3)
22#define FN_BACK LT(3, KC_BSPC)
23#define ZOOMIN C(KC_EQL)
24#define ZOOMOUT C(KC_MINS)
25#define NTAB C(KC_TAB)
26#define BTAB C(S(KC_TAB))
27
28
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 [0] = LAYOUT(
32
33 /* Base Layer
34
35
36* --------- .-----------------------------------. .-----------------------------------. .-----------------------------------. --------. .--------------------------.
37 * | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | F13 | | PrintSC| ScrlLk | Pause |
38 * | | | | | | | | | | | | | | | | | | | | | | |
39 * '-------+ '--------+--------+--------+--------' '--------+--------+--------+--------' '--------+--------+--------+--------' '-------+ '--------+--------+--------'
40
41 * .-----------------------------------------------------------------------------------------------------------------------------------. .--------------------------.
42 * | Grave | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | Backspace | | Ins | Home | PageUp |
43 * | | | | | | | | | | | | | | | | | | |
44 * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------| |--------+--------+--------|
45 * | Tab | Q | W | E | R | T | | | Y | U | I | O | P | Del | | Del | End |PageDown|
46 * | | | | | | | | | | | | | | | | | | |
47 * |-----------+--------+--------+--------+--------+--------| [ | ] |--------+--------+--------+-----------------+-----------| '--------+--------+--------'
48 * | FN_BACK | A | S | D | F | G |--------+--------| H | J | K | L | " | Enter |
49 * | | | | | | | | | | | | | ' | |
50 * |-----------+--------+--------+--------+--------+--------| Prev | Next |--------+--------+--------------------------+-----------| .--------.
51 * | LShift | Z | X | C | V | B | Tab | Tab | N | M | < | > | ? | RShift | | Up |
52 * | | | | | | | | | | | , | . | / | | | |
53 * |-----------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+-----------| .--------+--------+--------.
54 * | LCtrl | LGUI | LALT | FN | Space | Space | Space | Space | Space | Space | RALT | RGUI | RCTRL | | Left | Down | Right |
55 * | | | | | | | | | | | | | | | | | | |
56 * '-----------------------------------------------------------------------------------------------------------------------------------' '--------+--------+--------'
57 */
58
59 KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
60
61 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
62 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
63 FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
64 SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, BTAB, NTAB, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP,
65 KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
66 ),
67
68 [1] = LAYOUT( /* Layer One */
69
70 KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
71
72 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
73 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
74 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
75 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
76 KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
77 ),
78
79
80 [2] = LAYOUT( /* Layer Two */
81
82 KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
83
84 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
85 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, ZOOMIN, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
86 FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
87 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ZOOMOUT, KC_LBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
88 KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
89 ),
90
91 [3] = LAYOUT( /* Layer Three */
92
93 KC_ESC, DF(0), DF(1), DF(2), KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, QK_BOOT,
94
95 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DF(0), RGB_MOD,
96 KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DF(1), RGB_RMOD,
97 KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_TRNS,
98 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD, KC_BSLS, KC_CAPS, KC_TRNS,
99 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
100 )
101
102};
103
104#if defined(ENCODER_MAP_ENABLE)
105const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
106 [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
107 [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
108 [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
109 [3] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }
110};
111#endif
diff --git a/keyboards/kradoindustries/kousa/keymaps/default/rules.mk b/keyboards/kradoindustries/kousa/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/kradoindustries/kousa/keymaps/default/rules.mk
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/kradoindustries/kousa/keymaps/via/keymap.c b/keyboards/kradoindustries/kousa/keymaps/via/keymap.c
new file mode 100644
index 0000000000..48978b2a2b
--- /dev/null
+++ b/keyboards/kradoindustries/kousa/keymaps/via/keymap.c
@@ -0,0 +1,111 @@
1/*
2Copyright 2023 Matt F
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#include QMK_KEYBOARD_H
19
20
21#define _FN MO(3)
22#define FN_BACK LT(3, KC_BSPC)
23#define ZOOMIN C(KC_EQL)
24#define ZOOMOUT C(KC_MINS)
25#define NTAB C(KC_TAB)
26#define BTAB C(S(KC_TAB))
27
28
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 [0] = LAYOUT(
32
33 /* Base Layer
34
35
36* --------- .-----------------------------------. .-----------------------------------. .-----------------------------------. --------. .--------------------------.
37 * | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | F13 | | PrintSC| ScrlLk | Pause |
38 * | | | | | | | | | | | | | | | | | | | | | | |
39 * '-------+ '--------+--------+--------+--------' '--------+--------+--------+--------' '--------+--------+--------+--------' '-------+ '--------+--------+--------'
40
41 * .-----------------------------------------------------------------------------------------------------------------------------------. .--------------------------.
42 * | Grave | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | Backspace | | Ins | Home | PageUp |
43 * | | | | | | | | | | | | | | | | | | |
44 * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------| |--------+--------+--------|
45 * | Tab | Q | W | E | R | T | | | Y | U | I | O | P | Del | | Del | End |PageDown|
46 * | | | | | | | | | | | | | | | | | | |
47 * |-----------+--------+--------+--------+--------+--------| [ | ] |--------+--------+--------+-----------------+-----------| '--------+--------+--------'
48 * | FN_BACK | A | S | D | F | G |--------+--------| H | J | K | L | " | Enter |
49 * | | | | | | | | | | | | | ' | |
50 * |-----------+--------+--------+--------+--------+--------| Prev | Next |--------+--------+--------------------------+-----------| .--------.
51 * | LShift | Z | X | C | V | B | Tab | Tab | N | M | < | > | ? | RShift | | Up |
52 * | | | | | | | | | | | , | . | / | | | |
53 * |-----------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+-----------| .--------+--------+--------.
54 * | LCtrl | LGUI | LALT | FN | Space | Space | Space | Space | Space | Space | RALT | RGUI | RCTRL | | Left | Down | Right |
55 * | | | | | | | | | | | | | | | | | | |
56 * '-----------------------------------------------------------------------------------------------------------------------------------' '--------+--------+--------'
57 */
58
59 KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
60
61 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
62 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
63 FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
64 SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, BTAB, NTAB, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP,
65 KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
66 ),
67
68 [1] = LAYOUT( /* Layer One */
69
70 KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
71
72 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
73 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
74 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
75 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
76 KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
77 ),
78
79
80 [2] = LAYOUT( /* Layer Two */
81
82 KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
83
84 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
85 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, ZOOMIN, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN,
86 FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
87 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ZOOMOUT, KC_LBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
88 KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
89 ),
90
91 [3] = LAYOUT( /* Layer Three */
92
93 KC_ESC, DF(0), DF(1), DF(2), KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, QK_BOOT,
94
95 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DF(0), RGB_MOD,
96 KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DF(1), RGB_RMOD,
97 KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_TRNS,
98 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD, KC_BSLS, KC_CAPS, KC_TRNS,
99 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
100 )
101
102};
103
104#if defined(ENCODER_MAP_ENABLE)
105const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
106 [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
107 [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
108 [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
109 [3] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }
110};
111#endif
diff --git a/keyboards/kradoindustries/kousa/keymaps/via/rules.mk b/keyboards/kradoindustries/kousa/keymaps/via/rules.mk
new file mode 100644
index 0000000000..aaf0497be1
--- /dev/null
+++ b/keyboards/kradoindustries/kousa/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
3ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kradoindustries/kousa/readme.md b/keyboards/kradoindustries/kousa/readme.md
new file mode 100644
index 0000000000..b9a50a93c9
--- /dev/null
+++ b/keyboards/kradoindustries/kousa/readme.md
@@ -0,0 +1,32 @@
1# Kousa TKL
2
3![Photo](https://i.imgur.com/b2JJoiIh.jpg)
4
5A hotswap H88-Compact Type-C compatible ortholinear TKL PCB that uses ergodox modifiers. Based on the [Boardwalk](https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardwalk)'s split hand layout, with the addtion of 6u and split 3u spacebar stabilizer support. F13 and F12 layouts are supported. The F13 location also supports a rotary encoder. The default layout will have 1.5u vertical inner modifiers, but it is possible to convert the center keys to 1u by soldering hotswap sockets. The board is designed to be compatible with H88-C type C boards and the outline of the board was based on zykrah's [slime88 pcb](https://github.com/zykrah/slime88). The usb C port can be broken off and used with a JST connector and daughterboard.
6
7The name is meant to be read "Kousa Tenkeyless". "Kousaten" (交差点) means intersection or crossing in Japanese. I wanted the name to be a nod to the Boardwalk without using u/shensmobile's naming conventions and Crosswalk seemed pretty close, but then I realized "crossing" in Japanese is "kousaten" and I thought it would call it the Kousa Tenkeyless!
8
9* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/)
10* Hardware Supported: H88-C type C cases. Confirmed working in KFA Freebird TKL. Also confirmed working in KBDFans Tiger80 Lite. *Please note that you will need a custom plate for any case.*
11* Hardware Availabilitiy: [Krado Industries](https://kradoindustries.com/)
12
13Make example for this keyboard (after setting up your build environment):
14
15 make kradoindustries/kousa:default
16
17Flashing example for this keyboard:
18
19 make kradoindustries/kousa:default:flash
20
21
22
23
24See 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).
25
26## Bootloader
27
28Enter the bootloader in 3 ways:
29
30* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
31* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
32* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/kradoindustries/kousa/rules.mk b/keyboards/kradoindustries/kousa/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/kradoindustries/kousa/rules.mk
@@ -0,0 +1 @@
# This file intentionally left blank
diff --git a/keyboards/kradoindustries/krado66/info.json b/keyboards/kradoindustries/krado66/info.json
new file mode 100644
index 0000000000..aefadf12de
--- /dev/null
+++ b/keyboards/kradoindustries/krado66/info.json
@@ -0,0 +1,130 @@
1{
2 "keyboard_name": "Krado66",
3 "manufacturer": "Krado Industries",
4 "url": "https://www.kradoindustries.com/",
5 "maintainer": "Krado Industries",
6 "usb": {
7 "vid": "0x4B72",
8 "pid": "0x6664",
9 "device_version": "2.0.0"
10 },
11 "processor": "atmega32u4",
12 "bootloader": "atmel-dfu",
13 "features": {
14 "bootmagic": true,
15 "mousekey": true,
16 "extrakey": true,
17 "console": false,
18 "command": false,
19 "nkro": true,
20 "encoder": true,
21 "rgblight": true
22 },
23 "ws2812": {
24 "pin": "B2"
25 },
26 "rgblight": {
27 "led_count": 14,
28 "sleep": true,
29 "animations": {
30 "alternating": true,
31 "breathing": true,
32 "christmas": true,
33 "knight": true,
34 "rainbow_mood": true,
35 "rainbow_swirl": true,
36 "rgb_test": true,
37 "snake": true,
38 "static_gradient": true,
39 "twinkle": true
40 }
41 },
42 "encoder": {
43 "rotary": [
44 { "pin_a": "B1", "pin_b": "B0" },
45 { "pin_a": "D7", "pin_b": "D6" },
46 { "pin_a": "F7", "pin_b": "F6" }
47 ]
48 },
49 "diode_direction": "COL2ROW",
50 "matrix_pins": {
51 "cols": [ "C7", "B3", "D0", "D1", "D2", "D3", "D5", "D4"],
52 "rows": [ "F5", "F4", "F1", "F0", "B7", "E6", "B4", "B5", "C6", "B6" ]
53 },
54
55 "layouts": {
56 "LAYOUT": {
57 "layout": [
58 {"matrix": [0, 0], "x":0.25, "y":0},
59 {"matrix": [1, 0], "x":1.25, "y":0},
60 {"matrix": [0, 1], "x":2.25, "y":0},
61 {"matrix": [1, 1], "x":3.25, "y":0},
62 {"matrix": [0, 2], "x":4.25, "y":0},
63 {"matrix": [1, 2], "x":5.25, "y":0},
64 {"matrix": [0, 3], "x":6.25, "y":0},
65 {"matrix": [1, 3], "x":7.25, "y":0},
66 {"matrix": [0, 4], "x":8.25, "y":0},
67 {"matrix": [1, 4], "x":9.25, "y":0},
68 {"matrix": [0, 5], "x":10.25, "y":0},
69 {"matrix": [1, 5], "x":11.25, "y":0},
70 {"matrix": [0, 6], "x":12.25, "y":0},
71 {"matrix": [1, 6], "x":13.25, "y":0},
72 {"matrix": [0, 7], "x":14.25, "y":0},
73 {"matrix": [1, 7], "x":15.25, "y":0},
74 {"matrix": [3, 0], "x":0.75, "y":1, "w":1.5},
75 {"matrix": [2, 1], "x":2.25, "y":1},
76 {"matrix": [3, 1], "x":3.25, "y":1},
77 {"matrix": [2, 2], "x":4.25, "y":1},
78 {"matrix": [3, 2], "x":5.25, "y":1},
79 {"matrix": [2, 3], "x":6.25, "y":1},
80 {"matrix": [3, 3], "x":7.25, "y":1},
81 {"matrix": [2, 4], "x":8.25, "y":1},
82 {"matrix": [3, 4], "x":9.25, "y":1},
83 {"matrix": [2, 5], "x":10.25, "y":1},
84 {"matrix": [3, 5], "x":11.25, "y":1},
85 {"matrix": [2, 6], "x":12.25, "y":1},
86 {"matrix": [3, 6], "x":13.25, "y":1},
87 {"matrix": [2, 7], "x":14.25, "y":1, "w":1.5},
88 {"matrix": [5, 0], "x":0.5, "y":2, "w":1.75},
89 {"matrix": [4, 1], "x":2.25, "y":2},
90 {"matrix": [5, 1], "x":3.25, "y":2},
91 {"matrix": [4, 2], "x":4.25, "y":2},
92 {"matrix": [5, 2], "x":5.25, "y":2},
93 {"matrix": [4, 3], "x":6.25, "y":2},
94 {"matrix": [5, 3], "x":7.25, "y":2},
95 {"matrix": [4, 4], "x":8.25, "y":2},
96 {"matrix": [5, 4], "x":9.25, "y":2},
97 {"matrix": [4, 5], "x":10.25, "y":2},
98 {"matrix": [5, 5], "x":11.25, "y":2},
99 {"matrix": [4, 6], "x":12.25, "y":2},
100 {"matrix": [5, 6], "x":13.25, "y":2, "w":2.25},
101 {"matrix": [7, 0], "x":0, "y":3, "w":2.25},
102 {"matrix": [6, 1], "x":2.25, "y":3},
103 {"matrix": [7, 1], "x":3.25, "y":3},
104 {"matrix": [6, 2], "x":4.25, "y":3},
105 {"matrix": [7, 2], "x":5.25, "y":3},
106 {"matrix": [6, 3], "x":6.25, "y":3},
107 {"matrix": [7, 3], "x":7.25, "y":3},
108 {"matrix": [6, 4], "x":8.25, "y":3},
109 {"matrix": [7, 4], "x":9.25, "y":3},
110 {"matrix": [6, 5], "x":10.25, "y":3},
111 {"matrix": [7, 5], "x":11.25, "y":3},
112 {"matrix": [6, 6], "x":12.25, "y":3, "w":1.75},
113 {"matrix": [6, 7], "x":14, "y":3},
114 {"matrix": [7, 7], "x":15, "y":3},
115 {"matrix": [8, 0], "x":0, "y":4, "w":1.25},
116 {"matrix": [9, 0], "x":1.25, "y":4, "w":1.25},
117 {"matrix": [8, 1], "x":2.5, "y":4, "w":1.25},
118 {"matrix": [9, 2], "x":3.75, "y":4, "w":1.25},
119 {"matrix": [8, 3], "x":5, "y":4, "w":2.25},
120 {"matrix": [9, 4], "x":7.25, "y":4, "w":2.75},
121 {"matrix": [8, 5], "x":10, "y":4},
122 {"matrix": [9, 5], "x":11, "y":4},
123 {"matrix": [8, 6], "x":12, "y":4},
124 {"matrix": [9, 6], "x":13, "y":4},
125 {"matrix": [8, 7], "x":14, "y":4},
126 {"matrix": [9, 7], "x":15, "y":4}
127 ]
128 }
129 }
130}
diff --git a/keyboards/kradoindustries/krado66/keymaps/default/keymap.c b/keyboards/kradoindustries/krado66/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ca18457196
--- /dev/null
+++ b/keyboards/kradoindustries/krado66/keymaps/default/keymap.c
@@ -0,0 +1,177 @@
1/*
2Copyright 2022 Matt F
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#include QMK_KEYBOARD_H
19
20enum layer {
21 _QWERTY,
22 _QWERTYX,
23 _FUNCTION,
24 _EXTRA,
25};
26
27
28#define QWERTY DF(_QWERTY)
29#define QWERTYX DF(_QWERTYX)
30#define FN MO(_FUNCTION)
31#define BACKFN LT(_FUNCTION, KC_BSPC)
32
33
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35
36 [_QWERTY] = LAYOUT(
37 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, \
38 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_DEL, \
39 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
40 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, FN, \
41 KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \
42 ),
43
44/* Default
45 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
46 * | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back |
47 * | | ` | | | | | | | | | | | _ | = | | |
48 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
49 * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE |
50 * | | | | | | | | | | | | { | } | |
51 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
52 * | CAPS LOCK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
53 * | | | | | | | | | | | : | " | |
54 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+
55 * | SHIFT | Z | X | C | V | B | N | M | < | > | / | RSHIFT | UP | Fn |
56 * | | | | | | | | | , | . | ? | | | |
57 * |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------+--------+
58 * | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | RCTRL | GUI | LEFT | DOWN | RIGHT |
59 * | | | | | | | | | | | | |
60 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
61 */
62
63
64
65 [_QWERTYX] = LAYOUT(
66 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, \
67 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_DEL, \
68 BACKFN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
69 SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, FN, \
70 KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \
71 ),
72
73/* Default
74 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
75 * | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back |
76 * | | ` | | | | | | | | | | | _ | = | | |
77 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
78 * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE |
79 * | | | | | | | | | | | | { | } | |
80 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
81 * | BACKSPACE (FN)| A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
82 * | | | | | | | | | | | : | " | |
83 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+
84 * | CADET SHIFT ( | Z | X | C | V | B | N | M | < | > | / | CADET SHIFT ) | UP | Fn |
85 * | | | | | | | | | , | . | ? | | | |
86 * |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------|--------+
87 * | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | GUI | RCTRL | LEFT | DOWN | RIGHT |
88 * | | | | | | | | | | | | |
89 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
90*/
91
92
93 [_FUNCTION] = LAYOUT(
94 QK_BOOT, QWERTYX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT, \
95 QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \
96 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \
97 KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \
98 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \
99 ),
100
101/* Fn
102 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
103 * | |QWERTYEX| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET |
104 * | | | | | | | | | | | | | | | | |
105 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
106 * | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE |
107 * | | | | | | | | | | | Screen | | | |
108 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
109 * | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG |
110 * | | | | | | | | | | | | | |
111 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
112 * | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn |
113 * | | | | | | | | | | | | | | |
114 * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
115 * | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END |
116 * | | | | | | | | | | | | |
117 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
118 */
119
120 [_EXTRA] = LAYOUT(
121 QK_BOOT, QWERTYX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT, \
122 QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \
123 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \
124 KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \
125 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \
126 ),
127
128/* Fn
129 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
130 * | |QWERTYX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET |
131 * | | | | | | | | | | | | | | | | |
132 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
133 * | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE |
134 * | | | | | | | | | | | Screen | | | |
135 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
136 * | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG |
137 * | | | | | | | | | | | | | |
138 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
139 * | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn |
140 * | | | | | | | | | | | | | | E2 |
141 * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
142 * | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END |
143 * | E3 | | | | E3 | | | | E2 | | | |
144 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
145 */
146};
147
148
149#if defined(ENCODER_MAP_ENABLE)
150const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
151 [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
152 [_QWERTYX] = { ENCODER_CCW_CW(C(KC_TAB), C(S(KC_TAB))), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
153 [_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
154 [_EXTRA] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
155};
156#endif
157
158
159
160 /* Encoder Positions
161 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
162 * | | | | | | | | | | | | | | | | |
163 * | E1 | | | | | | | | | | | | | | | |
164 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
165 * | | | | | | | | | | | | | | |
166 * | | | | | | | | | | | | | | |
167 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
168 * | | | | | | | | | | | | | |
169 * | | | | | | | | | | | | | |
170 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
171 * | | | | | | | | | | | | | | |
172 * | | | | | | | | | | | | | | E2 |
173 * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
174 * | | | | | | | | | | | | |
175 * | E3 | | | | E3 | | | | E2 | | | |
176 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
177 */ \ No newline at end of file
diff --git a/keyboards/kradoindustries/krado66/keymaps/default/rules.mk b/keyboards/kradoindustries/krado66/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/kradoindustries/krado66/keymaps/default/rules.mk
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/kradoindustries/krado66/keymaps/via/keymap.c b/keyboards/kradoindustries/krado66/keymaps/via/keymap.c
new file mode 100644
index 0000000000..192bd377bd
--- /dev/null
+++ b/keyboards/kradoindustries/krado66/keymaps/via/keymap.c
@@ -0,0 +1,177 @@
1/*
2Copyright 2022 Matt F
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#include QMK_KEYBOARD_H
19
20enum layer {
21 _QWERTY,
22 _QWERTYX,
23 _FUNCTION,
24 _EXTRA,
25};
26
27
28#define QWERTY DF(_QWERTY)
29#define QWERTYX DF(_QWERTYX)
30#define FN MO(_FUNCTION)
31#define BACKFN LT(_FUNCTION, KC_BSPC)
32
33
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35
36 [_QWERTY] = LAYOUT(
37 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, \
38 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_DEL, \
39 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
40 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, FN, \
41 KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \
42 ),
43
44/* Default
45 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
46 * | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back |
47 * | | ` | | | | | | | | | | | _ | = | | |
48 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
49 * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE |
50 * | | | | | | | | | | | | { | } | |
51 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
52 * | CAPS LOCK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
53 * | | | | | | | | | | | : | " | |
54 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+
55 * | SHIFT | Z | X | C | V | B | N | M | < | > | / | RSHIFT | UP | Fn |
56 * | | | | | | | | | , | . | ? | | | |
57 * |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------+--------+
58 * | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | RCTRL | GUI | LEFT | DOWN | RIGHT |
59 * | | | | | | | | | | | | |
60 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
61 */
62
63
64
65 [_QWERTYX] = LAYOUT(
66 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, \
67 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_DEL, \
68 BACKFN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
69 SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, FN, \
70 KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \
71 ),
72
73/* Default
74 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
75 * | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back |
76 * | | ` | | | | | | | | | | | _ | = | | |
77 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
78 * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE |
79 * | | | | | | | | | | | | { | } | |
80 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
81 * | BACKSPACE (FN)| A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
82 * | | | | | | | | | | | : | " | |
83 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+
84 * | CADET SHIFT ( | Z | X | C | V | B | N | M | < | > | / | CADET SHIFT ) | UP | Fn |
85 * | | | | | | | | | , | . | ? | | | |
86 * |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------|--------+
87 * | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | GUI | RCTRL | LEFT | DOWN | RIGHT |
88 * | | | | | | | | | | | | |
89 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
90*/
91
92
93 [_FUNCTION] = LAYOUT(
94 QK_BOOT, QWERTYX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT, \
95 QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \
96 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \
97 KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \
98 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \
99 ),
100
101/* Fn
102 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
103 * | |QWERTYEX| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET |
104 * | | | | | | | | | | | | | | | | |
105 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
106 * | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE |
107 * | | | | | | | | | | | Screen | | | |
108 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
109 * | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG |
110 * | | | | | | | | | | | | | |
111 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
112 * | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn |
113 * | | | | | | | | | | | | | | |
114 * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
115 * | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END |
116 * | | | | | | | | | | | | |
117 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
118 */
119
120 [_EXTRA] = LAYOUT(
121 QK_BOOT, QWERTYX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT, \
122 QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \
123 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \
124 KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \
125 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \
126 ),
127
128/* Fn
129 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
130 * | |QWERTYX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET |
131 * | | | | | | | | | | | | | | | | |
132 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
133 * | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE |
134 * | | | | | | | | | | | Screen | | | |
135 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
136 * | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG |
137 * | | | | | | | | | | | | | |
138 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
139 * | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn |
140 * | | | | | | | | | | | | | | E2 |
141 * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
142 * | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END |
143 * | E3 | | | | E3 | | | | E2 | | | |
144 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
145 */
146};
147
148
149#if defined(ENCODER_MAP_ENABLE)
150const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
151 [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
152 [_QWERTYX] = { ENCODER_CCW_CW(C(KC_TAB), C(S(KC_TAB))), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
153 [_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
154 [_EXTRA] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
155};
156#endif
157
158
159
160 /* Encoder Positions
161 * .-----------------------------------------------------------------------------------------------------------------------------------------------+
162 * | | | | | | | | | | | | | | | | |
163 * | E1 | | | | | | | | | | | | | | | |
164 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
165 * | | | | | | | | | | | | | | |
166 * | | | | | | | | | | | | | | |
167 * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+
168 * | | | | | | | | | | | | | |
169 * | | | | | | | | | | | | | |
170 * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+
171 * | | | | | | | | | | | | | | |
172 * | | | | | | | | | | | | | | E2 |
173 * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+
174 * | | | | | | | | | | | | |
175 * | E3 | | | | E3 | | | | E2 | | | |
176 * '--------------------------------------------------------------------------------------------------------------------------------------+--------+
177 */ \ No newline at end of file
diff --git a/keyboards/kradoindustries/krado66/keymaps/via/rules.mk b/keyboards/kradoindustries/krado66/keymaps/via/rules.mk
new file mode 100644
index 0000000000..8111cb54a7
--- /dev/null
+++ b/keyboards/kradoindustries/krado66/keymaps/via/rules.mk
@@ -0,0 +1,4 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
3ENCODER_MAP_ENABLE = yes
4
diff --git a/keyboards/kradoindustries/krado66/readme.md b/keyboards/kradoindustries/krado66/readme.md
new file mode 100644
index 0000000000..7b8a275ee4
--- /dev/null
+++ b/keyboards/kradoindustries/krado66/readme.md
@@ -0,0 +1,30 @@
1# Krado66
2
3![Photo](https://i.imgur.com/Du3bBT9h.jpg)
4
5The Krado66 is a 65%ish ortholinear keyboard the uses standard 65% layout keycaps. It can also be configured to accept standard ANSI keycaps (Full 2.75u Right Shift and 1.25u bottom modifiers.)
6
7For those that are wondering, "Krado" means "grid" in Esperanto. The board has 66 keys in its default layout.
8
9* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/)
10* Hardware Supported: Only Krado66 acrylic case and skeleton cases are supported.
11* Hardware Availabilitiy: [Krado Industries](https://kradoindustries.com/)
12
13Make example for this keyboard (after setting up your build environment):
14
15 make kradoindustries/krado66:default
16
17Flashing example for this keyboard:
18
19 make kradoindustries/krado66:default:flash
20
21
22See 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).
23
24## Bootloader
25
26Enter the bootloader in 3 ways:
27
28* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
29* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
30* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/kradoindustries/krado66/rules.mk b/keyboards/kradoindustries/krado66/rules.mk
new file mode 100644
index 0000000000..7ff128fa69
--- /dev/null
+++ b/keyboards/kradoindustries/krado66/rules.mk
@@ -0,0 +1 @@
# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/kradoindustries/promenade/info.json b/keyboards/kradoindustries/promenade/info.json
new file mode 100644
index 0000000000..a4d47b34f3
--- /dev/null
+++ b/keyboards/kradoindustries/promenade/info.json
@@ -0,0 +1,123 @@
1{
2 "keyboard_name": "Promenade",
3 "manufacturer": "krado industries",
4 "url": "https://www.kradoindustries.com/",
5 "maintainer": "Krado Industries",
6 "usb": {
7 "vid": "0x4B72",
8 "pid": "0x706D",
9 "device_version": "1.0.0"
10 },
11
12 "processor": "atmega32u4",
13 "bootloader": "atmel-dfu",
14 "features": {
15 "bootmagic": true,
16 "mousekey": true,
17 "extrakey": true,
18 "console": false,
19 "command": false,
20 "nkro": true,
21 "rgblight": true
22 },
23 "ws2812": {
24 "pin": "B7"
25 },
26 "rgblight": {
27 "led_count": 14,
28 "sleep": true,
29 "animations": {
30 "alternating": true,
31 "breathing": true,
32 "christmas": true,
33 "knight": true,
34 "rainbow_mood": true,
35 "rainbow_swirl": true,
36 "rgb_test": true,
37 "snake": true,
38 "static_gradient": true,
39 "twinkle": true
40 }
41 },
42 "diode_direction": "COL2ROW",
43 "matrix_pins": {
44 "cols": [ "F4", "C7", "D7", "B4", "B5", "B6", "C6", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
45 "rows": [ "F1", "F5", "E6", "F7", "F6"]
46 },
47
48
49 "layouts": {
50 "LAYOUT": {
51 "layout": [
52 {"matrix": [0, 0], "x":0, "y":0, "w":1.5},
53 {"matrix": [0, 1], "x":1.5, "y":0},
54 {"matrix": [0, 2], "x":2.5, "y":0},
55 {"matrix": [0, 3], "x":3.5, "y":0},
56 {"matrix": [0, 4], "x":4.5, "y":0},
57 {"matrix": [0, 5], "x":5.5, "y":0},
58 {"matrix": [0, 6], "x":6.5, "y":0},
59 {"matrix": [0, 7], "x":7.5, "y":0},
60 {"matrix": [0, 8], "x":8.5, "y":0},
61 {"matrix": [0, 9], "x":9.5, "y":0},
62 {"matrix": [0, 10], "x":10.5, "y":0},
63 {"matrix": [0, 11], "x":11.5, "y":0},
64 {"matrix": [0, 12], "x":12.5, "y":0},
65 {"matrix": [0, 13], "x":13.5, "y":0, "w":1.5},
66 {"matrix": [1, 0], "x":0, "y":1, "w":1.5},
67 {"matrix": [1, 1], "x":1.5, "y":1},
68 {"matrix": [1, 2], "x":2.5, "y":1},
69 {"matrix": [1, 3], "x":3.5, "y":1},
70 {"matrix": [1, 4], "x":4.5, "y":1},
71 {"matrix": [1, 5], "x":5.5, "y":1},
72 {"matrix": [1, 6], "x":6.5, "y":1, "h":1.5},
73 {"matrix": [1, 7], "x":7.5, "y":1, "h":1.5},
74 {"matrix": [1, 8], "x":8.5, "y":1},
75 {"matrix": [1, 9], "x":9.5, "y":1},
76 {"matrix": [1, 10], "x":10.5, "y":1},
77 {"matrix": [1, 11], "x":11.5, "y":1},
78 {"matrix": [1, 12], "x":12.5, "y":1},
79 {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5},
80 {"matrix": [2, 0], "x":0, "y":2, "w":1.5},
81 {"matrix": [2, 1], "x":1.5, "y":2},
82 {"matrix": [2, 2], "x":2.5, "y":2},
83 {"matrix": [2, 3], "x":3.5, "y":2},
84 {"matrix": [2, 4], "x":4.5, "y":2},
85 {"matrix": [2, 5], "x":5.5, "y":2},
86 {"matrix": [2, 8], "x":8.5, "y":2},
87 {"matrix": [2, 9], "x":9.5, "y":2},
88 {"matrix": [2, 10], "x":10.5, "y":2},
89 {"matrix": [2, 11], "x":11.5, "y":2},
90 {"matrix": [2, 12], "x":12.5, "y":2},
91 {"matrix": [2, 13], "x":13.5, "y":2, "w":1.5},
92 {"matrix": [3, 6], "x":6.5, "y":2.5, "h":1.5},
93 {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5},
94 {"matrix": [3, 0], "x":0, "y":3, "w":1.5},
95 {"matrix": [3, 1], "x":1.5, "y":3},
96 {"matrix": [3, 2], "x":2.5, "y":3},
97 {"matrix": [3, 3], "x":3.5, "y":3},
98 {"matrix": [3, 4], "x":4.5, "y":3},
99 {"matrix": [3, 5], "x":5.5, "y":3},
100 {"matrix": [3, 8], "x":8.5, "y":3},
101 {"matrix": [3, 9], "x":9.5, "y":3},
102 {"matrix": [3, 10], "x":10.5, "y":3},
103 {"matrix": [3, 11], "x":11.5, "y":3},
104 {"matrix": [3, 12], "x":12.5, "y":3},
105 {"matrix": [3, 13], "x":13.5, "y":3, "w":1.5},
106 {"matrix": [4, 0], "x":0, "y":4, "w":1.5},
107 {"matrix": [4, 1], "x":1.5, "y":4},
108 {"matrix": [4, 2], "x":2.5, "y":4},
109 {"matrix": [4, 3], "x":3.5, "y":4},
110 {"matrix": [4, 4], "x":4.5, "y":4},
111 {"matrix": [4, 5], "x":5.5, "y":4},
112 {"matrix": [4, 6], "x":6.5, "y":4, "w":2},
113 {"matrix": [4, 8], "x":8.5, "y":4},
114 {"matrix": [4, 9], "x":9.5, "y":4},
115 {"matrix": [4, 10], "x":10.5, "y":4},
116 {"matrix": [4, 11], "x":11.5, "y":4},
117 {"matrix": [4, 12], "x":12.5, "y":4},
118 {"matrix": [4, 13], "x":13.5, "y":4, "w":1.5}
119
120 ]
121 }
122 }
123}
diff --git a/keyboards/kradoindustries/promenade/keymaps/default/keymap.c b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c
new file mode 100644
index 0000000000..42e606c149
--- /dev/null
+++ b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c
@@ -0,0 +1,66 @@
1/*
2Copyright 2023 Matt F
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#include QMK_KEYBOARD_H
16
17// Layer shorthand
18enum layer_names {
19 _BASE,
20 _FN,
21};
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24
25 /* Base Layer
26 * .-----------------------------------------------------------------------------------------------------------------------------.
27 * | ESC | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
28 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
29 * | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | ' |
30 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
31 * | CAP LK | A | S | D | F | G | | | H | J | K | L | ; | ENTER |
32 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
33 * | LSHIFT | Z | X | C | V | B | END | PG DN | N | M | , | . | / | RSHIFT |
34 * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
35 * | LCTRL | LGUI | FN | LALT | SPACE | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL |
36 * '-----------------------------------------------------------------------------------------------------------------------------'
37 */
38 [_BASE] = LAYOUT(
39 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
40 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
41 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
42 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
43 KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL
44 ),
45
46 /* Function Layer
47 * .-----------------------------------------------------------------------------------------------------------------------------.
48 * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
49 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
50 * | | Home | Up | End | PgUp | | | | | | | | PRT SC | |
51 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
52 * | | Left | Down | Right | PgDn | | | | | | | | | Reset |
53 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
54 * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | |
55 * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
56 * | | | | | | | | | | | | | | Reset |
57 * '-----------------------------------------------------------------------------------------------------------------------------'
58 */
59 [_FN] = LAYOUT(
60 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
61 _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
62 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT,
63 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______,
64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
65 )
66};
diff --git a/keyboards/kradoindustries/promenade/keymaps/via/keymap.c b/keyboards/kradoindustries/promenade/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8797471b4c
--- /dev/null
+++ b/keyboards/kradoindustries/promenade/keymaps/via/keymap.c
@@ -0,0 +1,66 @@
1/*
2Copyright 2023 Matt F
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#include QMK_KEYBOARD_H
16
17// Layer shorthand
18enum layer_names {
19 _BASE,
20 _FN,
21};
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24
25 /* Base Layer
26 * .-----------------------------------------------------------------------------------------------------------------------------.
27 * | ESC | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
28 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
29 * | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | ' |
30 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
31 * | CAP LK | A | S | D | F | G | | | H | J | K | L | ; | ENTER |
32 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
33 * | LSHIFT | Z | X | C | V | B | END | PG DN | N | M | , | . | / | RSHIFT |
34 * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
35 * | LCTRL | LGUI | FN | LALT | SPACE | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL |
36 * '-----------------------------------------------------------------------------------------------------------------------------'
37 */
38 [_BASE] = LAYOUT(
39 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
40 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
41 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
42 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
43 KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL
44 ),
45
46 /* Function Layer
47 * .-----------------------------------------------------------------------------------------------------------------------------.
48 * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
49 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
50 * | | Home | Up | End | PgUp | | | | | | | | PRT SC | |
51 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
52 * | | Left | Down | Right | PgDn | | | | | | | | | Reset |
53 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
54 * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | |
55 * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
56 * | | | | | | | | | | | | | | Reset |
57 * '-----------------------------------------------------------------------------------------------------------------------------'
58 */
59 [_FN] = LAYOUT(
60 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
61 _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
62 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT,
63 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______,
64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
65 )
66};
diff --git a/keyboards/kradoindustries/promenade/keymaps/via/rules.mk b/keyboards/kradoindustries/promenade/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/kradoindustries/promenade/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/kradoindustries/promenade/readme.md b/keyboards/kradoindustries/promenade/readme.md
new file mode 100644
index 0000000000..179563995c
--- /dev/null
+++ b/keyboards/kradoindustries/promenade/readme.md
@@ -0,0 +1,30 @@
1# Promenade
2
3![Promenade](https://i.imgur.com/VXlXflth.jpg)
4
5The Promenade is a 60% ortholinear hotswap keyboard based on the split hand layout of the [Boardwalk](https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardwalk). While similar to the Professional 2 hotswap version of the Boardwalk, it uses 1.5u verticle inner mods instead of 1u keys, includes a JST connector, adds stabilizer mounting positions for 6u and split 3u spacebards, and in addition to 60% tray mounting points the pcb has edge cuts for for use in gummy o-ring mount boards like the Bakeneko60.
6
7The 1.5u vertical inner mods are the default configuration, but the board can be configured to use 3x2 1u keys either by removing the existing hotswap sockets and soldering 6 hotswap sockets to the 1u pads. *Note that the some of the 1u keys may require the plastic legs of 5-pin switches to be trimmed.*
8
9* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/)
10* Hardware Supported: Promenade pcb. Many 60% cases.
11* Hardware Availability: [Krado Industries](https://kradoindustries.com/)
12
13Make example for this keyboard (after setting up your build environment):
14
15 make kradoindustries/promenade:default
16
17Flashing example for this keyboard:
18
19 make kradoindustries/promenade:default:flash
20
21
22See 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).
23
24## Bootloader
25
26Enter the bootloader in 3 ways:
27
28* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
29* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
30* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/kradoindustries/promenade/rules.mk b/keyboards/kradoindustries/promenade/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/kradoindustries/promenade/rules.mk
@@ -0,0 +1 @@
# This file intentionally left blank
diff --git a/keyboards/skeletonkbd/frost68/config.h b/keyboards/skeletonkbd/frost68/config.h
new file mode 100644
index 0000000000..eaf7a31fb6
--- /dev/null
+++ b/keyboards/skeletonkbd/frost68/config.h
@@ -0,0 +1,61 @@
1// Copyright 2023 skeletonkbd (@skeletonkbd)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5
6#define WS2812_PIO_USE_PIO1
7#define RGB_MATRIX_LED_COUNT 68
8
9#define RGB_DISABLE_WHEN_USB_SUSPENDED
10#define USB_SUSPEND_WAKEUP_DELAY 200
11
12#define ENABLE_RGB_MATRIX_ALPHAS_MODS
13#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
14#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
15#define ENABLE_RGB_MATRIX_BREATHING
16#define ENABLE_RGB_MATRIX_BAND_SAT
17#define ENABLE_RGB_MATRIX_BAND_VAL
18#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
19#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
20#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
21#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
22#define ENABLE_RGB_MATRIX_CYCLE_ALL
23#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
24#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
25#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
26#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
27#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
28#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
29#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
30#define ENABLE_RGB_MATRIX_DUAL_BEACON
31#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
32#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
33#define ENABLE_RGB_MATRIX_RAINDROPS
34#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
35#define ENABLE_RGB_MATRIX_HUE_BREATHING
36#define ENABLE_RGB_MATRIX_HUE_PENDULUM
37#define ENABLE_RGB_MATRIX_HUE_WAVE
38#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
39#define ENABLE_RGB_MATRIX_PIXEL_FLOW
40#define ENABLE_RGB_MATRIX_PIXEL_RAIN
41
42#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
43#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
44#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
45
46#define RGB_MATRIX_KEYPRESSES
47#define RGB_MATRIX_KEYRELEASES
48#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
49#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
50#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
51#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
52#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
53#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
54#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
55#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
56#define ENABLE_RGB_MATRIX_SPLASH
57#define ENABLE_RGB_MATRIX_MULTISPLASH
58#define ENABLE_RGB_MATRIX_SOLID_SPLASH
59#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
60
61#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
diff --git a/keyboards/skeletonkbd/frost68/frost68.c b/keyboards/skeletonkbd/frost68/frost68.c
new file mode 100644
index 0000000000..4bfd3fa28f
--- /dev/null
+++ b/keyboards/skeletonkbd/frost68/frost68.c
@@ -0,0 +1,18 @@
1// Copyright 2023 skeletonkbd (@skeletonkbd)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include "quantum.h"
5
6bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
7 if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) {
8 return false;
9 }
10 if (host_keyboard_led_state().caps_lock) {
11 for (uint8_t i = led_min; i < led_max; i++) {
12 if (g_led_config.flags[i] & LED_FLAG_INDICATOR) {
13 rgb_matrix_set_color(i, RGB_RED);
14 }
15 }
16 }
17 return false;
18}
diff --git a/keyboards/skeletonkbd/frost68/info.json b/keyboards/skeletonkbd/frost68/info.json
new file mode 100644
index 0000000000..3099b26eca
--- /dev/null
+++ b/keyboards/skeletonkbd/frost68/info.json
@@ -0,0 +1,182 @@
1{
2 "manufacturer": "skeletonkbd",
3 "keyboard_name": "Frost68",
4 "maintainer": "skeletonkbd",
5 "bootloader": "rp2040",
6 "diode_direction": "COL2ROW",
7 "features": {
8 "bootmagic": true,
9 "command": false,
10 "console": false,
11 "extrakey": true,
12 "mousekey": true,
13 "nkro": true,
14 "rgb_matrix": true
15 },
16 "matrix_pins": {
17 "cols": ["GP21", "GP22", "GP23", "GP24", "GP25", "GP26", "GP28", "GP3", "GP4", "GP5", "GP6", "GP9", "GP10", "GP11", "GP12", "GP13"],
18 "rows": ["GP29", "GP27", "GP20", "GP19", "GP18"]
19 },
20 "processor": "RP2040",
21 "ws2812": {
22 "driver": "vendor",
23 "pin": "GP0"
24 },
25 "rgb_matrix": {
26 "driver": "WS2812",
27 "layout": [
28 {"matrix": [0, 0], "x": 33.1, "y": 3.7, "flags": 4},
29 {"matrix": [0, 1], "x": 45.7, "y": 3.7, "flags": 4},
30 {"matrix": [0, 2], "x": 58.3, "y": 2.4, "flags": 4},
31 {"matrix": [0, 3], "x": 71.1, "y": 6.4, "flags": 4},
32 {"matrix": [0, 4], "x": 83.4, "y": 10.4, "flags": 4},
33 {"matrix": [0, 5], "x": 95.7, "y": 14.3, "flags": 4},
34 {"matrix": [0, 6], "x": 108, "y": 18.3, "flags": 4},
35 {"matrix": [1, 5], "x": 99.3, "y": 35, "flags": 4},
36 {"matrix": [1, 4], "x": 86.9, "y": 31, "flags": 4},
37 {"matrix": [1, 3], "x": 74.6, "y": 27, "flags": 4},
38 {"matrix": [1, 2], "x": 62.3, "y": 23.1, "flags": 4},
39 {"matrix": [1, 1], "x": 49.2, "y": 22.7, "flags": 4},
40 {"matrix": [1, 0], "x": 33.5, "y": 22.7, "flags": 1},
41 {"matrix": [2, 0], "x": 32.3, "y": 41.8, "flags": 1},
42 {"matrix": [2, 1], "x": 49.7, "y": 41.8, "flags": 4},
43 {"matrix": [2, 2], "x": 62.7, "y": 42.7, "flags": 4},
44 {"matrix": [2, 3], "x": 75.1, "y": 46.7, "flags": 4},
45 {"matrix": [2, 4], "x": 87.4, "y": 50.6, "flags": 4},
46 {"matrix": [2, 5], "x": 99.7, "y": 54.6, "flags": 4},
47 {"matrix": [3, 5], "x": 103.3, "y": 75.2, "flags": 4},
48 {"matrix": [3, 4], "x": 90.9, "y": 71.2, "flags": 4},
49 {"matrix": [3, 3], "x": 78.6, "y": 67.3, "flags": 4},
50 {"matrix": [3, 2], "x": 66.3, "y": 63.3, "flags": 4},
51 {"matrix": [3, 1], "x": 53.3, "y": 60.8, "flags": 4},
52 {"matrix": [3, 0], "x": 32.8, "y": 60.8, "flags": 1},
53 {"matrix": [4, 0], "x": 28.1, "y": 79.9, "flags": 1},
54 {"matrix": [4, 1], "x": 47, "y": 79.9, "flags": 1},
55 {"matrix": [4, 3], "x": 80.6, "y": 87.4, "flags": 4},
56 {"matrix": [4, 5], "x": 100.6, "y": 93.8, "flags": 4},
57 {"matrix": [4, 7], "x": 140.2, "y": 90.4, "flags": 4},
58 {"matrix": [4, 10], "x": 166.4, "y": 82.5, "flags": 1},
59 {"matrix": [4, 12], "x": 195.7, "y": 79.9, "flags": 1},
60 {"matrix": [4, 13], "x": 211.4, "y": 79.9, "flags": 4},
61 {"matrix": [4, 14], "x": 224, "y": 79.9, "flags": 4},
62 {"matrix": [4, 15], "x": 236.6, "y": 79.9, "flags": 4},
63 {"matrix": [3, 14], "x": 224, "y": 60.8, "flags": 4},
64 {"matrix": [3, 13], "x": 206.7, "y": 60.8, "flags": 1},
65 {"matrix": [3, 12], "x": 189.4, "y": 60.8, "flags": 4},
66 {"matrix": [3, 11], "x": 176.8, "y": 60.8, "flags": 4},
67 {"matrix": [3, 10], "x": 163.7, "y": 63.3, "flags": 4},
68 {"matrix": [3, 9], "x": 151.4, "y": 67.3, "flags": 4},
69 {"matrix": [3, 8], "x": 139.1, "y": 71.2, "flags": 4},
70 {"matrix": [3, 7], "x": 126.8, "y": 75.2, "flags": 4},
71 {"matrix": [2, 7], "x": 130.3, "y": 54.6, "flags": 4},
72 {"matrix": [2, 8], "x": 142.6, "y": 50.6, "flags": 4},
73 {"matrix": [2, 9], "x": 155, "y": 46.7, "flags": 4},
74 {"matrix": [2, 10], "x": 167.3, "y": 42.7, "flags": 4},
75 {"matrix": [2, 11], "x": 180.4, "y": 41.8, "flags": 4},
76 {"matrix": [2, 12], "x": 193, "y": 41.8, "flags": 4},
77 {"matrix": [2, 13], "x": 213.4, "y": 41.8, "flags": 4},
78 {"matrix": [2, 15], "x": 236.6, "y": 39.6, "flags": 4},
79 {"matrix": [1, 15], "x": 235.3, "y": 20.5, "flags": 4},
80 {"matrix": [1, 14], "x": 217.4, "y": 22.7, "flags": 4},
81 {"matrix": [1, 13], "x": 201.6, "y": 22.7, "flags": 4},
82 {"matrix": [1, 12], "x": 189, "y": 22.7, "flags": 4},
83 {"matrix": [1, 11], "x": 176.4, "y": 22, "flags": 4},
84 {"matrix": [1, 10], "x": 163.4, "y": 24.5, "flags": 4},
85 {"matrix": [1, 9], "x": 151.1, "y": 28.4, "flags": 4},
86 {"matrix": [1, 8], "x": 138.7, "y": 32.4, "flags": 4},
87 {"matrix": [1, 7], "x": 126.4, "y": 36.4, "flags": 4},
88 {"matrix": [0, 7], "x": 128.1, "y": 16.3, "flags": 4},
89 {"matrix": [0, 8], "x": 140.5, "y": 12.4, "flags": 4},
90 {"matrix": [0, 9], "x": 152.8, "y": 8.4, "flags": 4},
91 {"matrix": [0, 10], "x": 165.1, "y": 4.4, "flags": 4},
92 {"matrix": [0, 11], "x": 178.2, "y": 2.9, "flags": 4},
93 {"matrix": [0, 12], "x": 190.8, "y": 3.7, "flags": 4},
94 {"matrix": [0, 14], "x": 209.7, "y": 3.7, "flags": 1},
95 {"matrix": [0, 15], "x": 233.9, "y": 1.5, "flags": 4}
96 ],
97 "max_brightness": 118,
98 "sat_steps": 8,
99 "speed_steps": 10,
100 "val_steps": 8
101 },
102 "url": "https://skeletonkbd.com/",
103 "usb": {
104 "device_version": "1.0.0",
105 "pid": "0x68A0",
106 "vid": "0x1209"
107 },
108 "layouts": {
109 "LAYOUT": {
110 "layout": [
111 {"matrix": [0, 0], "x": 0, "y": 0},
112 {"matrix": [0, 1], "x": 1, "y": 0},
113 {"matrix": [0, 2], "x": 2, "y": 0},
114 {"matrix": [0, 3], "x": 3, "y": 0},
115 {"matrix": [0, 4], "x": 4, "y": 0},
116 {"matrix": [0, 5], "x": 5, "y": 0},
117 {"matrix": [0, 6], "x": 6, "y": 0},
118 {"matrix": [0, 7], "x": 9, "y": 0},
119 {"matrix": [0, 8], "x": 10, "y": 0},
120 {"matrix": [0, 9], "x": 11, "y": 0},
121 {"matrix": [0, 10], "x": 12, "y": 0},
122 {"matrix": [0, 11], "x": 13, "y": 0},
123 {"matrix": [0, 12], "x": 14, "y": 0},
124 {"matrix": [0, 13], "x": 15, "y": 0, "w": 2},
125 {"matrix": [0, 15], "x": 17.25, "y": 0},
126 {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
127 {"matrix": [1, 1], "x": 1.5, "y": 1},
128 {"matrix": [1, 2], "x": 2.5, "y": 1},
129 {"matrix": [1, 3], "x": 3.5, "y": 1},
130 {"matrix": [1, 4], "x": 4.5, "y": 1},
131 {"matrix": [1, 5], "x": 5.5, "y": 1},
132 {"matrix": [1, 7], "x": 8.5, "y": 1},
133 {"matrix": [1, 8], "x": 9.5, "y": 1},
134 {"matrix": [1, 9], "x": 10.5, "y": 1},
135 {"matrix": [1, 10], "x": 11.5, "y": 1},
136 {"matrix": [1, 11], "x": 12.5, "y": 1},
137 {"matrix": [1, 12], "x": 13.5, "y": 1},
138 {"matrix": [1, 13], "x": 14.5, "y": 1},
139 {"matrix": [1, 14], "x": 15.5, "y": 1, "w": 1.5},
140 {"matrix": [1, 15], "x": 17.25, "y": 1},
141 {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
142 {"matrix": [2, 1], "x": 1.75, "y": 2},
143 {"matrix": [2, 2], "x": 2.75, "y": 2},
144 {"matrix": [2, 3], "x": 3.75, "y": 2},
145 {"matrix": [2, 4], "x": 4.75, "y": 2},
146 {"matrix": [2, 5], "x": 5.75, "y": 2},
147 {"matrix": [2, 7], "x": 8.75, "y": 2},
148 {"matrix": [2, 8], "x": 9.75, "y": 2},
149 {"matrix": [2, 9], "x": 10.75, "y": 2},
150 {"matrix": [2, 10], "x": 11.75, "y": 2},
151 {"matrix": [2, 11], "x": 12.75, "y": 2},
152 {"matrix": [2, 12], "x": 13.75, "y": 2},
153 {"matrix": [2, 13], "x": 14.75, "y": 2, "w": 2.25},
154 {"matrix": [2, 15], "x": 17.25, "y": 2},
155 {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
156 {"matrix": [3, 1], "x": 2.25, "y": 3},
157 {"matrix": [3, 2], "x": 3.25, "y": 3},
158 {"matrix": [3, 3], "x": 4.25, "y": 3},
159 {"matrix": [3, 4], "x": 5.25, "y": 3},
160 {"matrix": [3, 5], "x": 6.25, "y": 3},
161 {"matrix": [3, 7], "x": 8.25, "y": 3},
162 {"matrix": [3, 8], "x": 9.25, "y": 3},
163 {"matrix": [3, 9], "x": 10.25, "y": 3},
164 {"matrix": [3, 10], "x": 11.25, "y": 3},
165 {"matrix": [3, 11], "x": 12.25, "y": 3},
166 {"matrix": [3, 12], "x": 13.25, "y": 3},
167 {"matrix": [3, 13], "x": 14.25, "y": 3, "w": 1.75},
168 {"matrix": [3, 14], "x": 16, "y": 3},
169 {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
170 {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5},
171 {"matrix": [4, 3], "x": 4, "y": 4, "w": 2.25},
172 {"matrix": [4, 5], "x": 6.25, "y": 4},
173 {"matrix": [4, 7], "x": 8.25, "y": 4, "w": 2.75},
174 {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
175 {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5},
176 {"matrix": [4, 13], "x": 15, "y": 4},
177 {"matrix": [4, 14], "x": 16, "y": 4},
178 {"matrix": [4, 15], "x": 17, "y": 4}
179 ]
180 }
181 }
182} \ No newline at end of file
diff --git a/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c b/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3d0d6dc794
--- /dev/null
+++ b/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c
@@ -0,0 +1,29 @@
1// Copyright 2023 skeletonkbd (@skeletonkbd)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5
6// Defines names for use in layer keycodes and the keymap
7enum layer_names {
8 _BASE,
9 _L1,
10};
11
12// clang-format off
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14 [_BASE] = LAYOUT(
15 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
16 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
17 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END,
18 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LNG1, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
19 KC_LCTL, KC_LALT, KC_SPC, MO(_L1), KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
20
21 [_L1] = LAYOUT(
22 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_PSCR,
23 KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS,
24 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
25 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LNG2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
26 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS),
27
28
29}; \ No newline at end of file
diff --git a/keyboards/skeletonkbd/frost68/keymaps/via/keymap.c b/keyboards/skeletonkbd/frost68/keymaps/via/keymap.c
new file mode 100644
index 0000000000..16d734b83f
--- /dev/null
+++ b/keyboards/skeletonkbd/frost68/keymaps/via/keymap.c
@@ -0,0 +1,29 @@
1// Copyright 2023 skeletonkbd (@skeletonkbd)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5
6// Defines names for use in layer keycodes and the keymap
7enum layer_names {
8 _BASE,
9 _L1,
10};
11
12// clang-format off
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14 [_BASE] = LAYOUT(
15 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
16 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
17 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END,
18 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LNG1, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
19 KC_LCTL, KC_LALT, KC_SPC, MO(_L1), KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
20
21 [_L1] = LAYOUT(
22 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_PSCR,
23 KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS,
24 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
25 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LNG2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
26 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS),
27
28
29}; \ No newline at end of file
diff --git a/keyboards/skeletonkbd/frost68/keymaps/via/rules.mk b/keyboards/skeletonkbd/frost68/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/skeletonkbd/frost68/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/skeletonkbd/frost68/readme.md b/keyboards/skeletonkbd/frost68/readme.md
new file mode 100644
index 0000000000..4864fd1a19
--- /dev/null
+++ b/keyboards/skeletonkbd/frost68/readme.md
@@ -0,0 +1,27 @@
1# skeletonkbd/skeleton68
2
3![skeletonkbd/skeleton68](https://i.imgur.com/ZrtbBNPh.jpg)
4
5Alice layout keyboard with acrylic case.
6
7- Keyboard Maintainer: [SkeletonKBD](https://github.com/skeletonkbd)
8- Hardware Supported: Frost68
9- Hardware Availability: https://github.com/skeletonkbd/Frost68
10
11Make example for this keyboard (after setting up your build environment):
12
13 make skeletonkbd/skeleton68:default
14
15Flashing example for this keyboard:
16
17 make skeletonkbd/skeleton68:default:flash
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
20
21## Bootloader
22
23Enter the bootloader in 3 ways:
24
25- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
26- **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
27- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/skeletonkbd/frost68/rules.mk b/keyboards/skeletonkbd/frost68/rules.mk
new file mode 100644
index 0000000000..1319572349
--- /dev/null
+++ b/keyboards/skeletonkbd/frost68/rules.mk
@@ -0,0 +1 @@
DEBOUNCE_TYPE = sym_eager_pk