aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Lee <36001126+bleeCS@users.noreply.github.com>2021-05-15 20:04:38 -0400
committerGitHub <noreply@github.com>2021-05-15 17:04:38 -0700
commit60cf7ae8b7affb0130960a49a904be754c04a213 (patch)
tree1a470259c4589ed0265bc4dbe0f72a280ac631f7
parentcc77710b4a94b5944b9af08423204dcb631391f8 (diff)
downloadqmk_firmware-60cf7ae8b7affb0130960a49a904be754c04a213.tar.gz
qmk_firmware-60cf7ae8b7affb0130960a49a904be754c04a213.zip
[Keyboard] Add Rosa (#12884)
Co-authored-by: Ryan <fauxpark@gmail.com>
-rw-r--r--keyboards/illusion/rosa/config.h58
-rw-r--r--keyboards/illusion/rosa/info.json214
-rw-r--r--keyboards/illusion/rosa/keymaps/default/keymap.c33
-rw-r--r--keyboards/illusion/rosa/keymaps/default/readme.md1
-rw-r--r--keyboards/illusion/rosa/keymaps/oggi/keymap.c40
-rw-r--r--keyboards/illusion/rosa/keymaps/oggi/readme.md1
-rw-r--r--keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c40
-rw-r--r--keyboards/illusion/rosa/keymaps/split_bs_rshift/readme.md1
-rw-r--r--keyboards/illusion/rosa/keymaps/split_rshift/keymap.c40
-rw-r--r--keyboards/illusion/rosa/keymaps/split_rshift/readme.md1
-rw-r--r--keyboards/illusion/rosa/keymaps/via/keymap.c56
-rw-r--r--keyboards/illusion/rosa/keymaps/via/readme.md1
-rw-r--r--keyboards/illusion/rosa/keymaps/via/rules.mk2
-rw-r--r--keyboards/illusion/rosa/readme.md14
-rw-r--r--keyboards/illusion/rosa/rosa.c18
-rw-r--r--keyboards/illusion/rosa/rosa.h76
-rw-r--r--keyboards/illusion/rosa/rules.mk22
17 files changed, 618 insertions, 0 deletions
diff --git a/keyboards/illusion/rosa/config.h b/keyboards/illusion/rosa/config.h
new file mode 100644
index 000000000..0fcf4931c
--- /dev/null
+++ b/keyboards/illusion/rosa/config.h
@@ -0,0 +1,58 @@
1/*
2Copyright 2021 Brandon Lee
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x696B // ik -> illusion keyboards
24#define PRODUCT_ID 0x6952 // iR -> illusion Rosa
25#define DEVICE_VER 0x0001
26#define MANUFACTURER illusion keyboards
27#define PRODUCT Rosa
28
29/* key matrix size */
30#define MATRIX_ROWS 5
31#define MATRIX_COLS 14
32
33#define MATRIX_ROW_PINS { D1, D4, F0, B0, B1 }
34#define MATRIX_COL_PINS { D0, D2, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6 }
35#define UNUSED_PINS
36
37/* COL2ROW, ROW2COL*/
38#define DIODE_DIRECTION COL2ROW
39
40#define LED_CAPS_LOCK_PIN B3
41#define LED_PIN_ON_STATE 0
42#define BACKLIGHT_LEVELS 0
43
44/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
45#define DEBOUNCE 5
46
47/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
48#define LOCKING_SUPPORT_ENABLE
49/* Locking resynchronize hack */
50#define LOCKING_RESYNC_ENABLE
51
52/* disable these deprecated features by default */
53// #define NO_ACTION_MACRO
54// #define NO_ACTION_FUNCTION
55
56/* Bootmagic Lite key configuration */
57// #define BOOTMAGIC_LITE_ROW 0
58// #define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file
diff --git a/keyboards/illusion/rosa/info.json b/keyboards/illusion/rosa/info.json
new file mode 100644
index 000000000..72841fb53
--- /dev/null
+++ b/keyboards/illusion/rosa/info.json
@@ -0,0 +1,214 @@
1{
2 "keyboard_name": "Rosa",
3 "url": "",
4 "maintainer": "illusion",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_60_ansi": {
9 "layout": [
10 {"label":"Esc", "x":0, "y":0},
11 {"label":"!", "x":1, "y":0},
12 {"label":"@", "x":2, "y":0},
13 {"label":"#", "x":3, "y":0},
14 {"label":"$", "x":4, "y":0},
15 {"label":"%", "x":5, "y":0},
16 {"label":"^", "x":6, "y":0},
17 {"label":"&", "x":7, "y":0},
18 {"label":"*", "x":8, "y":0},
19 {"label":"(", "x":9, "y":0},
20 {"label":")", "x":10, "y":0},
21 {"label":"_", "x":11, "y":0},
22 {"label":"+", "x":12, "y":0},
23 {"label":"Backspace", "x":13, "y":0, "w":2},
24
25 {"label":"Tab", "x":0, "y":1, "w":1.5},
26 {"label":"Q", "x":1.5, "y":1},
27 {"label":"W", "x":2.5, "y":1},
28 {"label":"E", "x":3.5, "y":1},
29 {"label":"R", "x":4.5, "y":1},
30 {"label":"T", "x":5.5, "y":1},
31 {"label":"Y", "x":6.5, "y":1},
32 {"label":"U", "x":7.5, "y":1},
33 {"label":"I", "x":8.5, "y":1},
34 {"label":"O", "x":9.5, "y":1},
35 {"label":"P", "x":10.5, "y":1},
36 {"label":"{", "x":11.5, "y":1},
37 {"label":"}", "x":12.5, "y":1},
38 {"label":"\\", "x":13.5, "y":1, "w":1.5},
39
40 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
41 {"label":"A", "x":1.75, "y":2},
42 {"label":"S", "x":2.75, "y":2},
43 {"label":"D", "x":3.75, "y":2},
44 {"label":"F", "x":4.75, "y":2},
45 {"label":"G", "x":5.75, "y":2},
46 {"label":"H", "x":6.75, "y":2},
47 {"label":"J", "x":7.75, "y":2},
48 {"label":"K", "x":8.75, "y":2},
49 {"label":"L", "x":9.75, "y":2},
50 {"label":":", "x":10.75, "y":2},
51 {"label":"\"", "x":11.75, "y":2},
52 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
53
54 {"label":"Shift", "x":0, "y":3, "w":2.25},
55 {"label":"Z", "x":2.25, "y":3},
56 {"label":"X", "x":3.25, "y":3},
57 {"label":"C", "x":4.25, "y":3},
58 {"label":"V", "x":5.25, "y":3},
59 {"label":"B", "x":6.25, "y":3},
60 {"label":"N", "x":7.25, "y":3},
61 {"label":"M", "x":8.25, "y":3},
62 {"label":"<", "x":9.25, "y":3},
63 {"label":">", "x":10.25, "y":3},
64 {"label":"?", "x":11.25, "y":3},
65 {"label":"Shift", "x":12.25, "y":3, "w":2.75},
66
67 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
68 {"label":"Win", "x":1.5, "y":4},
69 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
70 {"x":4, "y":4, "w":7},
71 {"label":"Alt", "x":11, "y":4, "w":1.5},
72 {"label":"Win", "x":12.5, "y":4},
73 {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
74 ]
75 },
76 "LAYOUT_60_ansi_split_rshift": {
77 "layout": [
78 {"label":"Esc", "x":0, "y":0},
79 {"label":"1", "x":1, "y":0},
80 {"label":"2", "x":2, "y":0},
81 {"label":"3", "x":3, "y":0},
82 {"label":"4", "x":4, "y":0},
83 {"label":"5", "x":5, "y":0},
84 {"label":"6", "x":6, "y":0},
85 {"label":"7", "x":7, "y":0},
86 {"label":"8", "x":8, "y":0},
87 {"label":"9", "x":9, "y":0},
88 {"label":"0", "x":10, "y":0},
89 {"label":"-", "x":11, "y":0},
90 {"label":"=", "x":12, "y":0},
91 {"label":"Backspace", "x":13, "y":0, "w":2},
92
93 {"label":"Tab", "x":0, "y":1, "w":1.5},
94 {"label":"Q", "x":1.5, "y":1},
95 {"label":"W", "x":2.5, "y":1},
96 {"label":"E", "x":3.5, "y":1},
97 {"label":"R", "x":4.5, "y":1},
98 {"label":"T", "x":5.5, "y":1},
99 {"label":"Y", "x":6.5, "y":1},
100 {"label":"U", "x":7.5, "y":1},
101 {"label":"I", "x":8.5, "y":1},
102 {"label":"O", "x":9.5, "y":1},
103 {"label":"P", "x":10.5, "y":1},
104 {"label":"[", "x":11.5, "y":1},
105 {"label":"]", "x":12.5, "y":1},
106 {"label":"\\", "x":13.5, "y":1, "w":1.5},
107
108 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
109 {"label":"A", "x":1.75, "y":2},
110 {"label":"S", "x":2.75, "y":2},
111 {"label":"D", "x":3.75, "y":2},
112 {"label":"F", "x":4.75, "y":2},
113 {"label":"G", "x":5.75, "y":2},
114 {"label":"H", "x":6.75, "y":2},
115 {"label":"J", "x":7.75, "y":2},
116 {"label":"K", "x":8.75, "y":2},
117 {"label":"L", "x":9.75, "y":2},
118 {"label":":", "x":10.75, "y":2},
119 {"label":"\"", "x":11.75, "y":2},
120 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
121
122 {"label":"Shift", "x":0, "y":3, "w":2.25},
123 {"label":"Z", "x":2.25, "y":3},
124 {"label":"X", "x":3.25, "y":3},
125 {"label":"C", "x":4.25, "y":3},
126 {"label":"V", "x":5.25, "y":3},
127 {"label":"B", "x":6.25, "y":3},
128 {"label":"N", "x":7.25, "y":3},
129 {"label":"M", "x":8.25, "y":3},
130 {"label":",", "x":9.25, "y":3},
131 {"label":".", "x":10.25, "y":3},
132 {"label":"?", "x":11.25, "y":3},
133 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
134 {"label":"Fn", "x":14, "y":3},
135
136 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
137 {"label":"Win", "x":1.5, "y":4},
138 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
139 {"x":4, "y":4, "w":7},
140 {"label":"Alt", "x":11, "y":4, "w":1.5},
141 {"label":"Win", "x":12.5, "y":4},
142 {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
143 },
144 "LAYOUT_60_ansi_split_bs_rshift": {
145 "layout": [
146 {"label":"Esc", "x":0, "y":0},
147 {"label":"1", "x":1, "y":0},
148 {"label":"2", "x":2, "y":0},
149 {"label":"3", "x":3, "y":0},
150 {"label":"4", "x":4, "y":0},
151 {"label":"5", "x":5, "y":0},
152 {"label":"6", "x":6, "y":0},
153 {"label":"7", "x":7, "y":0},
154 {"label":"8", "x":8, "y":0},
155 {"label":"9", "x":9, "y":0},
156 {"label":"0", "x":10, "y":0},
157 {"label":"-", "x":11, "y":0},
158 {"label":"=", "x":12, "y":0},
159 {"label":"\\", "x":13, "y":0},
160 {"label":"~", "x":14, "y":0},
161
162 {"label":"Tab", "x":0, "y":1, "w":1.5},
163 {"label":"Q", "x":1.5, "y":1},
164 {"label":"W", "x":2.5, "y":1},
165 {"label":"E", "x":3.5, "y":1},
166 {"label":"R", "x":4.5, "y":1},
167 {"label":"T", "x":5.5, "y":1},
168 {"label":"Y", "x":6.5, "y":1},
169 {"label":"U", "x":7.5, "y":1},
170 {"label":"I", "x":8.5, "y":1},
171 {"label":"O", "x":9.5, "y":1},
172 {"label":"P", "x":10.5, "y":1},
173 {"label":"[", "x":11.5, "y":1},
174 {"label":"]", "x":12.5, "y":1},
175 {"label":"Backspace", "x":13.5, "y":1, "w":1.5},
176
177 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
178 {"label":"A", "x":1.75, "y":2},
179 {"label":"S", "x":2.75, "y":2},
180 {"label":"D", "x":3.75, "y":2},
181 {"label":"F", "x":4.75, "y":2},
182 {"label":"G", "x":5.75, "y":2},
183 {"label":"H", "x":6.75, "y":2},
184 {"label":"J", "x":7.75, "y":2},
185 {"label":"K", "x":8.75, "y":2},
186 {"label":"L", "x":9.75, "y":2},
187 {"label":":", "x":10.75, "y":2},
188 {"label":"\"", "x":11.75, "y":2},
189 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
190
191 {"label":"Shift", "x":0, "y":3, "w":2.25},
192 {"label":"Z", "x":2.25, "y":3},
193 {"label":"X", "x":3.25, "y":3},
194 {"label":"C", "x":4.25, "y":3},
195 {"label":"V", "x":5.25, "y":3},
196 {"label":"B", "x":6.25, "y":3},
197 {"label":"N", "x":7.25, "y":3},
198 {"label":"M", "x":8.25, "y":3},
199 {"label":",", "x":9.25, "y":3},
200 {"label":".", "x":10.25, "y":3},
201 {"label":"?", "x":11.25, "y":3},
202 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
203 {"label":"Fn", "x":14, "y":3},
204
205 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
206 {"label":"Win", "x":1.5, "y":4},
207 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
208 {"x":4, "y":4, "w":7},
209 {"label":"Alt", "x":11, "y":4, "w":1.5},
210 {"label":"Win", "x":12.5, "y":4},
211 {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
212 }
213 }
214} \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/default/keymap.c b/keyboards/illusion/rosa/keymaps/default/keymap.c
new file mode 100644
index 000000000..9bd0109f4
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/default/keymap.c
@@ -0,0 +1,33 @@
1/*
2Copyright 2021 Brandon Lee
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
20enum layer_names {
21 _BASE,
22 _FN
23};
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [_BASE] = LAYOUT_60_ansi(
27 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,
28 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
29 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
30 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
32 )
33}; \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/default/readme.md b/keyboards/illusion/rosa/keymaps/default/readme.md
new file mode 100644
index 000000000..7acbd7dea
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for the Rosa PCB \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/oggi/keymap.c b/keyboards/illusion/rosa/keymaps/oggi/keymap.c
new file mode 100644
index 000000000..5cebe21d8
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/oggi/keymap.c
@@ -0,0 +1,40 @@
1/*
2Copyright 2021 Brandon Lee
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
20enum layer_names {
21 _BASE,
22 _FN
23};
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [_BASE] = LAYOUT_60_ansi_split_rshift(
27 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,
28 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
29 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,
30 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),
31 KC_LGUI, KC_TRNS, KC_LALT, KC_SPC, KC_RALT, KC_TRNS, KC_RCTL
32 ),
33 [_FN] = LAYOUT_60_ansi_split_rshift(
34 KC_TRNS, 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,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
36 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RIGHT, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
39 )
40}; \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/oggi/readme.md b/keyboards/illusion/rosa/keymaps/oggi/readme.md
new file mode 100644
index 000000000..54db9b563
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/oggi/readme.md
@@ -0,0 +1 @@
# Oggi's custom Rosa keymap \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c b/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c
new file mode 100644
index 000000000..caa5e44a6
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c
@@ -0,0 +1,40 @@
1/*
2Copyright 2021 Brandon Lee
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
20enum layer_names {
21 _BASE,
22 _FN
23};
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [_BASE] = LAYOUT_60_ansi_split_bs_rshift(
27 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,
28 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
29 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
30 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),
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
32 ),
33 [_FN] = LAYOUT_60_ansi_split_bs_rshift(
34 KC_TRNS, 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_TRNS, KC_TRNS,
35 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_DEL,
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,
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,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
39 )
40}; \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/split_bs_rshift/readme.md b/keyboards/illusion/rosa/keymaps/split_bs_rshift/readme.md
new file mode 100644
index 000000000..767db3549
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/split_bs_rshift/readme.md
@@ -0,0 +1 @@
# The keymap with split backspace and split right shift for the Rosa PCB \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c b/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c
new file mode 100644
index 000000000..25eabb4d3
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c
@@ -0,0 +1,40 @@
1/*
2Copyright 2021 Brandon Lee
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
20enum layer_names {
21 _BASE,
22 _FN
23};
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [_BASE] = LAYOUT_60_ansi_split_rshift(
27 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,
28 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
29 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
30 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),
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
32 ),
33 [_FN] = LAYOUT_60_ansi_split_rshift(
34 KC_TRNS, 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,
35 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,
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,
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,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
39 )
40}; \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/split_rshift/readme.md b/keyboards/illusion/rosa/keymaps/split_rshift/readme.md
new file mode 100644
index 000000000..ef68f253f
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/split_rshift/readme.md
@@ -0,0 +1 @@
# The keymap with split right shift for the Rosa PCB \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/via/keymap.c b/keyboards/illusion/rosa/keymaps/via/keymap.c
new file mode 100644
index 000000000..872abde67
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/via/keymap.c
@@ -0,0 +1,56 @@
1/*
2Copyright 2021 Brandon Lee
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
20enum layer_names {
21 _BASE,
22 _FN1,
23 _FN2,
24 _FN3
25};
26
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28 [_BASE] = LAYOUT_60_ansi(
29 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,
30 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,
31 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,
32 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
33 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
34 ),
35 [_FN1] = LAYOUT_60_ansi(
36 KC_TRNS, 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,
37 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,
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,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
41 ),
42 [_FN2] = LAYOUT_60_ansi(
43 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,
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,
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,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
48 ),
49 [_FN3] = LAYOUT_60_ansi(
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,
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,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
54 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
55 )
56}; \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/via/readme.md b/keyboards/illusion/rosa/keymaps/via/readme.md
new file mode 100644
index 000000000..4b3ccd070
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/via/readme.md
@@ -0,0 +1 @@
# The VIA keymap for Rosa. \ No newline at end of file
diff --git a/keyboards/illusion/rosa/keymaps/via/rules.mk b/keyboards/illusion/rosa/keymaps/via/rules.mk
new file mode 100644
index 000000000..43061db1d
--- /dev/null
+++ b/keyboards/illusion/rosa/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/illusion/rosa/readme.md b/keyboards/illusion/rosa/readme.md
new file mode 100644
index 000000000..263a2ecb9
--- /dev/null
+++ b/keyboards/illusion/rosa/readme.md
@@ -0,0 +1,14 @@
1# Rosa
2
3![Rosa](https://i.imgur.com/ATFjY5fh.jpg)
4
5A 60% form factor PCB for the Rosa. Uses a USB Type C connector.
6
7* Keyboard Maintainer: [illusion](https://github.com/bleeCS)
8* Hardware Supported: Rosa PCB
9
10Make example for this keyboard (after setting up your build environment):
11
12 make illusion/rosa: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).
diff --git a/keyboards/illusion/rosa/rosa.c b/keyboards/illusion/rosa/rosa.c
new file mode 100644
index 000000000..54619e1ce
--- /dev/null
+++ b/keyboards/illusion/rosa/rosa.c
@@ -0,0 +1,18 @@
1/*
2Copyright 2021 Brandon Lee
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 "rosa.h"
diff --git a/keyboards/illusion/rosa/rosa.h b/keyboards/illusion/rosa/rosa.h
new file mode 100644
index 000000000..1e62a3599
--- /dev/null
+++ b/keyboards/illusion/rosa/rosa.h
@@ -0,0 +1,76 @@
1/*
2Copyright 2021 Brandon Lee
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#define LAYOUT_all(\
23 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, \
24 K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
25 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
26 K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, \
27 K400, K401, K402, K406, K410, K411, K413 \
28) { \
29 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
30 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
31 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213 }, \
32 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313}, \
33 { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413} \
34}
35
36#define LAYOUT_60_ansi(\
37 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \
38 K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
39 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
40 K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, \
41 K400, K401, K402, K406, K410, K411, K413 \
42) { \
43 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
44 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
45 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO }, \
46 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, KC_NO }, \
47 { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413 } \
48}
49
50#define LAYOUT_60_ansi_split_rshift(\
51 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \
52 K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
53 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
54 K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, \
55 K400, K401, K402, K406, K410, K411, K413 \
56) { \
57 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
58 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
59 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO }, \
60 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313 }, \
61 { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413 } \
62}
63
64#define LAYOUT_60_ansi_split_bs_rshift(\
65 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, \
66 K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
67 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
68 K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, \
69 K400, K401, K402, K406, K410, K411, K413 \
70) { \
71 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
72 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
73 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213 }, \
74 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313}, \
75 { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413} \
76}
diff --git a/keyboards/illusion/rosa/rules.mk b/keyboards/illusion/rosa/rules.mk
new file mode 100644
index 000000000..58a18ebe5
--- /dev/null
+++ b/keyboards/illusion/rosa/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 = yes # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output