aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-03-25 12:04:35 +0000
committerQMK Bot <hello@qmk.fm>2021-03-25 12:04:35 +0000
commitfd24546787b304f63c94c4afd6fb0121b3e5dc43 (patch)
treeac2e83144670e84603ce6b5a1b46dd3c554add5a
parent9294c5aa0a574a42ebba11ed50768352dbb96946 (diff)
parentf3f444c1df58f85c3720f98eeda3641bc8eddc59 (diff)
downloadqmk_firmware-fd24546787b304f63c94c4afd6fb0121b3e5dc43.tar.gz
qmk_firmware-fd24546787b304f63c94c4afd6fb0121b3e5dc43.zip
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/nix_studio/oxalys80/config.h80
-rw-r--r--keyboards/nix_studio/oxalys80/info.json1365
-rw-r--r--keyboards/nix_studio/oxalys80/keymaps/default/keymap.c36
-rw-r--r--keyboards/nix_studio/oxalys80/keymaps/default/readme.md1
-rw-r--r--keyboards/nix_studio/oxalys80/keymaps/via/keymap.c52
-rw-r--r--keyboards/nix_studio/oxalys80/keymaps/via/readme.md1
-rw-r--r--keyboards/nix_studio/oxalys80/keymaps/via/rules.mk1
-rw-r--r--keyboards/nix_studio/oxalys80/oxalys80.c26
-rw-r--r--keyboards/nix_studio/oxalys80/oxalys80.h45
-rw-r--r--keyboards/nix_studio/oxalys80/readme.md43
-rw-r--r--keyboards/nix_studio/oxalys80/rules.mk23
11 files changed, 1673 insertions, 0 deletions
diff --git a/keyboards/nix_studio/oxalys80/config.h b/keyboards/nix_studio/oxalys80/config.h
new file mode 100644
index 000000000..acd39ad52
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/config.h
@@ -0,0 +1,80 @@
1/* Copyright 2021 Nix Studio
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 "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x6E78
23#define PRODUCT_ID 0x3830
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Nix Studio
26#define PRODUCT OXALYS80
27
28
29/* key matrix size */
30#define MATRIX_ROWS 12
31#define MATRIX_COLS 9
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 { C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
44#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, B0, B1 }
45#define UNUSED_PINS
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50#define BACKLIGHT_PIN B7
51// #define BACKLIGHT_BREATHING
52#define BACKLIGHT_LEVELS 3
53
54/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
55#define DEBOUNCE 5
56
57/* define if matrix has ghost (lacks anti-ghosting diodes) */
58//#define MATRIX_HAS_GHOST
59
60/* number of backlight levels */
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#define RGB_DI_PIN B3
68#ifdef RGB_DI_PIN
69#define RGBLIGHT_ANIMATIONS
70#define RGBLED_NUM 24
71#define RGBLIGHT_HUE_STEP 8
72#define RGBLIGHT_SAT_STEP 8
73#define RGBLIGHT_VAL_STEP 8
74#define RGBLIGHT_LIMIT_VAL 200
75#define RGBLIGHT_SLEEP // RGB will turn off when PC is put to sleep
76#endif
77
78#define LED_CAPS_LOCK_PIN E6
79#define LED_SCROLL_LOCK_PIN B2
80#define LED_PIN_ON_STATE 0
diff --git a/keyboards/nix_studio/oxalys80/info.json b/keyboards/nix_studio/oxalys80/info.json
new file mode 100644
index 000000000..78bff3eef
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/info.json
@@ -0,0 +1,1365 @@
1{
2 "keyboard_name": "oxalys80",
3 "url": "",
4 "maintainer": "Nix Studio",
5 "width": 18.25,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT_all": {
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": "Scroll Lock",
82 "x": 16.25,
83 "y": 0
84 },
85 {
86 "label": "Pause",
87 "x": 17.25,
88 "y": 0
89 },
90 {
91 "label": "~",
92 "x": 0,
93 "y": 1.5
94 },
95 {
96 "label": "!",
97 "x": 1,
98 "y": 1.5
99 },
100 {
101 "label": "@",
102 "x": 2,
103 "y": 1.5
104 },
105 {
106 "label": "#",
107 "x": 3,
108 "y": 1.5
109 },
110 {
111 "label": "$",
112 "x": 4,
113 "y": 1.5
114 },
115 {
116 "label": "%",
117 "x": 5,
118 "y": 1.5
119 },
120 {
121 "label": "^",
122 "x": 6,
123 "y": 1.5
124 },
125 {
126 "label": "&",
127 "x": 7,
128 "y": 1.5
129 },
130 {
131 "label": "*",
132 "x": 8,
133 "y": 1.5
134 },
135 {
136 "label": "(",
137 "x": 9,
138 "y": 1.5
139 },
140 {
141 "label": ")",
142 "x": 10,
143 "y": 1.5
144 },
145 {
146 "label": "_",
147 "x": 11,
148 "y": 1.5
149 },
150 {
151 "label": "+",
152 "x": 12,
153 "y": 1.5
154 },
155 {
156 "x": 13,
157 "y": 1.5
158 },
159 {
160 "label": "Bksp",
161 "x": 14,
162 "y": 1.5
163 },
164 {
165 "label": "Insert",
166 "x": 15.25,
167 "y": 1.5
168 },
169 {
170 "label": "Home",
171 "x": 16.25,
172 "y": 1.5
173 },
174 {
175 "label": "PgUp",
176 "x": 17.25,
177 "y": 1.5
178 },
179 {
180 "label": "Tab",
181 "x": 0,
182 "y": 2.5,
183 "w": 1.5
184 },
185 {
186 "label": "Q",
187 "x": 1.5,
188 "y": 2.5
189 },
190 {
191 "label": "W",
192 "x": 2.5,
193 "y": 2.5
194 },
195 {
196 "label": "E",
197 "x": 3.5,
198 "y": 2.5
199 },
200 {
201 "label": "R",
202 "x": 4.5,
203 "y": 2.5
204 },
205 {
206 "label": "T",
207 "x": 5.5,
208 "y": 2.5
209 },
210 {
211 "label": "Y",
212 "x": 6.5,
213 "y": 2.5
214 },
215 {
216 "label": "U",
217 "x": 7.5,
218 "y": 2.5
219 },
220 {
221 "label": "I",
222 "x": 8.5,
223 "y": 2.5
224 },
225 {
226 "label": "O",
227 "x": 9.5,
228 "y": 2.5
229 },
230 {
231 "label": "P",
232 "x": 10.5,
233 "y": 2.5
234 },
235 {
236 "label": "{",
237 "x": 11.5,
238 "y": 2.5
239 },
240 {
241 "label": "}",
242 "x": 12.5,
243 "y": 2.5
244 },
245 {
246 "label": "|",
247 "x": 13.5,
248 "y": 2.5,
249 "w": 1.5
250 },
251 {
252 "label": "Delete",
253 "x": 15.25,
254 "y": 2.5
255 },
256 {
257 "label": "End",
258 "x": 16.25,
259 "y": 2.5
260 },
261 {
262 "label": "PgDn",
263 "x": 17.25,
264 "y": 2.5
265 },
266 {
267 "label": "Caps Lock",
268 "x": 0,
269 "y": 3.5,
270 "w": 1.75
271 },
272 {
273 "label": "A",
274 "x": 1.75,
275 "y": 3.5
276 },
277 {
278 "label": "S",
279 "x": 2.75,
280 "y": 3.5
281 },
282 {
283 "label": "D",
284 "x": 3.75,
285 "y": 3.5
286 },
287 {
288 "label": "F",
289 "x": 4.75,
290 "y": 3.5
291 },
292 {
293 "label": "G",
294 "x": 5.75,
295 "y": 3.5
296 },
297 {
298 "label": "H",
299 "x": 6.75,
300 "y": 3.5
301 },
302 {
303 "label": "J",
304 "x": 7.75,
305 "y": 3.5
306 },
307 {
308 "label": "K",
309 "x": 8.75,
310 "y": 3.5
311 },
312 {
313 "label": "L",
314 "x": 9.75,
315 "y": 3.5
316 },
317 {
318 "label": ":",
319 "x": 10.75,
320 "y": 3.5
321 },
322 {
323 "label": "\"",
324 "x": 11.75,
325 "y": 3.5
326 },
327 {
328 "x": 12.75,
329 "y": 3.5
330 },
331 {
332 "label": "Enter",
333 "x": 13.75,
334 "y": 3.5,
335 "w": 1.25
336 },
337 {
338 "label": "Shift",
339 "x": 0,
340 "y": 4.5,
341 "w": 1.25
342 },
343 {
344 "x": 1.25,
345 "y": 4.5
346 },
347 {
348 "label": "Z",
349 "x": 2.25,
350 "y": 4.5
351 },
352 {
353 "label": "X",
354 "x": 3.25,
355 "y": 4.5
356 },
357 {
358 "label": "C",
359 "x": 4.25,
360 "y": 4.5
361 },
362 {
363 "label": "V",
364 "x": 5.25,
365 "y": 4.5
366 },
367 {
368 "label": "B",
369 "x": 6.25,
370 "y": 4.5
371 },
372 {
373 "label": "N",
374 "x": 7.25,
375 "y": 4.5
376 },
377 {
378 "label": "M",
379 "x": 8.25,
380 "y": 4.5
381 },
382 {
383 "label": "<",
384 "x": 9.25,
385 "y": 4.5
386 },
387 {
388 "label": ">",
389 "x": 10.25,
390 "y": 4.5
391 },
392 {
393 "label": "?",
394 "x": 11.25,
395 "y": 4.5
396 },
397 {
398 "label": "Shift",
399 "x": 12.25,
400 "y": 4.5,
401 "w": 1.75
402 },
403 {
404 "x": 14,
405 "y": 4.5
406 },
407 {
408 "label": "\u2191",
409 "x": 16.25,
410 "y": 4.5
411 },
412 {
413 "label": "Ctrl",
414 "x": 0,
415 "y": 5.5,
416 "w": 1.25
417 },
418 {
419 "label": "Win",
420 "x": 1.25,
421 "y": 5.5,
422 "w": 1.25
423 },
424 {
425 "label": "Alt",
426 "x": 2.5,
427 "y": 5.5,
428 "w": 1.25
429 },
430 {
431 "x": 3.75,
432 "y": 5.5,
433 "w": 6.25
434 },
435 {
436 "label": "Alt",
437 "x": 10,
438 "y": 5.5,
439 "w": 1.25
440 },
441 {
442 "label": "Win",
443 "x": 11.25,
444 "y": 5.5,
445 "w": 1.25
446 },
447 {
448 "label": "Menu",
449 "x": 12.5,
450 "y": 5.5,
451 "w": 1.25
452 },
453 {
454 "label": "Ctrl",
455 "x": 13.75,
456 "y": 5.5,
457 "w": 1.25
458 },
459 {
460 "label": "\u2190",
461 "x": 15.25,
462 "y": 5.5
463 },
464 {
465 "label": "\u2193",
466 "x": 16.25,
467 "y": 5.5
468 },
469 {
470 "label": "\u2192",
471 "x": 17.25,
472 "y": 5.5
473 }
474 ]
475 },
476 "LAYOUT_tkl_ansi": {
477 "layout": [
478 {
479 "label": "Esc",
480 "x": 0,
481 "y": 0
482 },
483 {
484 "label": "F1",
485 "x": 2,
486 "y": 0
487 },
488 {
489 "label": "F2",
490 "x": 3,
491 "y": 0
492 },
493 {
494 "label": "F3",
495 "x": 4,
496 "y": 0
497 },
498 {
499 "label": "F4",
500 "x": 5,
501 "y": 0
502 },
503 {
504 "label": "F5",
505 "x": 6.5,
506 "y": 0
507 },
508 {
509 "label": "F6",
510 "x": 7.5,
511 "y": 0
512 },
513 {
514 "label": "F7",
515 "x": 8.5,
516 "y": 0
517 },
518 {
519 "label": "F8",
520 "x": 9.5,
521 "y": 0
522 },
523 {
524 "label": "F9",
525 "x": 11,
526 "y": 0
527 },
528 {
529 "label": "F10",
530 "x": 12,
531 "y": 0
532 },
533 {
534 "label": "F11",
535 "x": 13,
536 "y": 0
537 },
538 {
539 "label": "F12",
540 "x": 14,
541 "y": 0
542 },
543 {
544 "label": "PrtSc",
545 "x": 15.25,
546 "y": 0
547 },
548 {
549 "label": "Scroll Lock",
550 "x": 16.25,
551 "y": 0
552 },
553 {
554 "label": "Pause",
555 "x": 17.25,
556 "y": 0
557 },
558 {
559 "label": "~",
560 "x": 0,
561 "y": 1.5
562 },
563 {
564 "label": "!",
565 "x": 1,
566 "y": 1.5
567 },
568 {
569 "label": "@",
570 "x": 2,
571 "y": 1.5
572 },
573 {
574 "label": "#",
575 "x": 3,
576 "y": 1.5
577 },
578 {
579 "label": "$",
580 "x": 4,
581 "y": 1.5
582 },
583 {
584 "label": "%",
585 "x": 5,
586 "y": 1.5
587 },
588 {
589 "label": "^",
590 "x": 6,
591 "y": 1.5
592 },
593 {
594 "label": "&",
595 "x": 7,
596 "y": 1.5
597 },
598 {
599 "label": "*",
600 "x": 8,
601 "y": 1.5
602 },
603 {
604 "label": "(",
605 "x": 9,
606 "y": 1.5
607 },
608 {
609 "label": ")",
610 "x": 10,
611 "y": 1.5
612 },
613 {
614 "label": "_",
615 "x": 11,
616 "y": 1.5
617 },
618 {
619 "label": "+",
620 "x": 12,
621 "y": 1.5
622 },
623 {
624 "label": "Bksp",
625 "x": 13,
626 "y": 1.5,
627 "w": 2
628 },
629 {
630 "label": "Insert",
631 "x": 15.25,
632 "y": 1.5
633 },
634 {
635 "label": "Home",
636 "x": 16.25,
637 "y": 1.5
638 },
639 {
640 "label": "PgUp",
641 "x": 17.25,
642 "y": 1.5
643 },
644 {
645 "label": "Tab",
646 "x": 0,
647 "y": 2.5,
648 "w": 1.5
649 },
650 {
651 "label": "Q",
652 "x": 1.5,
653 "y": 2.5
654 },
655 {
656 "label": "W",
657 "x": 2.5,
658 "y": 2.5
659 },
660 {
661 "label": "E",
662 "x": 3.5,
663 "y": 2.5
664 },
665 {
666 "label": "R",
667 "x": 4.5,
668 "y": 2.5
669 },
670 {
671 "label": "T",
672 "x": 5.5,
673 "y": 2.5
674 },
675 {
676 "label": "Y",
677 "x": 6.5,
678 "y": 2.5
679 },
680 {
681 "label": "U",
682 "x": 7.5,
683 "y": 2.5
684 },
685 {
686 "label": "I",
687 "x": 8.5,
688 "y": 2.5
689 },
690 {
691 "label": "O",
692 "x": 9.5,
693 "y": 2.5
694 },
695 {
696 "label": "P",
697 "x": 10.5,
698 "y": 2.5
699 },
700 {
701 "label": "{",
702 "x": 11.5,
703 "y": 2.5
704 },
705 {
706 "label": "}",
707 "x": 12.5,
708 "y": 2.5
709 },
710 {
711 "label": "|",
712 "x": 13.5,
713 "y": 2.5,
714 "w": 1.5
715 },
716 {
717 "label": "Delete",
718 "x": 15.25,
719 "y": 2.5
720 },
721 {
722 "label": "End",
723 "x": 16.25,
724 "y": 2.5
725 },
726 {
727 "label": "PgDn",
728 "x": 17.25,
729 "y": 2.5
730 },
731 {
732 "label": "Caps Lock",
733 "x": 0,
734 "y": 3.5,
735 "w": 1.75
736 },
737 {
738 "label": "A",
739 "x": 1.75,
740 "y": 3.5
741 },
742 {
743 "label": "S",
744 "x": 2.75,
745 "y": 3.5
746 },
747 {
748 "label": "D",
749 "x": 3.75,
750 "y": 3.5
751 },
752 {
753 "label": "F",
754 "x": 4.75,
755 "y": 3.5
756 },
757 {
758 "label": "G",
759 "x": 5.75,
760 "y": 3.5
761 },
762 {
763 "label": "H",
764 "x": 6.75,
765 "y": 3.5
766 },
767 {
768 "label": "J",
769 "x": 7.75,
770 "y": 3.5
771 },
772 {
773 "label": "K",
774 "x": 8.75,
775 "y": 3.5
776 },
777 {
778 "label": "L",
779 "x": 9.75,
780 "y": 3.5
781 },
782 {
783 "label": ":",
784 "x": 10.75,
785 "y": 3.5
786 },
787 {
788 "label": "\"",
789 "x": 11.75,
790 "y": 3.5
791 },
792 {
793 "label": "Enter",
794 "x": 12.75,
795 "y": 3.5,
796 "w": 2.25
797 },
798 {
799 "label": "Shift",
800 "x": 0,
801 "y": 4.5,
802 "w": 2.25
803 },
804 {
805 "label": "Z",
806 "x": 2.25,
807 "y": 4.5
808 },
809 {
810 "label": "X",
811 "x": 3.25,
812 "y": 4.5
813 },
814 {
815 "label": "C",
816 "x": 4.25,
817 "y": 4.5
818 },
819 {
820 "label": "V",
821 "x": 5.25,
822 "y": 4.5
823 },
824 {
825 "label": "B",
826 "x": 6.25,
827 "y": 4.5
828 },
829 {
830 "label": "N",
831 "x": 7.25,
832 "y": 4.5
833 },
834 {
835 "label": "M",
836 "x": 8.25,
837 "y": 4.5
838 },
839 {
840 "label": "<",
841 "x": 9.25,
842 "y": 4.5
843 },
844 {
845 "label": ">",
846 "x": 10.25,
847 "y": 4.5
848 },
849 {
850 "label": "?",
851 "x": 11.25,
852 "y": 4.5
853 },
854 {
855 "label": "Shift",
856 "x": 12.25,
857 "y": 4.5,
858 "w": 2.75
859 },
860 {
861 "label": "\u2191",
862 "x": 16.25,
863 "y": 4.5
864 },
865 {
866 "label": "Ctrl",
867 "x": 0,
868 "y": 5.5,
869 "w": 1.25
870 },
871 {
872 "label": "Win",
873 "x": 1.25,
874 "y": 5.5,
875 "w": 1.25
876 },
877 {
878 "label": "Alt",
879 "x": 2.5,
880 "y": 5.5,
881 "w": 1.25
882 },
883 {
884 "x": 3.75,
885 "y": 5.5,
886 "w": 6.25
887 },
888 {
889 "label": "Alt",
890 "x": 10,
891 "y": 5.5,
892 "w": 1.25
893 },
894 {
895 "label": "Win",
896 "x": 11.25,
897 "y": 5.5,
898 "w": 1.25
899 },
900 {
901 "label": "Menu",
902 "x": 12.5,
903 "y": 5.5,
904 "w": 1.25
905 },
906 {
907 "label": "Ctrl",
908 "x": 13.75,
909 "y": 5.5,
910 "w": 1.25
911 },
912 {
913 "label": "\u2190",
914 "x": 15.25,
915 "y": 5.5
916 },
917 {
918 "label": "\u2193",
919 "x": 16.25,
920 "y": 5.5
921 },
922 {
923 "label": "\u2192",
924 "x": 17.25,
925 "y": 5.5
926 }
927 ]
928 },
929 "LAYOUT_tkl_ansi_wkl": {
930 "layout": [
931 {
932 "label": "Esc",
933 "x": 0,
934 "y": 0
935 },
936 {
937 "label": "F1",
938 "x": 2,
939 "y": 0
940 },
941 {
942 "label": "F2",
943 "x": 3,
944 "y": 0
945 },
946 {
947 "label": "F3",
948 "x": 4,
949 "y": 0
950 },
951 {
952 "label": "F4",
953 "x": 5,
954 "y": 0
955 },
956 {
957 "label": "F5",
958 "x": 6.5,
959 "y": 0
960 },
961 {
962 "label": "F6",
963 "x": 7.5,
964 "y": 0
965 },
966 {
967 "label": "F7",
968 "x": 8.5,
969 "y": 0
970 },
971 {
972 "label": "F8",
973 "x": 9.5,
974 "y": 0
975 },
976 {
977 "label": "F9",
978 "x": 11,
979 "y": 0
980 },
981 {
982 "label": "F10",
983 "x": 12,
984 "y": 0
985 },
986 {
987 "label": "F11",
988 "x": 13,
989 "y": 0
990 },
991 {
992 "label": "F12",
993 "x": 14,
994 "y": 0
995 },
996 {
997 "label": "PrtSc",
998 "x": 15.25,
999 "y": 0
1000 },
1001 {
1002 "label": "Scroll Lock",
1003 "x": 16.25,
1004 "y": 0
1005 },
1006 {
1007 "label": "Pause",
1008 "x": 17.25,
1009 "y": 0
1010 },
1011 {
1012 "label": "~",
1013 "x": 0,
1014 "y": 1.5
1015 },
1016 {
1017 "label": "!",
1018 "x": 1,
1019 "y": 1.5
1020 },
1021 {
1022 "label": "@",
1023 "x": 2,
1024 "y": 1.5
1025 },
1026 {
1027 "label": "#",
1028 "x": 3,
1029 "y": 1.5
1030 },
1031 {
1032 "label": "$",
1033 "x": 4,
1034 "y": 1.5
1035 },
1036 {
1037 "label": "%",
1038 "x": 5,
1039 "y": 1.5
1040 },
1041 {
1042 "label": "^",
1043 "x": 6,
1044 "y": 1.5
1045 },
1046 {
1047 "label": "&",
1048 "x": 7,
1049 "y": 1.5
1050 },
1051 {
1052 "label": "*",
1053 "x": 8,
1054 "y": 1.5
1055 },
1056 {
1057 "label": "(",
1058 "x": 9,
1059 "y": 1.5
1060 },
1061 {
1062 "label": ")",
1063 "x": 10,
1064 "y": 1.5
1065 },
1066 {
1067 "label": "_",
1068 "x": 11,
1069 "y": 1.5
1070 },
1071 {
1072 "label": "+",
1073 "x": 12,
1074 "y": 1.5
1075 },
1076 {
1077 "label": "Bksp",
1078 "x": 13,
1079 "y": 1.5,
1080 "w": 2
1081 },
1082 {
1083 "label": "Insert",
1084 "x": 15.25,
1085 "y": 1.5
1086 },
1087 {
1088 "label": "Home",
1089 "x": 16.25,
1090 "y": 1.5
1091 },
1092 {
1093 "label": "PgUp",
1094 "x": 17.25,
1095 "y": 1.5
1096 },
1097 {
1098 "label": "Tab",
1099 "x": 0,
1100 "y": 2.5,
1101 "w": 1.5
1102 },
1103 {
1104 "label": "Q",
1105 "x": 1.5,
1106 "y": 2.5
1107 },
1108 {
1109 "label": "W",
1110 "x": 2.5,
1111 "y": 2.5
1112 },
1113 {
1114 "label": "E",
1115 "x": 3.5,
1116 "y": 2.5
1117 },
1118 {
1119 "label": "R",
1120 "x": 4.5,
1121 "y": 2.5
1122 },
1123 {
1124 "label": "T",
1125 "x": 5.5,
1126 "y": 2.5
1127 },
1128 {
1129 "label": "Y",
1130 "x": 6.5,
1131 "y": 2.5
1132 },
1133 {
1134 "label": "U",
1135 "x": 7.5,
1136 "y": 2.5
1137 },
1138 {
1139 "label": "I",
1140 "x": 8.5,
1141 "y": 2.5
1142 },
1143 {
1144 "label": "O",
1145 "x": 9.5,
1146 "y": 2.5
1147 },
1148 {
1149 "label": "P",
1150 "x": 10.5,
1151 "y": 2.5
1152 },
1153 {
1154 "label": "{",
1155 "x": 11.5,
1156 "y": 2.5
1157 },
1158 {
1159 "label": "}",
1160 "x": 12.5,
1161 "y": 2.5
1162 },
1163 {
1164 "label": "|",
1165 "x": 13.5,
1166 "y": 2.5,
1167 "w": 1.5
1168 },
1169 {
1170 "label": "Delete",
1171 "x": 15.25,
1172 "y": 2.5
1173 },
1174 {
1175 "label": "End",
1176 "x": 16.25,
1177 "y": 2.5
1178 },
1179 {
1180 "label": "PgDn",
1181 "x": 17.25,
1182 "y": 2.5
1183 },
1184 {
1185 "label": "Caps Lock",
1186 "x": 0,
1187 "y": 3.5,
1188 "w": 1.75
1189 },
1190 {
1191 "label": "A",
1192 "x": 1.75,
1193 "y": 3.5
1194 },
1195 {
1196 "label": "S",
1197 "x": 2.75,
1198 "y": 3.5
1199 },
1200 {
1201 "label": "D",
1202 "x": 3.75,
1203 "y": 3.5
1204 },
1205 {
1206 "label": "F",
1207 "x": 4.75,
1208 "y": 3.5
1209 },
1210 {
1211 "label": "G",
1212 "x": 5.75,
1213 "y": 3.5
1214 },
1215 {
1216 "label": "H",
1217 "x": 6.75,
1218 "y": 3.5
1219 },
1220 {
1221 "label": "J",
1222 "x": 7.75,
1223 "y": 3.5
1224 },
1225 {
1226 "label": "K",
1227 "x": 8.75,
1228 "y": 3.5
1229 },
1230 {
1231 "label": "L",
1232 "x": 9.75,
1233 "y": 3.5
1234 },
1235 {
1236 "label": ":",
1237 "x": 10.75,
1238 "y": 3.5
1239 },
1240 {
1241 "label": "\"",
1242 "x": 11.75,
1243 "y": 3.5
1244 },
1245 {
1246 "label": "Enter",
1247 "x": 12.75,
1248 "y": 3.5,
1249 "w": 2.25
1250 },
1251 {
1252 "label": "Shift",
1253 "x": 0,
1254 "y": 4.5,
1255 "w": 2.25
1256 },
1257 {
1258 "label": "Z",
1259 "x": 2.25,
1260 "y": 4.5
1261 },
1262 {
1263 "label": "X",
1264 "x": 3.25,
1265 "y": 4.5
1266 },
1267 {
1268 "label": "C",
1269 "x": 4.25,
1270 "y": 4.5
1271 },
1272 {
1273 "label": "V",
1274 "x": 5.25,
1275 "y": 4.5
1276 },
1277 {
1278 "label": "B",
1279 "x": 6.25,
1280 "y": 4.5
1281 },
1282 {
1283 "label": "N",
1284 "x": 7.25,
1285 "y": 4.5
1286 },
1287 {
1288 "label": "M",
1289 "x": 8.25,
1290 "y": 4.5
1291 },
1292 {
1293 "label": "<",
1294 "x": 9.25,
1295 "y": 4.5
1296 },
1297 {
1298 "label": ">",
1299 "x": 10.25,
1300 "y": 4.5
1301 },
1302 {
1303 "label": "?",
1304 "x": 11.25,
1305 "y": 4.5
1306 },
1307 {
1308 "label": "Shift",
1309 "x": 12.25,
1310 "y": 4.5,
1311 "w": 2.75
1312 },
1313 {
1314 "label": "\u2191",
1315 "x": 16.25,
1316 "y": 4.5
1317 },
1318 {
1319 "label": "Ctrl",
1320 "x": 0,
1321 "y": 5.5,
1322 "w": 1.5
1323 },
1324 {
1325 "label": "Alt",
1326 "x": 2.5,
1327 "y": 5.5,
1328 "w": 1.5
1329 },
1330 {
1331 "x": 4,
1332 "y": 5.5,
1333 "w": 7
1334 },
1335 {
1336 "label": "Alt",
1337 "x": 11,
1338 "y": 5.5,
1339 "w": 1.5
1340 },
1341 {
1342 "label": "Ctrl",
1343 "x": 13.5,
1344 "y": 5.5,
1345 "w": 1.5
1346 },
1347 {
1348 "label": "\u2190",
1349 "x": 15.25,
1350 "y": 5.5
1351 },
1352 {
1353 "label": "\u2193",
1354 "x": 16.25,
1355 "y": 5.5
1356 },
1357 {
1358 "label": "\u2192",
1359 "x": 17.25,
1360 "y": 5.5
1361 }
1362 ]
1363 }
1364 }
1365}
diff --git a/keyboards/nix_studio/oxalys80/keymaps/default/keymap.c b/keyboards/nix_studio/oxalys80/keymaps/default/keymap.c
new file mode 100644
index 000000000..70d05e7b9
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
1/* Copyright 2021 Nix Studio
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
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20 [0] = LAYOUT_all(
21 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, KC_SLCK, KC_PAUS,
22 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_INS, KC_HOME, KC_PGUP,
23 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, KC_DEL, KC_END, KC_PGDN,
24 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,
25 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_TRNS, KC_UP,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
27
28 [1] = LAYOUT_all(
29 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC,
30 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, KC_TRNS, KC_TRNS, KC_VOLU,
31 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
32 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,
33 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,
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
35
36};
diff --git a/keyboards/nix_studio/oxalys80/keymaps/default/readme.md b/keyboards/nix_studio/oxalys80/keymaps/default/readme.md
new file mode 100644
index 000000000..d4b2ba967
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for oxalys80 \ No newline at end of file
diff --git a/keyboards/nix_studio/oxalys80/keymaps/via/keymap.c b/keyboards/nix_studio/oxalys80/keymaps/via/keymap.c
new file mode 100644
index 000000000..a81dface9
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
1/* Copyright 2021 Nix Studio
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
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20 [0] = LAYOUT_all(
21 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, KC_SLCK, KC_PAUS,
22 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_INS, KC_HOME, KC_PGUP,
23 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, KC_END, KC_PGDN,
24 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,
25 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_TRNS, KC_UP,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
27
28 [1] = LAYOUT_all(
29 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC,
30 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, KC_TRNS, KC_TRNS, KC_VOLU,
31 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
32 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,
33 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,
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
35
36 [2] = LAYOUT_all(
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC,
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, KC_TRNS, KC_TRNS, KC_VOLU,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
40 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,
41 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,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
43
44 [3] = LAYOUT_all(
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC,
46 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, KC_TRNS, KC_TRNS, KC_VOLU,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
48 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,
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),
51
52};
diff --git a/keyboards/nix_studio/oxalys80/keymaps/via/readme.md b/keyboards/nix_studio/oxalys80/keymaps/via/readme.md
new file mode 100644
index 000000000..7b9d19da1
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/keymaps/via/readme.md
@@ -0,0 +1 @@
# The default VIA keymap for oxalys80
diff --git a/keyboards/nix_studio/oxalys80/keymaps/via/rules.mk b/keyboards/nix_studio/oxalys80/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/nix_studio/oxalys80/oxalys80.c b/keyboards/nix_studio/oxalys80/oxalys80.c
new file mode 100644
index 000000000..c5078a9f8
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/oxalys80.c
@@ -0,0 +1,26 @@
1/* Copyright 2021 Nix Studio
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 "oxalys80.h"
17
18
19void eeconfig_init_kb(void) { // EEPROM is getting reset!
20 rgblight_enable(); // Enable RGB by default
21 rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness
22 rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
23
24 eeconfig_update_kb(0);
25 eeconfig_init_user();
26}
diff --git a/keyboards/nix_studio/oxalys80/oxalys80.h b/keyboards/nix_studio/oxalys80/oxalys80.h
new file mode 100644
index 000000000..a4f36b2ac
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/oxalys80.h
@@ -0,0 +1,45 @@
1/* Copyright 2021 Nix Studio
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// This a shortcut to help you visually see your layout.
21// The following is an example using the Planck MIT layout
22// The first section contains all of the arguments
23// The second converts the arguments into a two-dimensional array
24
25#define LAYOUT_all(\
26 K000, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
27 K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K066, K027, K037, K028, \
28 K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K057, K048, \
29 K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K076, \
30 K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K097, \
31 K100, K110, K101, K103, K105, K115, K106, K116, K107, K117, K108 \
32) { \
33 { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
34 { KC_NO, K011, K012, K013, K014, K015, K016, K017, KC_NO }, \
35 { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
36 { K030, K031, K032, K033, K034, K035, K036, K037, KC_NO }, \
37 { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
38 { K050, K051, K052, K053, K054, K055, K056, K057, KC_NO }, \
39 { K060, K061, K062, K063, K064, K065, K066, KC_NO, KC_NO }, \
40 { K070, K071, K072, K073, K074, K075, K076, KC_NO, KC_NO }, \
41 { K080, K081, K082, K083, K084, K085, K086, KC_NO, KC_NO }, \
42 { K090, K091, K092, K093, K094, K095, K096, K097, KC_NO }, \
43 { K100, K101, KC_NO, K103, KC_NO, K105, K106, K107, K108 }, \
44 { K110, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, KC_NO } \
45}
diff --git a/keyboards/nix_studio/oxalys80/readme.md b/keyboards/nix_studio/oxalys80/readme.md
new file mode 100644
index 000000000..44ad7e828
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/readme.md
@@ -0,0 +1,43 @@
1oxalys80
2===
3
4A QMK-powered replacement PCB for custom TKL keyboards. This PCB has the same size of the b.87 PCB, Hiney H87a, KBD8X.
5
6Keyboard Maintainer: [Nix Studio](https://github.com/Nix-Studio)
7Hardware Supported: oxalys80 ver. 1.0
8Hardware Availability: [Nix Studio](https://www.instagram.com/nix.studio/)
9
10Make example for this keyboard (after setting up your build environment):
11
12 make nix_studio/oxalys80:default
13
14See 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).
15
16## oxalys80 hardware information
17
18Controller: Atmega32u4
19
20 /* Column pin configuration
21 * col: 0 1 2 3 4 5 6 7 8
22 * pin: F0 F1 F4 F5 F6 F7 C7 B0 B1
23 */
24
25 /* Row pin configuration
26 * row: 0 1 2 3 4 5 6 7 8 9 10 11
27 * pin: C6 B6 B5 B4 D7 D6 D4 D5 D3 D2 D1 D0
28 */
29
30The oxalys PCB utilizes duplex matrix organization.
31
32 Caps Lock LED: E6
33 Scroll Lock LED: B2
34 Num Lock LED: not supported
35 Backlight Pin: B7
36 RGB Data Pin: B3
37
38
39
40In-switch indicators:
41To connect the Caps Lock LED to the main backlight matrix, turn switch to top position on SW3. To use the Caps Lock LED as an indicator, turn switch to bottom position on SW3.
42
43To connect the Scroll Lock LED to the main backlight matrix, turn switch to left position on SW2. To use the Scroll Lock LED as an indicator, turn switch to right position on SW2.
diff --git a/keyboards/nix_studio/oxalys80/rules.mk b/keyboards/nix_studio/oxalys80/rules.mk
new file mode 100644
index 000000000..714ba6d38
--- /dev/null
+++ b/keyboards/nix_studio/oxalys80/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4BOOTLOADER = atmel-dfu
5
6# Build Options
7# change yes to no to disable
8#
9BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
10MOUSEKEY_ENABLE = yes # Mouse keys
11EXTRAKEY_ENABLE = yes # Audio control and System control
12CONSOLE_ENABLE = no # Console for debug
13COMMAND_ENABLE = no # Commands for debug and configuration
14# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
15SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
16# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
17NKRO_ENABLE = no # USB Nkey Rollover
18BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
19RGBLIGHT_ENABLE = yes # Enable RGB underglow
20UNICODE_ENABLE = no # Unicode
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23LTO_ENABLE = yes