aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-05-13 17:22:42 +0000
committerQMK Bot <hello@qmk.fm>2021-05-13 17:22:42 +0000
commitf70dc8435acbd1f2624ecbe52f568795fae471e1 (patch)
treea6584a7c89610d7789eb2e8683ad42ccf7d27229
parent673c12fa3bce3318f1c62180d3f9548ac5adb5d8 (diff)
parent10a3e3a34190fc8292356db9b5de021f1c734e6f (diff)
downloadqmk_firmware-f70dc8435acbd1f2624ecbe52f568795fae471e1.tar.gz
qmk_firmware-f70dc8435acbd1f2624ecbe52f568795fae471e1.zip
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/ky01/config.h146
-rw-r--r--keyboards/ky01/info.json437
-rw-r--r--keyboards/ky01/keymaps/default/keymap.c41
-rw-r--r--keyboards/ky01/keymaps/via/keymap.c60
-rw-r--r--keyboards/ky01/keymaps/via/rules.mk2
-rw-r--r--keyboards/ky01/ky01.c17
-rw-r--r--keyboards/ky01/ky01.h38
-rw-r--r--keyboards/ky01/readme.md22
-rw-r--r--keyboards/ky01/rules.mk22
9 files changed, 785 insertions, 0 deletions
diff --git a/keyboards/ky01/config.h b/keyboards/ky01/config.h
new file mode 100644
index 000000000..22c211dac
--- /dev/null
+++ b/keyboards/ky01/config.h
@@ -0,0 +1,146 @@
1/*
2Copyright 2020 KnoblesseOblige
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4B4F /* "KO" */
24#define PRODUCT_ID 0x4B59 /* "KY" */
25#define DEVICE_VER 0x0001
26#define MANUFACTURER KnoblesseOblige
27#define PRODUCT KY-01
28
29/* key matrix size */
30#define MATRIX_ROWS 6
31#define MATRIX_COLS 16
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { E6, B5, B4, D7, D4, D6 }
44#define MATRIX_COL_PINS { B3, B7, D0, D1, D2, D3, D5, F0, F1, F4, F5, F6, F7, C7, C6, B6 }
45#define UNUSED_PINS
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55// #define BACKLIGHT_PIN B7
56// #define BACKLIGHT_BREATHING
57// #define BACKLIGHT_LEVELS 3
58
59// #define RGB_DI_PIN E2
60// #ifdef RGB_DI_PIN
61// #define RGBLED_NUM 16
62// #define RGBLIGHT_HUE_STEP 8
63// #define RGBLIGHT_SAT_STEP 8
64// #define RGBLIGHT_VAL_STEP 8
65// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67// /*== all animations enable ==*/
68// #define RGBLIGHT_ANIMATIONS
69// /*== or choose animations ==*/
70// #define RGBLIGHT_EFFECT_BREATHING
71// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
72// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73// #define RGBLIGHT_EFFECT_SNAKE
74// #define RGBLIGHT_EFFECT_KNIGHT
75// #define RGBLIGHT_EFFECT_CHRISTMAS
76// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
77// #define RGBLIGHT_EFFECT_RGB_TEST
78// #define RGBLIGHT_EFFECT_ALTERNATING
79// /*== customize breathing effect ==*/
80// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82// /*==== use exp() and sin() ====*/
83// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85// #endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
89
90/* define if matrix has ghost (lacks anti-ghosting diodes) */
91//#define MATRIX_HAS_GHOST
92
93/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
94#define LOCKING_SUPPORT_ENABLE
95/* Locking resynchronize hack */
96#define LOCKING_RESYNC_ENABLE
97
98/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
99 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
100 */
101// #define GRAVE_ESC_CTRL_OVERRIDE
102
103/*
104 * Force NKRO
105 *
106 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
107 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
108 * makefile for this to work.)
109 *
110 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
111 * until the next keyboard reset.
112 *
113 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
114 * fully operational during normal computer usage.
115 *
116 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
117 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
118 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
119 * power-up.
120 *
121 */
122//#define FORCE_NKRO
123
124/*
125 * Feature disable options
126 * These options are also useful to firmware size reduction.
127 */
128
129/* disable debug print */
130//#define NO_DEBUG
131
132/* disable print */
133//#define NO_PRINT
134
135/* disable action features */
136//#define NO_ACTION_LAYER
137//#define NO_ACTION_TAPPING
138//#define NO_ACTION_ONESHOT
139
140/* disable these deprecated features by default */
141#define NO_ACTION_MACRO
142#define NO_ACTION_FUNCTION
143
144/* Bootmagic Lite key configuration */
145// #define BOOTMAGIC_LITE_ROW 0
146// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/ky01/info.json b/keyboards/ky01/info.json
new file mode 100644
index 000000000..809975931
--- /dev/null
+++ b/keyboards/ky01/info.json
@@ -0,0 +1,437 @@
1{
2 "keyboard_name": "ky01",
3 "url": "https://geekhack.org/index.php?topic=107809.0",
4 "maintainer": "KnoblesseOblige",
5 "width": 16.25,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {
11 "label": "Esc",
12 "x": 0,
13 "y": 0
14 },
15 {
16 "label": "F1",
17 "x": 2,
18 "y": 0
19 },
20 {
21 "label": "F2",
22 "x": 3,
23 "y": 0
24 },
25 {
26 "label": "F3",
27 "x": 4,
28 "y": 0
29 },
30 {
31 "label": "F4",
32 "x": 5,
33 "y": 0
34 },
35 {
36 "label": "F5",
37 "x": 6.5,
38 "y": 0
39 },
40 {
41 "label": "F6",
42 "x": 7.5,
43 "y": 0
44 },
45 {
46 "label": "F7",
47 "x": 8.5,
48 "y": 0
49 },
50 {
51 "label": "F8",
52 "x": 9.5,
53 "y": 0
54 },
55 {
56 "label": "F9",
57 "x": 11,
58 "y": 0
59 },
60 {
61 "label": "F10",
62 "x": 12,
63 "y": 0
64 },
65 {
66 "label": "F11",
67 "x": 13,
68 "y": 0
69 },
70 {
71 "label": "F12",
72 "x": 14,
73 "y": 0
74 },
75 {
76 "label": "PrtSc",
77 "x": 15.25,
78 "y": 0
79 },
80 {
81 "label": "\\u00ac",
82 "x": 0,
83 "y": 1.5
84 },
85 {
86 "label": "!",
87 "x": 1,
88 "y": 1.5
89 },
90 {
91 "label": "\"",
92 "x": 2,
93 "y": 1.5
94 },
95 {
96 "label": "\\u00a3",
97 "x": 3,
98 "y": 1.5
99 },
100 {
101 "label": "$",
102 "x": 4,
103 "y": 1.5
104 },
105 {
106 "label": "%",
107 "x": 5,
108 "y": 1.5
109 },
110 {
111 "label": "^",
112 "x": 6,
113 "y": 1.5
114 },
115 {
116 "label": "&",
117 "x": 7,
118 "y": 1.5
119 },
120 {
121 "label": "*",
122 "x": 8,
123 "y": 1.5
124 },
125 {
126 "label": "(",
127 "x": 9,
128 "y": 1.5
129 },
130 {
131 "label": ")",
132 "x": 10,
133 "y": 1.5
134 },
135 {
136 "label": "_",
137 "x": 11,
138 "y": 1.5
139 },
140 {
141 "label": "+",
142 "x": 12,
143 "y": 1.5
144 },
145 {
146 "label": "Backspace",
147 "x": 13,
148 "y": 1.5
149 },
150 {
151 "label": "Delete",
152 "x": 14,
153 "y": 1.5
154 },
155 {
156 "label": "Insert",
157 "x": 15.25,
158 "y": 1.5
159 },
160 {
161 "label": "Tab",
162 "x": 0,
163 "y": 2.5,
164 "w": 1.5
165 },
166 {
167 "label": "Q",
168 "x": 1.5,
169 "y": 2.5
170 },
171 {
172 "label": "W",
173 "x": 2.5,
174 "y": 2.5
175 },
176 {
177 "label": "E",
178 "x": 3.5,
179 "y": 2.5
180 },
181 {
182 "label": "R",
183 "x": 4.5,
184 "y": 2.5
185 },
186 {
187 "label": "T",
188 "x": 5.5,
189 "y": 2.5
190 },
191 {
192 "label": "Y",
193 "x": 6.5,
194 "y": 2.5
195 },
196 {
197 "label": "U",
198 "x": 7.5,
199 "y": 2.5
200 },
201 {
202 "label": "I",
203 "x": 8.5,
204 "y": 2.5
205 },
206 {
207 "label": "O",
208 "x": 9.5,
209 "y": 2.5
210 },
211 {
212 "label": "P",
213 "x": 10.5,
214 "y": 2.5
215 },
216 {
217 "label": "{",
218 "x": 11.5,
219 "y": 2.5
220 },
221 {
222 "label": "}",
223 "x": 12.5,
224 "y": 2.5
225 },
226 {
227 "label": "Enter",
228 "x": 13.75,
229 "y": 2.5,
230 "w": 1.25,
231 "h": 2
232 },
233 {
234 "label": "Delete",
235 "x": 15.25,
236 "y": 2.5
237 },
238 {
239 "label": "Caps Lock",
240 "x": 0,
241 "y": 3.5,
242 "w": 1.75
243 },
244 {
245 "label": "A",
246 "x": 1.75,
247 "y": 3.5
248 },
249 {
250 "label": "S",
251 "x": 2.75,
252 "y": 3.5
253 },
254 {
255 "label": "D",
256 "x": 3.75,
257 "y": 3.5
258 },
259 {
260 "label": "F",
261 "x": 4.75,
262 "y": 3.5
263 },
264 {
265 "label": "G",
266 "x": 5.75,
267 "y": 3.5
268 },
269 {
270 "label": "H",
271 "x": 6.75,
272 "y": 3.5
273 },
274 {
275 "label": "J",
276 "x": 7.75,
277 "y": 3.5
278 },
279 {
280 "label": "K",
281 "x": 8.75,
282 "y": 3.5
283 },
284 {
285 "label": "L",
286 "x": 9.75,
287 "y": 3.5
288 },
289 {
290 "label": ":",
291 "x": 10.75,
292 "y": 3.5
293 },
294 {
295 "label": "@",
296 "x": 11.75,
297 "y": 3.5
298 },
299 {
300 "label": "~",
301 "x": 12.75,
302 "y": 3.5
303 },
304 {
305 "label": "PgDn",
306 "x": 15.25,
307 "y": 3.5
308 },
309 {
310 "label": "Shift",
311 "x": 0,
312 "y": 4.5,
313 "w": 1.25
314 },
315 {
316 "label": "|",
317 "x": 1.25,
318 "y": 4.5
319 },
320 {
321 "label": "Z",
322 "x": 2.25,
323 "y": 4.5
324 },
325 {
326 "label": "X",
327 "x": 3.25,
328 "y": 4.5
329 },
330 {
331 "label": "C",
332 "x": 4.25,
333 "y": 4.5
334 },
335 {
336 "label": "V",
337 "x": 5.25,
338 "y": 4.5
339 },
340 {
341 "label": "B",
342 "x": 6.25,
343 "y": 4.5
344 },
345 {
346 "label": "N",
347 "x": 7.25,
348 "y": 4.5
349 },
350 {
351 "label": "M",
352 "x": 8.25,
353 "y": 4.5
354 },
355 {
356 "label": "<",
357 "x": 9.25,
358 "y": 4.5
359 },
360 {
361 "label": ">",
362 "x": 10.25,
363 "y": 4.5
364 },
365 {
366 "label": "?",
367 "x": 11.25,
368 "y": 4.5
369 },
370 {
371 "label": "Shift",
372 "x": 12.25,
373 "y": 4.5,
374 "w": 1.75
375 },
376 {
377 "label": "\\u2191",
378 "x": 14.25,
379 "y": 4.5
380 },
381 {
382 "label": "Ctrl",
383 "x": 0,
384 "y": 5.5,
385 "w": 1.25
386 },
387 {
388 "label": "Win",
389 "x": 1.25,
390 "y": 5.5,
391 "w": 1.25
392 },
393 {
394 "label": "Alt",
395 "x": 2.5,
396 "y": 5.5,
397 "w": 1.25
398 },
399 {
400 "x": 3.75,
401 "y": 5.5,
402 "w": 6.25
403 },
404 {
405 "label": "AltGr",
406 "x": 10,
407 "y": 5.5
408 },
409 {
410 "label": "Win",
411 "x": 11,
412 "y": 5.5
413 },
414 {
415 "label": "Ctrl",
416 "x": 12,
417 "y": 5.5
418 },
419 {
420 "label": "\\u2190",
421 "x": 13.25,
422 "y": 5.5
423 },
424 {
425 "label": "\\u2193",
426 "x": 14.25,
427 "y": 5.5
428 },
429 {
430 "label": "\\u2192",
431 "x": 15.25,
432 "y": 5.5
433 }
434 ]
435 }
436 }
437}
diff --git a/keyboards/ky01/keymaps/default/keymap.c b/keyboards/ky01/keymaps/default/keymap.c
new file mode 100644
index 000000000..fc08c14a8
--- /dev/null
+++ b/keyboards/ky01/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
1/* Copyright 2020 KnoblesseOblige
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18enum layer_names {
19 QWERTY,
20 L1
21};
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 /* Base */
25 [QWERTY] = LAYOUT(
26 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, LT(L1, KC_PSCR),
27 KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPC, KC_DELETE, KC_INS,
28 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_DELETE,
29 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_NUHS, KC_ENTER, KC_PGDN,
30 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
32 ),
33 [L1] = LAYOUT(
34 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
40 )
41};
diff --git a/keyboards/ky01/keymaps/via/keymap.c b/keyboards/ky01/keymaps/via/keymap.c
new file mode 100644
index 000000000..b28f467d0
--- /dev/null
+++ b/keyboards/ky01/keymaps/via/keymap.c
@@ -0,0 +1,60 @@
1/* Copyright 2020 KnoblesseOblige
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18enum layer_names {
19 QWERTY,
20 L1,
21 L2,
22 L3
23};
24
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 /* Base */
28 [QWERTY] = LAYOUT(
29 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_PSCR,
30 KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPC, KC_DELETE, KC_INS,
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, KC_DELETE,
32 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_NUHS, KC_ENTER, KC_PGDN,
33 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
34 KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
35 ),
36 [L1] = LAYOUT(
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
43 ),
44 [L2] = LAYOUT(
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
51 ),
52 [L3] = LAYOUT(
53 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
55 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
56 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
57 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
58 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
59 )
60};
diff --git a/keyboards/ky01/keymaps/via/rules.mk b/keyboards/ky01/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/ky01/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/ky01/ky01.c b/keyboards/ky01/ky01.c
new file mode 100644
index 000000000..7ddffc01d
--- /dev/null
+++ b/keyboards/ky01/ky01.c
@@ -0,0 +1,17 @@
1/* Copyright 2020 KnoblesseOblige
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "ky01.h"
diff --git a/keyboards/ky01/ky01.h b/keyboards/ky01/ky01.h
new file mode 100644
index 000000000..e5280bd24
--- /dev/null
+++ b/keyboards/ky01/ky01.h
@@ -0,0 +1,38 @@
1/* Copyright 2020 KnoblesseOblige
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21#define XXX KC_NO
22
23#define LAYOUT( \
24 k00, k02, k03, k04, k05, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \
25 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \
26 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2f, \
27 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3f, \
28 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, \
29 k50, k51, k52, k56, k59, k5a, k5b, k5c, k5d, k5e \
30) \
31{ \
32 { k00, XXX, k02, k03, k04, k05, XXX, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \
33 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \
34 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX, k2f }, \
35 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, k3f }, \
36 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, XXX, XXX }, \
37 { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, k59, k5a, k5b, k5c, k5d, k5e, XXX } \
38}
diff --git a/keyboards/ky01/readme.md b/keyboards/ky01/readme.md
new file mode 100644
index 000000000..8bbab4573
--- /dev/null
+++ b/keyboards/ky01/readme.md
@@ -0,0 +1,22 @@
1# ky01
2
3![ky01](https://i.imgur.com/Un24BUs.png)
4
5A 75% Top-Mount Keyboard By KCK.
6
7* Keyboard Maintainer: [KnoblesseOblige](https://github.com/KnoblesseOblige)
8* Hardware Supported: KY01
9* Hardware Availability: limited [Group Buy](https://geekhack.org/index.php?topic=107809.0) finished
10
11Make example for this keyboard (after setting up your build environment):
12
13 make ky01:default
14
15See 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).
16
17# How to enter bootloader
18
19* hold left shift + right shift + B
20* OR hold escape + F13 (top right most key)
21* OR short the reset pins on the pcb, then plug the usb
22* OR (if you already flashed via) hold escape and then plug the usb
diff --git a/keyboards/ky01/rules.mk b/keyboards/ky01/rules.mk
new file mode 100644
index 000000000..000f55911
--- /dev/null
+++ b/keyboards/ky01/rules.mk
@@ -0,0 +1,22 @@
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 = no # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = yes # 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 = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output