aboutsummaryrefslogtreecommitdiff
path: root/keyboards/neito
diff options
context:
space:
mode:
authorOliver Granlund <OlliGranlund@users.noreply.github.com>2021-07-16 19:39:35 +0300
committerGitHub <noreply@github.com>2021-07-16 09:39:35 -0700
commit455a988aa6aa4070f56dbcc88af00b215c616292 (patch)
treee2de1d5318094f67c7dc9cc5dca223b1b9281113 /keyboards/neito
parent6cc03dd30a7e74fb2173cfbd5811bdac5d3316c8 (diff)
downloadqmk_firmware-455a988aa6aa4070f56dbcc88af00b215c616292.tar.gz
qmk_firmware-455a988aa6aa4070f56dbcc88af00b215c616292.zip
[Keyboard] Neito + my DZ60 keymap tweaks (#11773)
Diffstat (limited to 'keyboards/neito')
-rw-r--r--keyboards/neito/config.h58
-rw-r--r--keyboards/neito/info.json365
-rw-r--r--keyboards/neito/keymaps/default/keymap.c66
-rw-r--r--keyboards/neito/keymaps/olli_works/keymap.c66
-rw-r--r--keyboards/neito/keymaps/olli_works/rules.mk2
-rw-r--r--keyboards/neito/keymaps/via/keymap.c66
-rw-r--r--keyboards/neito/keymaps/via/rules.mk2
-rw-r--r--keyboards/neito/neito.c17
-rw-r--r--keyboards/neito/neito.h37
-rw-r--r--keyboards/neito/readme.md24
-rw-r--r--keyboards/neito/rules.mk23
11 files changed, 726 insertions, 0 deletions
diff --git a/keyboards/neito/config.h b/keyboards/neito/config.h
new file mode 100644
index 000000000..c638b800c
--- /dev/null
+++ b/keyboards/neito/config.h
@@ -0,0 +1,58 @@
1/* Copyright 2021 Oliver Granlund
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#pragma once
17#include "config_common.h"
18
19/* USB Device descriptor parameter */
20#define VENDOR_ID 0xB9F7 // "Oliver Granlund"
21#define PRODUCT_ID 0xB44C // "Neito"
22#define DEVICE_VER 0x0001
23#define MANUFACTURER Oliver Granlund
24#define PRODUCT Neito
25
26#define MATRIX_ROWS 10
27#define MATRIX_COLS 8
28#define MATRIX_ROW_PINS { E6, F0, F5, F6, C7, C6, B4, D7, D6, D4 }
29#define MATRIX_COL_PINS { F4, F1, F7, B2, D1, D2, B3, B1 }
30
31#define DIODE_DIRECTION COL2ROW
32#define ENCODERS_PAD_A { B7 }
33#define ENCODERS_PAD_B { B0 }
34#define ENCODER_RESOLUTION 4
35#define UNUSED_PINS
36
37#define LED_CAPS_LOCK_PIN B6
38#define BACKLIGHT_ON_STATE 0
39
40#define BACKLIGHT_PIN B5
41#define BACKLIGHT_LEVELS 5
42
43#define GRAVE_ESC_CTRL_OVERRIDE
44
45/* RGB Light Configuration */
46
47#define RGB_DI_PIN D5
48#define RGBLIGHT_ANIMATIONS
49#define RGBLED_NUM 11
50#define RGBLIGHT_LED_MAP { 4, 3, 2, 1, 0, 10, 9, 8, 7, 6, 5 }
51#define RGBLIGHT_HUE_STEP 8
52#define RGBLIGHT_SAT_STEP 8
53#define RGBLIGHT_VAL_STEP 8
54#define RGBLIGHT_LIMIT_VAL 200
55
56/* Handle volume control issue with rotary encoder */
57
58#define TAP_CODE_DELAY 10
diff --git a/keyboards/neito/info.json b/keyboards/neito/info.json
new file mode 100644
index 000000000..92900051a
--- /dev/null
+++ b/keyboards/neito/info.json
@@ -0,0 +1,365 @@
1{
2 "keyboard_name":"Neito",
3 "url":"olli.works",
4 "maintainer":"Oliver Granlund",
5 "width":20.69,
6 "height":14.755,
7 "layouts":{
8 "LAYOUT":{
9 "layout":[
10 {
11 "label":"0,7",
12 "x":19.19,
13 "y":0
14 },
15 {
16 "label":"0,1",
17 "x":2.62,
18 "y":0.19
19 },
20 {
21 "label":"1,5",
22 "x":14.94,
23 "y":0.19
24 },
25 {
26 "label":"0,0",
27 "x":0.62,
28 "y":0.25
29 },
30 {
31 "label":"1,0",
32 "x":1.62,
33 "y":0.25
34 },
35 {
36 "label":"0,6",
37 "x":15.94,
38 "y":0.25
39 },
40 {
41 "label":"1,6",
42 "x":16.94,
43 "y":0.25,
44 "w":2
45 },
46 {
47 "label":"1,1",
48 "x":4,
49 "y":0.44
50 },
51 {
52 "label":"0,2",
53 "x":5,
54 "y":0.44
55 },
56 {
57 "label":"1,2",
58 "x":6,
59 "y":0.44
60 },
61 {
62 "label":"0,3",
63 "x":7,
64 "y":0.44
65 },
66 {
67 "label":"1,3",
68 "x":10.25,
69 "y":0.44
70 },
71 {
72 "label":"0,4",
73 "x":11.25,
74 "y":0.44
75 },
76 {
77 "label":"1,4",
78 "x":12.25,
79 "y":0.44
80 },
81 {
82 "label":"0,5",
83 "x":13.25,
84 "y":0.44
85 },
86 {
87 "label":"2,7",
88 "x":19.44,
89 "y":1
90 },
91 {
92 "label":"2,0",
93 "x":0.43,
94 "y":1.25,
95 "w":1.5
96 },
97 {
98 "label":"3,0",
99 "x":1.93,
100 "y":1.25
101 },
102 {
103 "label":"3,5",
104 "x":15.69,
105 "y":1.25
106 },
107 {
108 "label":"2,6",
109 "x":16.69,
110 "y":1.25
111 },
112 {
113 "label":"3,6",
114 "x":17.94,
115 "y":1.25,
116 "w":1.25,
117 "h":2
118 },
119 {
120 "label":"2,1",
121 "x":3.5,
122 "y":1.44
123 },
124 {
125 "label":"3,1",
126 "x":4.5,
127 "y":1.44
128 },
129 {
130 "label":"2,2",
131 "x":5.5,
132 "y":1.44
133 },
134 {
135 "label":"3,2",
136 "x":6.5,
137 "y":1.44
138 },
139 {
140 "label":"2,3",
141 "x":9.75,
142 "y":1.44
143 },
144 {
145 "label":"3,3",
146 "x":10.75,
147 "y":1.44
148 },
149 {
150 "label":"2,4",
151 "x":11.75,
152 "y":1.44
153 },
154 {
155 "label":"3,4",
156 "x":12.75,
157 "y":1.44
158 },
159 {
160 "label":"2,5",
161 "x":13.75,
162 "y":1.44
163 },
164 {
165 "label":"4,7",
166 "x":19.69,
167 "y":2.0
168 },
169 {
170 "label":"4,0",
171 "x":0.18,
172 "y":2.25,
173 "w":1.75
174 },
175 {
176 "label":"5,0",
177 "x":1.93,
178 "y":2.25
179 },
180 {
181 "label":"4,5",
182 "x":14.94,
183 "y":2.25
184 },
185 {
186 "label":"5,5",
187 "x":15.94,
188 "y":2.25
189 },
190 {
191 "label":"4,6",
192 "x":16.94,
193 "y":2.25
194 },
195 {
196 "label":"4,1",
197 "x":3.75,
198 "y":2.44
199 },
200 {
201 "label":"5,1",
202 "x":4.75,
203 "y":2.44
204 },
205 {
206 "label":"4,2",
207 "x":5.75,
208 "y":2.44
209 },
210 {
211 "label":"5,2",
212 "x":6.75,
213 "y":2.44
214 },
215 {
216 "label":"4,3",
217 "x":10,
218 "y":2.44
219 },
220 {
221 "label":"5,3",
222 "x":11,
223 "y":2.44
224 },
225 {
226 "label":"4,4",
227 "x":12,
228 "y":2.44
229 },
230 {
231 "label":"5,4",
232 "x":13,
233 "y":2.44
234 },
235 {
236 "label":"6,0",
237 "x":0,
238 "y":3.25,
239 "w":1.25
240 },
241 {
242 "label":"8,0",
243 "x":1.25,
244 "y":3.25
245 },
246 {
247 "label":"7,0",
248 "x":2.25,
249 "y":3.25
250 },
251 {
252 "label":"6,5",
253 "x":15.44,
254 "y":3.25
255 },
256 {
257 "label":"6,6",
258 "x":16.44,
259 "y":3.25,
260 "w":1.75
261 },
262 {
263 "label":"6,1",
264 "x":4.25,
265 "y":3.44
266 },
267 {
268 "label":"7,1",
269 "x":5.25,
270 "y":3.44
271 },
272 {
273 "label":"6,2",
274 "x":6.25,
275 "y":3.44
276 },
277 {
278 "label":"7,2",
279 "x":7.25,
280 "y":3.44
281 },
282 {
283 "label":"8,3",
284 "x":9.25,
285 "y":3.44
286 },
287 {
288 "label":"6,3",
289 "x":10.25,
290 "y":3.44
291 },
292 {
293 "label":"7,3",
294 "x":11.25,
295 "y":3.44
296 },
297 {
298 "label":"6,4",
299 "x":12.25,
300 "y":3.44
301 },
302 {
303 "label":"7,4",
304 "x":13.25,
305 "y":3.44
306 },
307 {
308 "label":"7,6",
309 "x":18.44,
310 "y":3.5
311 },
312 {
313 "label":"9,0",
314 "x":0,
315 "y":4.25,
316 "w":1.5
317 },
318 {
319 "label":"8,1",
320 "x":4.25,
321 "y":4.44,
322 "w":1.5
323 },
324 {
325 "label":"8,2",
326 "x":5.75,
327 "y":4.44,
328 "w":2
329 },
330 {
331 "label":"9,2",
332 "x":7.75,
333 "y":4.44
334 },
335 {
336 "label":"9,3",
337 "x":9.75,
338 "y":4.44,
339 "w":2.75
340 },
341 {
342 "label":"8,4",
343 "x":12.5,
344 "y":4.44,
345 "w":1.5
346 },
347 {
348 "label":"8,6",
349 "x":17.44,
350 "y":4.5
351 },
352 {
353 "label":"9,6",
354 "x":18.44,
355 "y":4.5
356 },
357 {
358 "label":"8,7",
359 "x":19.44,
360 "y":4.5
361 }
362 ]
363 }
364 }
365} \ No newline at end of file
diff --git a/keyboards/neito/keymaps/default/keymap.c b/keyboards/neito/keymaps/default/keymap.c
new file mode 100644
index 000000000..47e84d583
--- /dev/null
+++ b/keyboards/neito/keymaps/default/keymap.c
@@ -0,0 +1,66 @@
1/* Copyright 2020 Oliver Granlund
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 QMK_KEYBOARD_H
18
19enum layers {
20 _DEFAULT,
21 _FN0,
22 _FN1,
23 _FN2,
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_DEFAULT] = LAYOUT(
28 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_MUTE,
29 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_ENT, MO(_FN0),
30 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, MO(_FN1),
31 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
32 KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
33 ),
34 [_FN0] = LAYOUT(
35 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, KC_TRNS,
36 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,
37 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,
38 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,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
40 ),
41 [_FN1] = LAYOUT(
42 KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
43 KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
44 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,
45 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,
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
47 ),
48 [_FN2] = LAYOUT(
49 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,
50 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,
51 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,
52 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,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
54 ),
55};
56
57
58bool encoder_update_user(uint8_t index, bool clockwise) {
59 if (clockwise) {
60 tap_code(KC_VOLU);
61 } else {
62 tap_code(KC_VOLD);
63 }
64
65 return true;
66};
diff --git a/keyboards/neito/keymaps/olli_works/keymap.c b/keyboards/neito/keymaps/olli_works/keymap.c
new file mode 100644
index 000000000..31763e116
--- /dev/null
+++ b/keyboards/neito/keymaps/olli_works/keymap.c
@@ -0,0 +1,66 @@
1/* Copyright 2020 Oliver Granlund
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 QMK_KEYBOARD_H
18
19enum layers {
20 _DEFAULT,
21 _MAC,
22 _FN1,
23 _FN2,
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_DEFAULT] = LAYOUT(
28 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_MUTE,
29 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_ENT, TG(_MAC),
30 MO(_FN1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, MO(_FN2),
31 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
32 KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
33 ),
34 [_MAC] = LAYOUT(
35 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_TRNS,
36 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_ENT, KC_TRNS,
37 MO(_FN1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, MO(_FN2),
38 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
39 KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
40 ),
41 [_FN1] = LAYOUT(
42 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, KC_TRNS,
43 KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_UP, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,
44 KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
47 ),
48 [_FN2] = LAYOUT(
49 KC_ESC, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
50 KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
51 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,
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
54 ),
55};
56
57
58bool encoder_update_user(uint8_t index, bool clockwise) {
59 if (clockwise) {
60 tap_code(KC_VOLU);
61 } else {
62 tap_code(KC_VOLD);
63 }
64
65 return true;
66};
diff --git a/keyboards/neito/keymaps/olli_works/rules.mk b/keyboards/neito/keymaps/olli_works/rules.mk
new file mode 100644
index 000000000..43061db1d
--- /dev/null
+++ b/keyboards/neito/keymaps/olli_works/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/neito/keymaps/via/keymap.c b/keyboards/neito/keymaps/via/keymap.c
new file mode 100644
index 000000000..47e84d583
--- /dev/null
+++ b/keyboards/neito/keymaps/via/keymap.c
@@ -0,0 +1,66 @@
1/* Copyright 2020 Oliver Granlund
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 QMK_KEYBOARD_H
18
19enum layers {
20 _DEFAULT,
21 _FN0,
22 _FN1,
23 _FN2,
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_DEFAULT] = LAYOUT(
28 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_MUTE,
29 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_ENT, MO(_FN0),
30 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, MO(_FN1),
31 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
32 KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
33 ),
34 [_FN0] = LAYOUT(
35 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, KC_TRNS,
36 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,
37 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,
38 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,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
40 ),
41 [_FN1] = LAYOUT(
42 KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
43 KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
44 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,
45 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,
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
47 ),
48 [_FN2] = LAYOUT(
49 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,
50 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,
51 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,
52 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,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
54 ),
55};
56
57
58bool encoder_update_user(uint8_t index, bool clockwise) {
59 if (clockwise) {
60 tap_code(KC_VOLU);
61 } else {
62 tap_code(KC_VOLD);
63 }
64
65 return true;
66};
diff --git a/keyboards/neito/keymaps/via/rules.mk b/keyboards/neito/keymaps/via/rules.mk
new file mode 100644
index 000000000..43061db1d
--- /dev/null
+++ b/keyboards/neito/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/neito/neito.c b/keyboards/neito/neito.c
new file mode 100644
index 000000000..a05831ec1
--- /dev/null
+++ b/keyboards/neito/neito.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 Oliver Granlund
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 "neito.h"
diff --git a/keyboards/neito/neito.h b/keyboards/neito/neito.h
new file mode 100644
index 000000000..35f1df286
--- /dev/null
+++ b/keyboards/neito/neito.h
@@ -0,0 +1,37 @@
1/* Copyright 2020 Oliver Granlund
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#pragma once
17
18#include "quantum.h"
19
20#define LAYOUT( \
21 k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, \
22 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, \
23 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, \
24 k60, k80, k70, k61, k71, k62, k72, k83, k63, k73, k64, k74, k65, k66, k76, \
25 k90, k81, k82, k92, k93, k84, k86, k96, k87 \
26) { \
27 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
28 { k10, k11, k12, k13, k14, k15, k16, KC_NO }, \
29 { k20, k21, k22, k23, k24, k25, k26, k27 }, \
30 { k30, k31, k32, k33, k34, k35, k36, KC_NO }, \
31 { k40, k41, k42, k43, k44, k45, k46, k47 }, \
32 { k50, k51, k52, k53, k54, k55, KC_NO, KC_NO }, \
33 { k60, k61, k62, k63, k64, k65, k66, KC_NO }, \
34 { k70, k71, k72, k73, k74, KC_NO, k76, KC_NO }, \
35 { k80, k81, k82, k83, k84, KC_NO, k86, k87 }, \
36 { k90, KC_NO, k92, k93, KC_NO, KC_NO, k96, KC_NO }, \
37}
diff --git a/keyboards/neito/readme.md b/keyboards/neito/readme.md
new file mode 100644
index 000000000..eec96d334
--- /dev/null
+++ b/keyboards/neito/readme.md
@@ -0,0 +1,24 @@
1# Neito
2### by Oliver Granlund
3
4ISO-variant of TGR Alice with a few tweaks!
5
6![First prototype](https://i.imgur.com/GbZAnIpl.jpg)
7
8![First prototypes backside](https://i.imgur.com/h7Hx6EUl.jpg)
9
10* Keyboard Maintainer: [Oliver Granlund](https://github.com/OlliGranlund)
11* Hardware Supported: Neito PCB (ATmega32U4)
12* Hardware Availability: Group Buys hosted on [https://olli.works](https://olli.works)
13
14Getting the board into bootloader mode:
15
16To be able to flash firmware onto this board, you'll need to bring the keyboard into bootloader mode. The keyboard has a debug-panel located between the keys "H" and "N". In this 2x3-panel, short the two pins which are furthest away from the atmega32u4 microcontroller. See the red arrows in the image below.
17
18![Reset pins](https://i.imgur.com/fN2XjY8l.jpg)
19
20Make example for this keyboard (after setting up your build environment):
21
22 make neito:default
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).
diff --git a/keyboards/neito/rules.mk b/keyboards/neito/rules.mk
new file mode 100644
index 000000000..b16bff328
--- /dev/null
+++ b/keyboards/neito/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = 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 = yes # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23ENCODER_ENABLE = yes # We have a encoder