aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/chlx/merro60/config.h58
-rw-r--r--keyboards/chlx/merro60/info.json365
-rw-r--r--keyboards/chlx/merro60/keymaps/ansi/keymap.c35
-rw-r--r--keyboards/chlx/merro60/keymaps/default/keymap.c35
-rw-r--r--keyboards/chlx/merro60/keymaps/hhkb/keymap.c35
-rw-r--r--keyboards/chlx/merro60/keymaps/iso/keymap.c35
-rw-r--r--keyboards/chlx/merro60/keymaps/tsangan/keymap.c35
-rw-r--r--keyboards/chlx/merro60/keymaps/via/keymap.c51
-rw-r--r--keyboards/chlx/merro60/keymaps/via/rules.mk3
-rw-r--r--keyboards/chlx/merro60/merro60.c19
-rw-r--r--keyboards/chlx/merro60/merro60.h189
-rw-r--r--keyboards/chlx/merro60/readme.md20
-rw-r--r--keyboards/chlx/merro60/rules.mk22
13 files changed, 902 insertions, 0 deletions
diff --git a/keyboards/chlx/merro60/config.h b/keyboards/chlx/merro60/config.h
new file mode 100644
index 000000000..526433ef8
--- /dev/null
+++ b/keyboards/chlx/merro60/config.h
@@ -0,0 +1,58 @@
1/*
2Copyright 2021 Alexander Lee <chlx.bsmt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* USB Device descriptor parameter */
21#define VENDOR_ID 0x4358 // "CX" - chlx
22#define PRODUCT_ID 0x0601
23#define DEVICE_VER 0x0100
24#define MANUFACTURER chlx
25#define PRODUCT chlx merro60
26
27/* key matrix size */
28#define MATRIX_ROWS 5
29#define MATRIX_COLS 15
30
31/*
32 * Keyboard Matrix Assignments
33 *
34 * Change this to how you wired your keyboard
35 * COLS: AVR pins used for columns, left to right
36 * ROWS: AVR pins used for rows, top to bottom
37 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
38 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
39 *
40 */
41#define MATRIX_ROW_PINS { D4, D5, D3, B5, F4 }
42#define MATRIX_COL_PINS { B7, D1, D0, B0, B1, E6, B2, B3, D2, D7, B4, B6, C6, C7, D6 }
43#define UNUSED_PINS
44// #define UNUSED_PINS { F0, F1, F5, F6, F7 }
45
46/* COL2ROW, ROW2COL*/
47#define DIODE_DIRECTION COL2ROW
48
49/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
50#define DEBOUNCE 5
51
52/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
53#define LOCKING_SUPPORT_ENABLE
54/* Locking resynchronize hack */
55#define LOCKING_RESYNC_ENABLE
56
57/* VIA related config */
58#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/chlx/merro60/info.json b/keyboards/chlx/merro60/info.json
new file mode 100644
index 000000000..8205d4d24
--- /dev/null
+++ b/keyboards/chlx/merro60/info.json
@@ -0,0 +1,365 @@
1{
2 "keyboard_name": "merro60",
3 "url": "www.github.com/gaclee3b",
4 "maintainer": "gaclee3b",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_default": {
9 "layout": [
10 {"x": 0, "y": 0},
11 {"x": 1, "y": 0},
12 {"x": 2, "y": 0},
13 {"x": 3, "y": 0},
14 {"x": 4, "y": 0},
15 {"x": 5, "y": 0},
16 {"x": 6, "y": 0},
17 {"x": 7, "y": 0},
18 {"x": 8, "y": 0},
19 {"x": 9, "y": 0},
20 {"x": 10, "y": 0},
21 {"x": 11, "y": 0},
22 {"x": 12, "y": 0},
23 {"x": 13, "y": 0},
24 {"x": 14, "y": 0},
25
26 {"x": 0, "y": 1, "w": 1.5},
27 {"x": 1.5, "y": 1},
28 {"x": 2.5, "y": 1},
29 {"x": 3.5, "y": 1},
30 {"x": 4.5, "y": 1},
31 {"x": 5.5, "y": 1},
32 {"x": 6.5, "y": 1},
33 {"x": 7.5, "y": 1},
34 {"x": 8.5, "y": 1},
35 {"x": 9.5, "y": 1},
36 {"x": 10.5, "y": 1},
37 {"x": 11.5, "y": 1},
38 {"x": 12.5, "y": 1},
39 {"x": 13.5, "y": 1, "w": 1.5},
40
41 {"x": 0, "y": 2, "w": 1.75},
42 {"x": 1.75, "y": 2},
43 {"x": 2.75, "y": 2},
44 {"x": 3.75, "y": 2},
45 {"x": 4.75, "y": 2},
46 {"x": 5.75, "y": 2},
47 {"x": 6.75, "y": 2},
48 {"x": 7.75, "y": 2},
49 {"x": 8.75, "y": 2},
50 {"x": 9.75, "y": 2},
51 {"x": 10.75, "y": 2},
52 {"x": 11.75, "y": 2},
53 {"x": 12.75, "y": 2},
54 {"x": 13.75, "y": 2, "w": 1.25},
55
56 {"x": 0, "y": 3, "w": 1.25},
57 {"x": 1.25, "y": 3},
58 {"x": 2.25, "y": 3},
59 {"x": 3.25, "y": 3},
60 {"x": 4.25, "y": 3},
61 {"x": 5.25, "y": 3},
62 {"x": 6.25, "y": 3},
63 {"x": 7.25, "y": 3},
64 {"x": 8.25, "y": 3},
65 {"x": 9.25, "y": 3},
66 {"x": 10.25, "y": 3},
67 {"x": 11.25, "y": 3},
68 {"x": 12.25, "y": 3, "w": 1.75},
69 {"x": 14, "y": 3},
70
71 {"x": 0, "y": 4, "w": 1.25},
72 {"x": 1.25, "y": 4, "w": 1.25},
73 {"x": 2.5, "y": 4, "w": 1.25},
74 {"x": 3.75, "y": 4, "w": 6.25},
75 {"x": 10, "y": 4, "w": 1.25},
76 {"x": 11.25, "y": 4, "w": 1.25},
77 {"x": 12.5, "y": 4, "w": 1.25},
78 {"x": 13.75, "y": 4, "w": 1.25}
79 ]
80 },
81 "LAYOUT_ansi": {
82 "layout": [
83 {"x": 0, "y": 0},
84 {"x": 1, "y": 0},
85 {"x": 2, "y": 0},
86 {"x": 3, "y": 0},
87 {"x": 4, "y": 0},
88 {"x": 5, "y": 0},
89 {"x": 6, "y": 0},
90 {"x": 7, "y": 0},
91 {"x": 8, "y": 0},
92 {"x": 9, "y": 0},
93 {"x": 10, "y": 0},
94 {"x": 11, "y": 0},
95 {"x": 12, "y": 0},
96 {"x": 13, "y": 0},
97 {"x": 14, "y": 0},
98
99 {"x": 0, "y": 1, "w": 1.5},
100 {"x": 1.5, "y": 1},
101 {"x": 2.5, "y": 1},
102 {"x": 3.5, "y": 1},
103 {"x": 4.5, "y": 1},
104 {"x": 5.5, "y": 1},
105 {"x": 6.5, "y": 1},
106 {"x": 7.5, "y": 1},
107 {"x": 8.5, "y": 1},
108 {"x": 9.5, "y": 1},
109 {"x": 10.5, "y": 1},
110 {"x": 11.5, "y": 1},
111 {"x": 12.5, "y": 1},
112 {"x": 13.5, "y": 1, "w": 1.5},
113
114 {"x": 0, "y": 2, "w": 1.75},
115 {"x": 1.75, "y": 2},
116 {"x": 2.75, "y": 2},
117 {"x": 3.75, "y": 2},
118 {"x": 4.75, "y": 2},
119 {"x": 5.75, "y": 2},
120 {"x": 6.75, "y": 2},
121 {"x": 7.75, "y": 2},
122 {"x": 8.75, "y": 2},
123 {"x": 9.75, "y": 2},
124 {"x": 10.75, "y": 2},
125 {"x": 11.75, "y": 2},
126 {"x": 12.75, "y": 2, "w": 2.25},
127
128 {"x": 0, "y": 3, "w": 1.25},
129 {"x": 1.25, "y": 3},
130 {"x": 2.25, "y": 3},
131 {"x": 3.25, "y": 3},
132 {"x": 4.25, "y": 3},
133 {"x": 5.25, "y": 3},
134 {"x": 6.25, "y": 3},
135 {"x": 7.25, "y": 3},
136 {"x": 8.25, "y": 3},
137 {"x": 9.25, "y": 3},
138 {"x": 10.25, "y": 3},
139 {"x": 11.25, "y": 3},
140 {"x": 12.25, "y": 3, "w": 1.75},
141 {"x": 14, "y": 3},
142
143 {"x": 0, "y": 4, "w": 1.25},
144 {"x": 1.25, "y": 4, "w": 1.25},
145 {"x": 2.5, "y": 4, "w": 1.25},
146 {"x": 3.75, "y": 4, "w": 6.25},
147 {"x": 10, "y": 4, "w": 1.25},
148 {"x": 11.25, "y": 4, "w": 1.25},
149 {"x": 12.5, "y": 4, "w": 1.25},
150 {"x": 13.75, "y": 4, "w": 1.25}
151 ]
152 },
153 "LAYOUT_hhkb": {
154 "layout": [
155 {"x": 0, "y": 0},
156 {"x": 1, "y": 0},
157 {"x": 2, "y": 0},
158 {"x": 3, "y": 0},
159 {"x": 4, "y": 0},
160 {"x": 5, "y": 0},
161 {"x": 6, "y": 0},
162 {"x": 7, "y": 0},
163 {"x": 8, "y": 0},
164 {"x": 9, "y": 0},
165 {"x": 10, "y": 0},
166 {"x": 11, "y": 0},
167 {"x": 12, "y": 0},
168 {"x": 13, "y": 0},
169 {"x": 14, "y": 0},
170
171 {"x": 0, "y": 1, "w": 1.5},
172 {"x": 1.5, "y": 1},
173 {"x": 2.5, "y": 1},
174 {"x": 3.5, "y": 1},
175 {"x": 4.5, "y": 1},
176 {"x": 5.5, "y": 1},
177 {"x": 6.5, "y": 1},
178 {"x": 7.5, "y": 1},
179 {"x": 8.5, "y": 1},
180 {"x": 9.5, "y": 1},
181 {"x": 10.5, "y": 1},
182 {"x": 11.5, "y": 1},
183 {"x": 12.5, "y": 1},
184 {"x": 13.5, "y": 1, "w": 1.5},
185
186 {"x": 0, "y": 2, "w": 1.75},
187 {"x": 1.75, "y": 2},
188 {"x": 2.75, "y": 2},
189 {"x": 3.75, "y": 2},
190 {"x": 4.75, "y": 2},
191 {"x": 5.75, "y": 2},
192 {"x": 6.75, "y": 2},
193 {"x": 7.75, "y": 2},
194 {"x": 8.75, "y": 2},
195 {"x": 9.75, "y": 2},
196 {"x": 10.75, "y": 2},
197 {"x": 11.75, "y": 2},
198 {"x": 12.75, "y": 2, "w": 2.25},
199
200 {"x": 0, "y": 3, "w": 2.25},
201 {"x": 2.25, "y": 3},
202 {"x": 3.25, "y": 3},
203 {"x": 4.25, "y": 3},
204 {"x": 5.25, "y": 3},
205 {"x": 6.25, "y": 3},
206 {"x": 7.25, "y": 3},
207 {"x": 8.25, "y": 3},
208 {"x": 9.25, "y": 3},
209 {"x": 10.25, "y": 3},
210 {"x": 11.25, "y": 3},
211 {"x": 12.25, "y": 3, "w": 1.75},
212 {"x": 14, "y": 3},
213
214 {"x": 1.5, "y": 4},
215 {"x": 2.5, "y": 4, "w": 1.5},
216 {"x": 4, "y": 4, "w": 7},
217 {"x": 11, "y": 4, "w": 1.5},
218 {"x": 12.5, "y": 4}
219 ]
220 },
221 "LAYOUT_iso": {
222 "layout": [
223 {"x": 0, "y": 0},
224 {"x": 1, "y": 0},
225 {"x": 2, "y": 0},
226 {"x": 3, "y": 0},
227 {"x": 4, "y": 0},
228 {"x": 5, "y": 0},
229 {"x": 6, "y": 0},
230 {"x": 7, "y": 0},
231 {"x": 8, "y": 0},
232 {"x": 9, "y": 0},
233 {"x": 10, "y": 0},
234 {"x": 11, "y": 0},
235 {"x": 12, "y": 0},
236 {"x": 13, "y": 0},
237 {"x": 14, "y": 0},
238
239 {"x": 0, "y": 1, "w": 1.5},
240 {"x": 1.5, "y": 1},
241 {"x": 2.5, "y": 1},
242 {"x": 3.5, "y": 1},
243 {"x": 4.5, "y": 1},
244 {"x": 5.5, "y": 1},
245 {"x": 6.5, "y": 1},
246 {"x": 7.5, "y": 1},
247 {"x": 8.5, "y": 1},
248 {"x": 9.5, "y": 1},
249 {"x": 10.5, "y": 1},
250 {"x": 11.5, "y": 1},
251 {"x": 12.5, "y": 1},
252
253 {"x": 0, "y": 2, "w": 1.75},
254 {"x": 1.75, "y": 2},
255 {"x": 2.75, "y": 2},
256 {"x": 3.75, "y": 2},
257 {"x": 4.75, "y": 2},
258 {"x": 5.75, "y": 2},
259 {"x": 6.75, "y": 2},
260 {"x": 7.75, "y": 2},
261 {"x": 8.75, "y": 2},
262 {"x": 9.75, "y": 2},
263 {"x": 10.75, "y": 2},
264 {"x": 11.75, "y": 2},
265 {"x": 12.75, "y": 2},
266 {"x": 13.75, "y": 1, "w": 1.25, "h": 2},
267
268 {"x": 0, "y": 3, "w": 1.25},
269 {"x": 1.25, "y": 3},
270 {"x": 2.25, "y": 3},
271 {"x": 3.25, "y": 3},
272 {"x": 4.25, "y": 3},
273 {"x": 5.25, "y": 3},
274 {"x": 6.25, "y": 3},
275 {"x": 7.25, "y": 3},
276 {"x": 8.25, "y": 3},
277 {"x": 9.25, "y": 3},
278 {"x": 10.25, "y": 3},
279 {"x": 11.25, "y": 3},
280 {"x": 12.25, "y": 3, "w": 1.75},
281 {"x": 14, "y": 3},
282
283 {"x": 0, "y": 4, "w": 1.25},
284 {"x": 1.25, "y": 4, "w": 1.25},
285 {"x": 2.5, "y": 4, "w": 1.25},
286 {"x": 3.75, "y": 4, "w": 6.25},
287 {"x": 10, "y": 4, "w": 1.25},
288 {"x": 11.25, "y": 4, "w": 1.25},
289 {"x": 12.5, "y": 4, "w": 1.25},
290 {"x": 13.75, "y": 4, "w": 1.25}
291 ]
292 },
293 "LAYOUT_tsangan": {
294 "layout": [
295 {"x": 0, "y": 0},
296 {"x": 1, "y": 0},
297 {"x": 2, "y": 0},
298 {"x": 3, "y": 0},
299 {"x": 4, "y": 0},
300 {"x": 5, "y": 0},
301 {"x": 6, "y": 0},
302 {"x": 7, "y": 0},
303 {"x": 8, "y": 0},
304 {"x": 9, "y": 0},
305 {"x": 10, "y": 0},
306 {"x": 11, "y": 0},
307 {"x": 12, "y": 0},
308 {"x": 13, "y": 0},
309 {"x": 14, "y": 0},
310
311 {"x": 0, "y": 1, "w": 1.5},
312 {"x": 1.5, "y": 1},
313 {"x": 2.5, "y": 1},
314 {"x": 3.5, "y": 1},
315 {"x": 4.5, "y": 1},
316 {"x": 5.5, "y": 1},
317 {"x": 6.5, "y": 1},
318 {"x": 7.5, "y": 1},
319 {"x": 8.5, "y": 1},
320 {"x": 9.5, "y": 1},
321 {"x": 10.5, "y": 1},
322 {"x": 11.5, "y": 1},
323 {"x": 12.5, "y": 1},
324 {"x": 13.5, "y": 1, "w": 1.5},
325
326 {"x": 0, "y": 2, "w": 1.75},
327 {"x": 1.75, "y": 2},
328 {"x": 2.75, "y": 2},
329 {"x": 3.75, "y": 2},
330 {"x": 4.75, "y": 2},
331 {"x": 5.75, "y": 2},
332 {"x": 6.75, "y": 2},
333 {"x": 7.75, "y": 2},
334 {"x": 8.75, "y": 2},
335 {"x": 9.75, "y": 2},
336 {"x": 10.75, "y": 2},
337 {"x": 11.75, "y": 2},
338 {"x": 12.75, "y": 2, "w": 2.25},
339
340 {"x": 0, "y": 3, "w": 2.25},
341 {"x": 2.25, "y": 3},
342 {"x": 3.25, "y": 3},
343 {"x": 4.25, "y": 3},
344 {"x": 5.25, "y": 3},
345 {"x": 6.25, "y": 3},
346 {"x": 7.25, "y": 3},
347 {"x": 8.25, "y": 3},
348 {"x": 9.25, "y": 3},
349 {"x": 10.25, "y": 3},
350 {"x": 11.25, "y": 3},
351 {"x": 12.25, "y": 3, "w": 1.75},
352 {"x": 14, "y": 3},
353
354 {"x": 0, "y": 4, "w": 1.5},
355 {"x": 1.5, "y": 4},
356 {"x": 2.5, "y": 4, "w": 1.5},
357 {"x": 4, "y": 4, "w": 7},
358 {"x": 11, "y": 4, "w": 1.5},
359 {"x": 12.5, "y": 4},
360 {"x": 13.5, "y": 4, "w": 1.5}
361 ]
362 }
363 }
364}
365
diff --git a/keyboards/chlx/merro60/keymaps/ansi/keymap.c b/keyboards/chlx/merro60/keymaps/ansi/keymap.c
new file mode 100644
index 000000000..307f98866
--- /dev/null
+++ b/keyboards/chlx/merro60/keymaps/ansi/keymap.c
@@ -0,0 +1,35 @@
1/*
2Copyright 2021 Alexander Lee <chlx.bsmt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22[0] = LAYOUT_ansi(
23 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_BSPC,
24 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
25 KC_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,
26 KC_LSFT, 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_RSFT,
27 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
28
29[1] = LAYOUT_ansi(
30 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, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, RESET,
32 _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______),
35};
diff --git a/keyboards/chlx/merro60/keymaps/default/keymap.c b/keyboards/chlx/merro60/keymaps/default/keymap.c
new file mode 100644
index 000000000..98046d064
--- /dev/null
+++ b/keyboards/chlx/merro60/keymaps/default/keymap.c
@@ -0,0 +1,35 @@
1/*
2Copyright 2021 Alexander Lee <chlx.bsmt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22[0] = LAYOUT_default(
23 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
24 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
25 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_UP, KC_ENT,
26 KC_LSFT, KC_LEFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGHT,
27 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_DOWN, KC_RCTL),
28
29[1] = LAYOUT_default(
30 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,
31 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______),
35};
diff --git a/keyboards/chlx/merro60/keymaps/hhkb/keymap.c b/keyboards/chlx/merro60/keymaps/hhkb/keymap.c
new file mode 100644
index 000000000..3ea2901bd
--- /dev/null
+++ b/keyboards/chlx/merro60/keymaps/hhkb/keymap.c
@@ -0,0 +1,35 @@
1/*
2Copyright 2021 Alexander Lee <chlx.bsmt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22[0] = LAYOUT_hhkb(
23 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_BSLS, KC_GRV,
24 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
25 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
26 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
27 KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
28
29[1] = LAYOUT_hhkb(
30 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
31 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, RESET,
32 _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
34 _______, _______, _______, _______, _______),
35};
diff --git a/keyboards/chlx/merro60/keymaps/iso/keymap.c b/keyboards/chlx/merro60/keymaps/iso/keymap.c
new file mode 100644
index 000000000..f96ad9ade
--- /dev/null
+++ b/keyboards/chlx/merro60/keymaps/iso/keymap.c
@@ -0,0 +1,35 @@
1/*
2Copyright 2021 Alexander Lee <chlx.bsmt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22[0] = LAYOUT_iso(
23 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
24 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
25 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,
26 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGHT,
27 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
28
29[1] = LAYOUT_iso(
30 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,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______),
35};
diff --git a/keyboards/chlx/merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c
new file mode 100644
index 000000000..2083bf9be
--- /dev/null
+++ b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c
@@ -0,0 +1,35 @@
1/*
2Copyright 2021 Alexander Lee <chlx.bsmt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22[0] = LAYOUT_tsangan(
23 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_BSPC,
24 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
25 KC_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,
26 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
27 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
28
29[1] = LAYOUT_tsangan(
30 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, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______),
35};
diff --git a/keyboards/chlx/merro60/keymaps/via/keymap.c b/keyboards/chlx/merro60/keymaps/via/keymap.c
new file mode 100644
index 000000000..8f756aefb
--- /dev/null
+++ b/keyboards/chlx/merro60/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
1/*
2Copyright 2021 Alexander Lee <chlx.bsmt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22[0] = LAYOUT_via(
23 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
24 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
25 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_UP, KC_ENT,
26 KC_LSFT, KC_LEFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGHT,
27 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_DOWN, KC_RCTL),
28
29[1] = LAYOUT_via(
30 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,
31 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______),
35
36[2] = LAYOUT_via(
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______),
42
43[3] = LAYOUT_via(
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______)
49
50};
51
diff --git a/keyboards/chlx/merro60/keymaps/via/rules.mk b/keyboards/chlx/merro60/keymaps/via/rules.mk
new file mode 100644
index 000000000..5f615ff62
--- /dev/null
+++ b/keyboards/chlx/merro60/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
3
diff --git a/keyboards/chlx/merro60/merro60.c b/keyboards/chlx/merro60/merro60.c
new file mode 100644
index 000000000..4182c65c7
--- /dev/null
+++ b/keyboards/chlx/merro60/merro60.c
@@ -0,0 +1,19 @@
1/*
2Copyright 2021 Alexander Lee <chlx.bsmt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include "merro60.h"
19
diff --git a/keyboards/chlx/merro60/merro60.h b/keyboards/chlx/merro60/merro60.h
new file mode 100644
index 000000000..228112999
--- /dev/null
+++ b/keyboards/chlx/merro60/merro60.h
@@ -0,0 +1,189 @@
1/*
2Copyright 2021 Alexander Lee <chlx.bsmt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "quantum.h"
21
22// Corresponding changes to the layout names and/or definitions must also be made to info.json
23
24#define XXX KC_NO
25
26/* //////////////////// LAYOUT_default ////////////////////
27 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
28 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
29 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
30 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
31 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
32 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
33 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
34 * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │
35 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
36 * │40 │41 │42 │45 (6.25u) │4a │4b │4c │4d │
37 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
38*/
39
40#define LAYOUT_default( \
41 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
42 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
43 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
44 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
45 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
46) { \
47 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
48 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \
49 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \
50 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \
51 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
52}
53
54/* //////////////////// LAYOUT_ansi ////////////////////
55 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
56 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
57 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
58 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
59 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
60 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │
61 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
62 * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │
63 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
64 * │40 │41 │42 │45 │4a │4b │4d │4e │
65 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
66*/
67#define LAYOUT_ansi( \
68 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
69 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
70 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
71 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
72 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
73) { \
74 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
75 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \
76 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
77 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \
78 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
79}
80
81/* //////////////////// LAYOUT_hhkb ////////////////////
82 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
83 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
84 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
85 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
86 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
87 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │
88 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
89 * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │
90 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
91 * │▓▓▓▓▓│41 │42 │45 (7u) │4b │4c │▓▓▓▓▓│
92 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
93*/
94#define LAYOUT_hhkb( \
95 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
96 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
97 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
98 k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
99 k41, k42, k45, k4b, k4c \
100) { \
101 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
102 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \
103 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
104 { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \
105 { XXX, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, XXX, k4b, k4c, XXX, XXX } \
106}
107
108/* //////////////////// LAYOUT_iso ////////////////////
109 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
110 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
111 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
112 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │ │
113 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2d │
114 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │
115 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
116 * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │
117 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
118 * │40 │41 │42 │45 │4a │4b │4c │4d │
119 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
120*/
121#define LAYOUT_iso( \
122 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
123 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
124 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
125 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
126 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
127) { \
128 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
129 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, XXX }, \
130 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \
131 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \
132 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
133}
134
135/* //////////////////// LAYOUT_tsangan ////////////////////
136 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
137 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
138 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
139 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
140 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
141 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │
142 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
143 * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │
144 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
145 * │40 │41 │42 │45 (7u) │4b │4c │4d │
146 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
147*/
148#define LAYOUT_tsangan( \
149 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
150 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
151 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
152 k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
153 k40, k41, k42, k45, k4b, k4c, k4d \
154) { \
155 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
156 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \
157 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
158 { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \
159 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, XXX, k4b, k4c, k4d, XXX } \
160}
161
162/* //////////////////// LAYOUT_via ////////////////////
163 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
164 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
165 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
166 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
167 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
168 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
169 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
170 * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │
171 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
172 * │40 │41 │42 │45 (6.25u) │4a │4b │4c │4d │
173 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
174*/
175
176#define LAYOUT_via( \
177 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
178 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
179 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
180 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
181 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
182) { \
183 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
184 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \
185 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \
186 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \
187 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
188}
189
diff --git a/keyboards/chlx/merro60/readme.md b/keyboards/chlx/merro60/readme.md
new file mode 100644
index 000000000..f783c0e43
--- /dev/null
+++ b/keyboards/chlx/merro60/readme.md
@@ -0,0 +1,20 @@
1# merro60
2
3merro60 PCB
4
5A standard 60% format keyboard pcb with USB-C and unified daughterboard compatibility.
6Has modified cutouts to allow usage of certain tray mount cases into gummy gasket o-ring mount.
7
8Keyboard Maintainer: [Alexander Lee](https://github.com/gaclee3b)
9Hardware Supported: chlx PCB merro60.1, merro60.1.1, merro60.1.2
10
11Enter bootloader mode by any of the following options -
12- When unplugged, holding the top-left key (typically ESC) while plugging in the keyboard
13- When plugged in, pressing and releasing the reset button on the pcb bottom behind the CAPSLOCK / A-key region
14- When plugged in, shorting out the two reset metal contacts near the spacebar switch location (NOT the spacebar switch pin holes)
15
16Make example for this keyboard (after setting up your build environment):
17
18 make chlx/merro60:default
19
20See 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).
diff --git a/keyboards/chlx/merro60/rules.mk b/keyboards/chlx/merro60/rules.mk
new file mode 100644
index 000000000..32981133b
--- /dev/null
+++ b/keyboards/chlx/merro60/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 = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output