d9613e6a3318e4b3d72eb52bbe16ee5c753df9d6
- Author
- Rys Sommefeldt <rys@pixeltards.com>
- Committer
- GitHub <noreply@github.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/keyboards/capsunlocked/cu65/config.h b/keyboards/capsunlocked/cu65/config.h
2new file mode 100644
3index 0000000000000000000000000000000000000000..8fac6cd06d8805046fcfed0cd872cc9698ffdd91
4--- /dev/null
5+++ b/keyboards/capsunlocked/cu65/config.h
6@@ -0,0 +1,105 @@
7+/*
8+Copyright 2020 CapsUnlocked
9+
10+This program is free software: you can redistribute it and/or modify
11+it under the terms of the GNU General Public License as published by
12+the Free Software Foundation, either version 2 of the License, or
13+(at your option) any later version.
14+
15+This program is distributed in the hope that it will be useful,
16+but WITHOUT ANY WARRANTY; without even the implied warranty of
17+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18+GNU General Public License for more details.
19+
20+You should have received a copy of the GNU General Public License
21+along with this program. If not, see <http://www.gnu.org/licenses/>.
22+*/
23+
24+#pragma once
25+
26+#include "config_common.h"
27+
28+/* USB Device descriptor parameter */
29+#define VENDOR_ID 0x4355
30+#define PRODUCT_ID 0x0065
31+#define DEVICE_VER 0x0001
32+#define MANUFACTURER CapsUnlocked
33+#define PRODUCT CU65
34+
35+/* key matrix size */
36+#define MATRIX_ROWS 5
37+#define MATRIX_COLS 16
38+
39+/*
40+ * Keyboard Matrix Assignments
41+ *
42+ * Change this to how you wired your keyboard
43+ * COLS: AVR pins used for columns, left to right
44+ * ROWS: AVR pins used for rows, top to bottom
45+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
46+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
47+ *
48+*/
49+#define MATRIX_ROW_PINS { F1, F4, F5, F6, D3 }
50+#define MATRIX_COL_PINS { D6, D7, D4, B4, B5, B6, C6, D5, C7, F0, E6, B0, B1, B7, B3, B2 }
51+#define UNUSED_PINS
52+
53+/* COL2ROW, ROW2COL */
54+#define DIODE_DIRECTION COL2ROW
55+
56+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
57+#define DEBOUNCE 5
58+
59+/* define if matrix has ghost (lacks anti-ghosting diodes) */
60+//#define MATRIX_HAS_GHOST
61+
62+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
63+#define LOCKING_SUPPORT_ENABLE
64+/* Locking resynchronize hack */
65+#define LOCKING_RESYNC_ENABLE
66+
67+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
68+ * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
69+ */
70+//#define GRAVE_ESC_CTRL_OVERRIDE
71+
72+/*
73+ * Force NKRO
74+ *
75+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
76+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
77+ * makefile for this to work.)
78+ *
79+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
80+ * until the next keyboard reset.
81+ *
82+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
83+ * fully operational during normal computer usage.
84+ *
85+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
86+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
87+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
88+ * power-up.
89+ *
90+ */
91+//#define FORCE_NKRO
92+
93+/*
94+ * Feature disable options
95+ * These options are also useful to firmware size reduction.
96+ */
97+
98+/* disable debug print */
99+//#define NO_DEBUG
100+
101+/* disable print */
102+//#define NO_PRINT
103+
104+/* disable action features */
105+//#define NO_ACTION_LAYER
106diff --git a/keyboards/capsunlocked/cu65/cu65.c b/keyboards/capsunlocked/cu65/cu65.c
107new file mode 100644
108index 0000000000000000000000000000000000000000..2b7f720e1347e8b77559ab54787c0a0603954b85
109--- /dev/null
110+++ b/keyboards/capsunlocked/cu65/cu65.c
111@@ -0,0 +1,14 @@
112+/*
113+Copyright 2020 CapsUnlocked
114+This program is free software: you can redistribute it and/or modify
115+it under the terms of the GNU General Public License as published by
116+the Free Software Foundation, either version 2 of the License, or
117+(at your option) any later version.
118+This program is distributed in the hope that it will be useful,
119+but WITHOUT ANY WARRANTY; without even the implied warranty of
120+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
121+GNU General Public License for more details.
122+You should have received a copy of the GNU General Public License
123+along with this program. If not, see <http://www.gnu.org/licenses/>.
124+*/
125+#include "cu65.h"
126diff --git a/keyboards/capsunlocked/cu65/cu65.h b/keyboards/capsunlocked/cu65/cu65.h
127new file mode 100644
128index 0000000000000000000000000000000000000000..89b02ed91d72a60ec14e8251b13e8808c32afb0c
129--- /dev/null
130+++ b/keyboards/capsunlocked/cu65/cu65.h
131@@ -0,0 +1,67 @@
132+/*
133+Copyright 2020 CapsUnlocked
134+This program is free software: you can redistribute it and/or modify
135+it under the terms of the GNU General Public License as published by
136+the Free Software Foundation, either version 2 of the License, or
137+(at your option) any later version.
138+This program is distributed in the hope that it will be useful,
139+but WITHOUT ANY WARRANTY; without even the implied warranty of
140+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
141+GNU General Public License for more details.
142+You should have received a copy of the GNU General Public License
143+along with this program. If not, see <http://www.gnu.org/licenses/>.
144+*/
145+#pragma once
146+
147+#include "quantum.h"
148+
149+/* This a shortcut to help you visually see your layout.
150+ *
151+ * The first section contains all of the arguments representing the physical
152+ * layout of the board and position of the keys.
153+ *
154+ * The second converts the arguments into a two-dimensional array which
155+ * represents the switch matrix.
156+ */
157+
158+#define LAYOUT_all( \
159+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
160+ K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
161+ K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
162+ K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
163+ K400, K401, K402, K407, K410, K412, K413, K414, K415 \
164+) { \
165+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
166+ { K100, KC_NO,K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
167+ { K200, KC_NO,K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
168+ { K300, K301, KC_NO,K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
169+ { K400, K401, K402, KC_NO,KC_NO,KC_NO,KC_NO,K407, KC_NO,KC_NO,K410, KC_NO,K412, K413, K414, K415 } \
170+}
171+
172+#define LAYOUT_65_ansi( \
173+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K015, \
174+ K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
175+ K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
176+ K300, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
177+ K400, K401, K402, K407, K410, K412, K413, K414, K415 \
178+) { \
179+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO,K014, K015 }, \
180+ { K100, KC_NO,K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
181+ { K200, KC_NO,K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,KC_NO, K214, K215 }, \
182+ { K300, KC_NO, KC_NO,K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
183+ { K400, K401, K402, KC_NO,KC_NO,KC_NO,KC_NO,K407, KC_NO,KC_NO,K410, KC_NO,K412, K413, K414, K415 } \
184+}
185+
186+#define LAYOUT_65_iso( \
187+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K015, \
188+ K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
189+ K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
190+ K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
191+ K400, K401, K402, K407, K410, K412, K413, K414, K415 \
192+) { \
193+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO,K014, K015 }, \
194+ { K100, KC_NO,K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO,K115 }, \
195+ { K200, KC_NO,K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
196+ { K300, K301, KC_NO,K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
197+ { K400, K401, K402, KC_NO,KC_NO,KC_NO,KC_NO,K407, KC_NO,KC_NO,K410, KC_NO,K412, K413, K414, K415 } \
198+}
199diff --git a/keyboards/capsunlocked/cu65/info.json b/keyboards/capsunlocked/cu65/info.json
200new file mode 100644
201index 0000000000000000000000000000000000000000..fdb187e38470c4c5f5147bae2587dab5a9f40b38
202--- /dev/null
203+++ b/keyboards/capsunlocked/cu65/info.json
204@@ -0,0 +1,15 @@
205+{
206+ "keyboard_name": "CU65",
207+ "url": "",
208+ "maintainer": "qmk",
209+ "width": 16,
210+ "height": 5,
211+ "layouts": {
212+ "LAYOUT_65_ansi": {
213diff --git a/keyboards/capsunlocked/cu65/keymaps/default/keymap.c b/keyboards/capsunlocked/cu65/keymaps/default/keymap.c
214new file mode 100644
215index 0000000000000000000000000000000000000000..1bf11d96de80f2c3e51abd262df226ccbcce6918
216--- /dev/null
217+++ b/keyboards/capsunlocked/cu65/keymaps/default/keymap.c
218@@ -0,0 +1,62 @@
219+/*
220+Copyright 2020 CapsUnlocked
221+
222+This program is free software: you can redistribute it and/or modify
223+it under the terms of the GNU General Public License as published by
224+the Free Software Foundation, either version 2 of the License, or
225+(at your option) any later version.
226+
227+This program is distributed in the hope that it will be useful,
228+but WITHOUT ANY WARRANTY; without even the implied warranty of
229+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
230+GNU General Public License for more details.
231+
232+You should have received a copy of the GNU General Public License
233+along with this program. If not, see <http://www.gnu.org/licenses/>.
234+*/
235+
236+#include QMK_KEYBOARD_H
237+
238+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
239+ [0] = LAYOUT_65_ansi(
240+ /*
241+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
242+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Ins│
243+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
244+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
245+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
246+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │Pg+│
247+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
248+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │Pg-│
249+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
250+ * │Ctrl│LGUI│LAlt│ Space │RAlt│ L1 │ │ ← │ ↓ │ → │
251+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
252+ */
253+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
254+ 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_DEL,
255+ 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_PGUP,
256+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
257+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
258+ ),
259+ [1] = LAYOUT_65_ansi(
260+ /*
261+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
262+ * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ │ │
263+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
264+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
265+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
266+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
267+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
268+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
269+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
270+ * │ │ │ │ │ │ │ │ │ │ │
271+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
272+ */
273+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
274+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
275+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
276+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
277+ _______, _______, _______, _______, _______, _______, _______, _______, _______
278+ ),
279+};
280+
281diff --git a/keyboards/capsunlocked/cu65/keymaps/default/readme.md b/keyboards/capsunlocked/cu65/keymaps/default/readme.md
282new file mode 100644
283index 0000000000000000000000000000000000000000..65bed4a3dc5a9b2f4d543bde43d7065d0307ecab
284--- /dev/null
285+++ b/keyboards/capsunlocked/cu65/keymaps/default/readme.md
286@@ -0,0 +1 @@
287+# The default ANSI keymap for CU65
288diff --git a/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c b/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c
289new file mode 100644
290index 0000000000000000000000000000000000000000..a8a32cc785486b87603712c2ffa62882f2afb7cc
291--- /dev/null
292+++ b/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c
293@@ -0,0 +1,61 @@
294+/*
295+Copyright 2020 CapsUnlocked
296+
297+This program is free software: you can redistribute it and/or modify
298+it under the terms of the GNU General Public License as published by
299+the Free Software Foundation, either version 2 of the License, or
300+(at your option) any later version.
301+
302+This program is distributed in the hope that it will be useful,
303+but WITHOUT ANY WARRANTY; without even the implied warranty of
304+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
305+GNU General Public License for more details.
306+
307+You should have received a copy of the GNU General Public License
308+along with this program. If not, see <http://www.gnu.org/licenses/>.
309+*/
310+
311+#include QMK_KEYBOARD_H
312+
313+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
314+ [0] = LAYOUT_65_iso(
315+ /*
316+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
317+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Ins│
318+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
319+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │Del│
320+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent├───┤
321+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │Pg+│
322+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
323+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │Pg-│
324+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
325+ * │Ctrl│LGUI│LAlt│ Space │RAlt│ L1 │ │ ← │ ↓ │ → │
326+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
327+ */
328+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
329+ 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,
330+ 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_ENT, KC_PGUP,
331+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
332+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
333+ ),
334+ [1] = LAYOUT_65_iso(
335+ /*
336+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
337+ * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ │ │
338+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
339+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
340+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤
341+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
342+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
343+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
344+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
345+ * │ │ │ │ │ │ │ │ │ │ │
346+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
347+ */
348+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
349+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
350+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
351+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
352+ _______, _______, _______, _______, _______, _______, _______, _______, _______
353+ ),
354+};
355diff --git a/keyboards/capsunlocked/cu65/keymaps/iso/readme.md b/keyboards/capsunlocked/cu65/keymaps/iso/readme.md
356new file mode 100644
357index 0000000000000000000000000000000000000000..2c2ded31f5a0a6cc38e31984f9cf878eab70ba2a
358--- /dev/null
359+++ b/keyboards/capsunlocked/cu65/keymaps/iso/readme.md
360@@ -0,0 +1 @@
361+# The ISO keymap for CU65
362diff --git a/keyboards/capsunlocked/cu65/keymaps/via/keymap.c b/keyboards/capsunlocked/cu65/keymaps/via/keymap.c
363new file mode 100644
364index 0000000000000000000000000000000000000000..1bd833294e64c76419694135a1fcfc5db348b6ad
365--- /dev/null
366+++ b/keyboards/capsunlocked/cu65/keymaps/via/keymap.c
367@@ -0,0 +1,47 @@
368+/* Copyright 2020 CapsUnlocked
369+ *
370+ * This program is free software: you can redistribute it and/or modify
371+ * it under the terms of the GNU General Public License as published by
372+ * the Free Software Foundation, either version 2 of the License, or
373+ * (at your option) any later version.
374+ *
375+ * This program is distributed in the hope that it will be useful,
376+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
377+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
378+ * GNU General Public License for more details.
379+ *
380+ * You should have received a copy of the GNU General Public License
381+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
382+ */
383+#include QMK_KEYBOARD_H
384+
385+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
386+ [0] = LAYOUT_all(
387+ 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_BSPC, KC_INS,
388+ 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_DEL,
389+ 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_NUBS, KC_ENT, KC_PGUP,
390+ KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
391+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
392+ ),
393+ [1] = LAYOUT_all(
394+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
395+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
396+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
397+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
398+ _______, _______, _______, _______, _______, _______, _______, _______, _______
399+ ),
400+ [2] = LAYOUT_all(
401+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
402+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
403+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
404+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
405+ _______, _______, _______, _______, _______, _______, _______, _______, _______
406+ ),
407+ [3] = LAYOUT_all(
408+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
409+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
410+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
411+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
412+ _______, _______, _______, _______, _______, _______, _______, _______, _______
413+ ),
414+};
415diff --git a/keyboards/capsunlocked/cu65/keymaps/via/rules.mk b/keyboards/capsunlocked/cu65/keymaps/via/rules.mk
416new file mode 100644
417index 0000000000000000000000000000000000000000..1e5b99807cb7a90b282a3001a38bf303774544ba
418--- /dev/null
419+++ b/keyboards/capsunlocked/cu65/keymaps/via/rules.mk
420@@ -0,0 +1 @@
421+VIA_ENABLE = yes
422diff --git a/keyboards/capsunlocked/cu65/readme.md b/keyboards/capsunlocked/cu65/readme.md
423new file mode 100644
424index 0000000000000000000000000000000000000000..0a51d7b1b3e76b7d3de950bd141383020fc4e02a
425--- /dev/null
426+++ b/keyboards/capsunlocked/cu65/readme.md
427@@ -0,0 +1,13 @@
428+# CU65
429+
430+The CU65 is a customisable 65% that supports hotswap ISO and ANSI layouts on the same PCB.
431+
432+* Keyboard maintainer: [rys](https://github.com/rys)
433+* Hardware supported: CU65 r2
434+* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu65-r2/)
435+
436+Make example for this keyboard (after setting up your build environment):
437+
438+ make capsunlocked/cu65:default
439+
440diff --git a/keyboards/capsunlocked/cu65/rules.mk b/keyboards/capsunlocked/cu65/rules.mk
441new file mode 100644
442index 0000000000000000000000000000000000000000..cf7418e4abb502742792ea530a45e6f0356335ec
443--- /dev/null
444+++ b/keyboards/capsunlocked/cu65/rules.mk
445@@ -0,0 +1,24 @@
446+# MCU name
447+MCU = atmega32u4
448+
449+# Bootloader
450+BOOTLOADER = atmel-dfu
451+
452+# Build Options
453+# change yes to no to disable
454+#
455+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
456+MOUSEKEY_ENABLE = yes # Mouse keys
457+EXTRAKEY_ENABLE = yes # Audio control and System control
458+CONSOLE_ENABLE = no # Console for debug
459+COMMAND_ENABLE = no # Commands for debug and configuration
460+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
461+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
462+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
463+NKRO_ENABLE = no # USB Nkey Rollover
464+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
465+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
466+BLUETOOTH_ENABLE = no # Enable Bluetooth
467+AUDIO_ENABLE = no # Audio output
468+
469+LAYOUTS = 65_ansi 65_iso
470diff --git a/keyboards/capsunlocked/readme.md b/keyboards/capsunlocked/readme.md
471new file mode 100644
472index 0000000000000000000000000000000000000000..b2306e0242361cd7c934b58a0af799d15241918a
473--- /dev/null
474+++ b/keyboards/capsunlocked/readme.md
475@@ -0,0 +1,3 @@
476+# CapsUnlocked keyboards
477+
478+Home of the firmware for CapsUnlocked keyboards!