diff options
author | James Young <18669334+noroadsleft@users.noreply.github.com> | 2021-01-22 18:02:40 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-22 18:02:40 -0800 |
commit | 3a7573436ae6ab20973389a4051a8785399539f2 (patch) | |
tree | 4e9d11ac68e0744269495f7fae243eb46f120d54 | |
parent | 7e77c2361fbfba60fabb490a8dae310d5b7309ba (diff) | |
download | qmk_firmware-3a7573436ae6ab20973389a4051a8785399539f2.tar.gz qmk_firmware-3a7573436ae6ab20973389a4051a8785399539f2.zip |
Program Yoink! refactor (#11636)
* split config.h for each variant
* split rules.mk for each variant
* split source and header files for each variant
* move keymaps to the appropriate variant
* update keyboard readme
* update keymap readmes
* differentiate Staggered and Ortho USB Device Strings
* clean up formatting in info.json
* split info.json files for each variant
* break up the info.json for readability
* correct key positioning and board dimensions
* correct key object sequences
* add weak encoder function to keyboard level
Allows Configurator-compiled firmware to have encoder functionality.
* add variant-specific readme files and bootloader instructions
38 files changed, 489 insertions, 286 deletions
diff --git a/keyboards/program_yoink/config.h b/keyboards/program_yoink/config.h index d1fc28ef4..9d9715ff5 100644 --- a/keyboards/program_yoink/config.h +++ b/keyboards/program_yoink/config.h | |||
@@ -21,10 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
21 | 21 | ||
22 | /* USB Device descriptor parameter */ | 22 | /* USB Device descriptor parameter */ |
23 | #define VENDOR_ID 0xFEED | 23 | #define VENDOR_ID 0xFEED |
24 | #define PRODUCT_ID 0xF10B | ||
25 | #define DEVICE_VER 0x0001 | 24 | #define DEVICE_VER 0x0001 |
26 | #define MANUFACTURER melonbred | 25 | #define MANUFACTURER melonbred |
27 | #define PRODUCT program_yoink | ||
28 | 26 | ||
29 | /* key matrix size */ | 27 | /* key matrix size */ |
30 | #define MATRIX_ROWS 4 | 28 | #define MATRIX_ROWS 4 |
diff --git a/keyboards/program_yoink/info.json b/keyboards/program_yoink/info.json deleted file mode 100644 index b34e53609..000000000 --- a/keyboards/program_yoink/info.json +++ /dev/null | |||
@@ -1,207 +0,0 @@ | |||
1 | { | ||
2 | "keyboard_name": "program_yoink", | ||
3 | "url": "", | ||
4 | "maintainer": "melonbred", | ||
5 | "width": 13.75, | ||
6 | "height": 4.25, | ||
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.75, "y":0}, | ||
23 | {"x":0, "y":1, "w":1.25}, | ||
24 | {"x":1.25, "y":1}, | ||
25 | {"x":2.25, "y":1}, | ||
26 | {"x":3.25, "y":1}, | ||
27 | {"x":4.25, "y":1}, | ||
28 | {"x":5.25, "y":1}, | ||
29 | {"x":6.25, "y":1}, | ||
30 | {"x":7.25, "y":1}, | ||
31 | {"x":8.25, "y":1}, | ||
32 | {"x":9.25, "y":1}, | ||
33 | {"x":10.25, "y":1, "w":1.75}, | ||
34 | {"x":12.75, "y":1}, | ||
35 | {"x":0, "y":2, "w":1.75}, | ||
36 | {"x":1.75, "y":2}, | ||
37 | {"x":2.75, "y":2}, | ||
38 | {"x":3.75, "y":2}, | ||
39 | {"x":4.75, "y":2}, | ||
40 | {"x":5.75, "y":2}, | ||
41 | {"x":6.75, "y":2}, | ||
42 | {"x":7.75, "y":2}, | ||
43 | {"x":8.75, "y":2}, | ||
44 | {"x":9.75, "y":2, "w":1.25}, | ||
45 | {"x":12.75, "y":2}, | ||
46 | {"x":11.25, "y":2.25}, | ||
47 | {"x":0, "y":3, "w":1.25}, | ||
48 | {"x":1.25, "y":3, "w":1.25}, | ||
49 | {"x":2.5, "y":3, "w":6.25}, | ||
50 | {"x":8.75, "y":3, "w":1.25}, | ||
51 | {"x":10.25, "y":3.25}, | ||
52 | {"x":11.25, "y":3.25}, | ||
53 | {"x":12.25, "y":3.25}] | ||
54 | }, | ||
55 | "LAYOUT_split_bar": { | ||
56 | "layout": [ | ||
57 | {"x":0, "y":0}, | ||
58 | {"x":1, "y":0}, | ||
59 | {"x":2, "y":0}, | ||
60 | {"x":3, "y":0}, | ||
61 | {"x":4, "y":0}, | ||
62 | {"x":5, "y":0}, | ||
63 | {"x":6, "y":0}, | ||
64 | {"x":7, "y":0}, | ||
65 | {"x":8, "y":0}, | ||
66 | {"x":9, "y":0}, | ||
67 | {"x":10, "y":0}, | ||
68 | {"x":11, "y":0}, | ||
69 | {"x":12.75, "y":0}, | ||
70 | {"x":0, "y":1, "w":1.25}, | ||
71 | {"x":1.25, "y":1}, | ||
72 | {"x":2.25, "y":1}, | ||
73 | {"x":3.25, "y":1}, | ||
74 | {"x":4.25, "y":1}, | ||
75 | {"x":5.25, "y":1}, | ||
76 | {"x":6.25, "y":1}, | ||
77 | {"x":7.25, "y":1}, | ||
78 | {"x":8.25, "y":1}, | ||
79 | {"x":9.25, "y":1}, | ||
80 | {"x":10.25, "y":1, "w":1.75}, | ||
81 | {"x":12.75, "y":1}, | ||
82 | {"x":0, "y":2, "w":1.75}, | ||
83 | {"x":1.75, "y":2}, | ||
84 | {"x":2.75, "y":2}, | ||
85 | {"x":3.75, "y":2}, | ||
86 | {"x":4.75, "y":2}, | ||
87 | {"x":5.75, "y":2}, | ||
88 | {"x":6.75, "y":2}, | ||
89 | {"x":7.75, "y":2}, | ||
90 | {"x":8.75, "y":2}, | ||
91 | {"x":9.75, "y":2, "w":1.25}, | ||
92 | {"x":12.75, "y":2}, | ||
93 | {"x":11.25, "y":2.25}, | ||
94 | {"x":0, "y":3}, | ||
95 | {"x":1, "y":3}, | ||
96 | {"x":2, "y":3}, | ||
97 | {"x":3, "y":3, "w":2.75}, | ||
98 | {"x":5.75, "y":3, "w":2.25}, | ||
99 | {"x":8, "y":3}, | ||
100 | {"x":9, "y":3}, | ||
101 | {"x":10.25, "y":3.25}, | ||
102 | {"x":11.25, "y":3.25}, | ||
103 | {"x":12.25, "y":3.25}] | ||
104 | }, | ||
105 | "LAYOUT_ortho": { | ||
106 | "layout": [ | ||
107 | {"x":0, "y":0}, | ||
108 | {"x":1, "y":0}, | ||
109 | {"x":2, "y":0}, | ||
110 | {"x":3, "y":0}, | ||
111 | {"x":4, "y":0}, | ||
112 | {"x":5, "y":0}, | ||
113 | {"x":6, "y":0}, | ||
114 | {"x":7, "y":0}, | ||
115 | {"x":8, "y":0}, | ||
116 | {"x":9, "y":0}, | ||
117 | {"x":10, "y":0}, | ||
118 | {"x":11, "y":0}, | ||
119 | {"x":12.5, "y":0}, | ||
120 | {"x":0, "y":1}, | ||
121 | {"x":1, "y":1}, | ||
122 | {"x":2, "y":1}, | ||
123 | {"x":3, "y":1}, | ||
124 | {"x":4, "y":1}, | ||
125 | {"x":5, "y":1}, | ||
126 | {"x":6, "y":1}, | ||
127 | {"x":7, "y":1}, | ||
128 | {"x":8, "y":1}, | ||
129 | {"x":9, "y":1}, | ||
130 | {"x":10, "y":1}, | ||
131 | {"x":11, "y":1}, | ||
132 | {"x":12.5, "y":1}, | ||
133 | {"x":0, "y":2}, | ||
134 | {"x":1, "y":2}, | ||
135 | {"x":2, "y":2}, | ||
136 | {"x":3, "y":2}, | ||
137 | {"x":4, "y":2}, | ||
138 | {"x":5, "y":2}, | ||
139 | {"x":6, "y":2}, | ||
140 | {"x":7, "y":2}, | ||
141 | {"x":8, "y":2}, | ||
142 | {"x":9, "y":2}, | ||
143 | {"x":10, "y":2}, | ||
144 | {"x":12.5, "y":2}, | ||
145 | {"x":11.25, "y":2.25}, | ||
146 | {"x":0, "y":3}, | ||
147 | {"x":1, "y":3}, | ||
148 | {"x":2, "y":3, "w":7}, | ||
149 | {"x":9, "y":3}, | ||
150 | {"x":10.25, "y":3.25}, | ||
151 | {"x":11.25, "y":3.25}, | ||
152 | {"x":12.25, "y":3.25}] | ||
153 | }, | ||
154 | "LAYOUT_ortho_split": { | ||
155 | "layout": [ | ||
156 | {"x":0, "y":0}, | ||
157 | {"x":1, "y":0}, | ||
158 | {"x":2, "y":0}, | ||
159 | {"x":3, "y":0}, | ||
160 | {"x":4, "y":0}, | ||
161 | {"x":5, "y":0}, | ||
162 | {"x":6, "y":0}, | ||
163 | {"x":7, "y":0}, | ||
164 | {"x":8, "y":0}, | ||
165 | {"x":9, "y":0}, | ||
166 | {"x":10, "y":0}, | ||
167 | {"x":11, "y":0}, | ||
168 | {"x":12.5, "y":0}, | ||
169 | {"x":0, "y":1}, | ||
170 | {"x":1, "y":1}, | ||
171 | {"x":2, "y":1}, | ||
172 | {"x":3, "y":1}, | ||
173 | {"x":4, "y":1}, | ||
174 | {"x":5, "y":1}, | ||
175 | {"x":6, "y":1}, | ||
176 | {"x":7, "y":1}, | ||
177 | {"x":8, "y":1}, | ||
178 | {"x":9, "y":1}, | ||
179 | {"x":10, "y":1}, | ||
180 | {"x":11, "y":1}, | ||
181 | {"x":12.5, "y":1}, | ||
182 | {"x":0, "y":2}, | ||
183 | {"x":1, "y":2}, | ||
184 | {"x":2, "y":2}, | ||
185 | {"x":3, "y":2}, | ||
186 | {"x":4, "y":2}, | ||
187 | {"x":5, "y":2}, | ||
188 | {"x":6, "y":2}, | ||
189 | {"x":7, "y":2}, | ||
190 | {"x":8, "y":2}, | ||
191 | {"x":9, "y":2}, | ||
192 | {"x":10, "y":2}, | ||
193 | {"x":12.75, "y":2}, | ||
194 | {"x":11.25, "y":2.25}, | ||
195 | {"x":0, "y":3}, | ||
196 | {"x":1, "y":3}, | ||
197 | {"x":2, "y":3}, | ||
198 | {"x":3, "y":3, "w":2.75}, | ||
199 | {"x":5.75, "y":3, "w":2.25}, | ||
200 | {"x":8, "y":3}, | ||
201 | {"x":9, "y":3}, | ||
202 | {"x":10.25, "y":3.25}, | ||
203 | {"x":11.25, "y":3.25}, | ||
204 | {"x":12.25, "y":3.25}] | ||
205 | } | ||
206 | } | ||
207 | } | ||
diff --git a/keyboards/program_yoink/keymaps/default/readme.md b/keyboards/program_yoink/keymaps/default/readme.md deleted file mode 100644 index 4e0a314f4..000000000 --- a/keyboards/program_yoink/keymaps/default/readme.md +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | # The default keymap for program_yoink | ||
diff --git a/keyboards/program_yoink/keymaps/ortho_default/readme.md b/keyboards/program_yoink/keymaps/ortho_default/readme.md deleted file mode 100644 index bc7417015..000000000 --- a/keyboards/program_yoink/keymaps/ortho_default/readme.md +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | # The default keymap for ortho program_yoink | ||
diff --git a/keyboards/program_yoink/keymaps/ortho_split/readme.md b/keyboards/program_yoink/keymaps/ortho_split/readme.md deleted file mode 100644 index 0a5899ee4..000000000 --- a/keyboards/program_yoink/keymaps/ortho_split/readme.md +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | # The split space bar keymap for ortho program_yoink | ||
diff --git a/keyboards/program_yoink/keymaps/split_bar/readme.md b/keyboards/program_yoink/keymaps/split_bar/readme.md deleted file mode 100644 index 4e0a314f4..000000000 --- a/keyboards/program_yoink/keymaps/split_bar/readme.md +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | # The default keymap for program_yoink | ||
diff --git a/keyboards/program_yoink/ortho/config.h b/keyboards/program_yoink/ortho/config.h new file mode 100644 index 000000000..7620643f1 --- /dev/null +++ b/keyboards/program_yoink/ortho/config.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* | ||
2 | Copyright 2020 melonbred | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #define PRODUCT_ID 0xF10C | ||
19 | #define PRODUCT Program Yoink! Ortho | ||
diff --git a/keyboards/program_yoink/ortho/info.json b/keyboards/program_yoink/ortho/info.json new file mode 100644 index 000000000..0da81298e --- /dev/null +++ b/keyboards/program_yoink/ortho/info.json | |||
@@ -0,0 +1,118 @@ | |||
1 | { | ||
2 | "keyboard_name": "program_yoink", | ||
3 | "url": "", | ||
4 | "maintainer": "melonbred", | ||
5 | "width": 13.5, | ||
6 | "height": 4.25, | ||
7 | "layouts": { | ||
8 | "LAYOUT_ortho": { | ||
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.5, "y":0}, | ||
23 | |||
24 | {"x":0, "y":1}, | ||
25 | {"x":1, "y":1}, | ||
26 | {"x":2, "y":1}, | ||
27 | {"x":3, "y":1}, | ||
28 | {"x":4, "y":1}, | ||
29 | {"x":5, "y":1}, | ||
30 | {"x":6, "y":1}, | ||
31 | {"x":7, "y":1}, | ||
32 | {"x":8, "y":1}, | ||
33 | {"x":9, "y":1}, | ||
34 | {"x":10, "y":1}, | ||
35 | {"x":11, "y":1}, | ||
36 | {"x":12.5, "y":1}, | ||
37 | |||
38 | {"x":0, "y":2}, | ||
39 | {"x":1, "y":2}, | ||
40 | {"x":2, "y":2}, | ||
41 | {"x":3, "y":2}, | ||
42 | {"x":4, "y":2}, | ||
43 | {"x":5, "y":2}, | ||
44 | {"x":6, "y":2}, | ||
45 | {"x":7, "y":2}, | ||
46 | {"x":8, "y":2}, | ||
47 | {"x":9, "y":2}, | ||
48 | {"x":10, "y":2}, | ||
49 | {"x":11.25, "y":2.25}, | ||
50 | {"x":12.5, "y":2}, | ||
51 | |||
52 | {"x":0, "y":3}, | ||
53 | {"x":1, "y":3}, | ||
54 | {"x":2, "y":3, "w":7}, | ||
55 | {"x":9, "y":3}, | ||
56 | {"x":10.25, "y":3.25}, | ||
57 | {"x":11.25, "y":3.25}, | ||
58 | {"x":12.25, "y":3.25} | ||
59 | ] | ||
60 | }, | ||
61 | "LAYOUT_ortho_split": { | ||
62 | "layout": [ | ||
63 | {"x":0, "y":0}, | ||
64 | {"x":1, "y":0}, | ||
65 | {"x":2, "y":0}, | ||
66 | {"x":3, "y":0}, | ||
67 | {"x":4, "y":0}, | ||
68 | {"x":5, "y":0}, | ||
69 | {"x":6, "y":0}, | ||
70 | {"x":7, "y":0}, | ||
71 | {"x":8, "y":0}, | ||
72 | {"x":9, "y":0}, | ||
73 | {"x":10, "y":0}, | ||
74 | {"x":11, "y":0}, | ||
75 | {"x":12.5, "y":0}, | ||
76 | |||
77 | {"x":0, "y":1}, | ||
78 | {"x":1, "y":1}, | ||
79 | {"x":2, "y":1}, | ||
80 | {"x":3, "y":1}, | ||
81 | {"x":4, "y":1}, | ||
82 | {"x":5, "y":1}, | ||
83 | {"x":6, "y":1}, | ||
84 | {"x":7, "y":1}, | ||
85 | {"x":8, "y":1}, | ||
86 | {"x":9, "y":1}, | ||
87 | {"x":10, "y":1}, | ||
88 | {"x":11, "y":1}, | ||
89 | {"x":12.5, "y":1}, | ||
90 | |||
91 | {"x":0, "y":2}, | ||
92 | {"x":1, "y":2}, | ||
93 | {"x":2, "y":2}, | ||
94 | {"x":3, "y":2}, | ||
95 | {"x":4, "y":2}, | ||
96 | {"x":5, "y":2}, | ||
97 | {"x":6, "y":2}, | ||
98 | {"x":7, "y":2}, | ||
99 | {"x":8, "y":2}, | ||
100 | {"x":9, "y":2}, | ||
101 | {"x":10, "y":2}, | ||
102 | {"x":11.25, "y":2.25}, | ||
103 | {"x":12.5, "y":2}, | ||
104 | |||
105 | {"x":0, "y":3}, | ||
106 | {"x":1, "y":3}, | ||
107 | {"x":2, "y":3}, | ||
108 | {"x":3, "y":3, "w":2.75}, | ||
109 | {"x":5.75, "y":3, "w":2.25}, | ||
110 | {"x":8, "y":3}, | ||
111 | {"x":9, "y":3}, | ||
112 | {"x":10.25, "y":3.25}, | ||
113 | {"x":11.25, "y":3.25}, | ||
114 | {"x":12.25, "y":3.25} | ||
115 | ] | ||
116 | } | ||
117 | } | ||
118 | } | ||
diff --git a/keyboards/program_yoink/keymaps/ortho_default/config.h b/keyboards/program_yoink/ortho/keymaps/default/config.h index ea7075aec..ea7075aec 100644 --- a/keyboards/program_yoink/keymaps/ortho_default/config.h +++ b/keyboards/program_yoink/ortho/keymaps/default/config.h | |||
diff --git a/keyboards/program_yoink/keymaps/ortho_default/keymap.c b/keyboards/program_yoink/ortho/keymaps/default/keymap.c index 6f20f22dd..6f20f22dd 100644 --- a/keyboards/program_yoink/keymaps/ortho_default/keymap.c +++ b/keyboards/program_yoink/ortho/keymaps/default/keymap.c | |||
diff --git a/keyboards/program_yoink/ortho/keymaps/default/readme.md b/keyboards/program_yoink/ortho/keymaps/default/readme.md new file mode 100644 index 000000000..7598e7886 --- /dev/null +++ b/keyboards/program_yoink/ortho/keymaps/default/readme.md | |||
@@ -0,0 +1 @@ | |||
# The default keymap for the Program Yoink! Ortho | |||
diff --git a/keyboards/program_yoink/keymaps/default/rules.mk b/keyboards/program_yoink/ortho/keymaps/default/rules.mk index ab1e43818..ab1e43818 100644 --- a/keyboards/program_yoink/keymaps/default/rules.mk +++ b/keyboards/program_yoink/ortho/keymaps/default/rules.mk | |||
diff --git a/keyboards/program_yoink/keymaps/ortho_split/config.h b/keyboards/program_yoink/ortho/keymaps/ortho_split/config.h index ea7075aec..ea7075aec 100644 --- a/keyboards/program_yoink/keymaps/ortho_split/config.h +++ b/keyboards/program_yoink/ortho/keymaps/ortho_split/config.h | |||
diff --git a/keyboards/program_yoink/keymaps/ortho_split/keymap.c b/keyboards/program_yoink/ortho/keymaps/ortho_split/keymap.c index 6217124bf..6217124bf 100644 --- a/keyboards/program_yoink/keymaps/ortho_split/keymap.c +++ b/keyboards/program_yoink/ortho/keymaps/ortho_split/keymap.c | |||
diff --git a/keyboards/program_yoink/ortho/keymaps/ortho_split/readme.md b/keyboards/program_yoink/ortho/keymaps/ortho_split/readme.md new file mode 100644 index 000000000..36a1385a3 --- /dev/null +++ b/keyboards/program_yoink/ortho/keymaps/ortho_split/readme.md | |||
@@ -0,0 +1 @@ | |||
# The split space bar keymap for the Program Yoink! Ortho | |||
diff --git a/keyboards/program_yoink/keymaps/ortho_default/rules.mk b/keyboards/program_yoink/ortho/keymaps/ortho_split/rules.mk index ab1e43818..ab1e43818 100644 --- a/keyboards/program_yoink/keymaps/ortho_default/rules.mk +++ b/keyboards/program_yoink/ortho/keymaps/ortho_split/rules.mk | |||
diff --git a/keyboards/program_yoink/ortho/ortho.c b/keyboards/program_yoink/ortho/ortho.c new file mode 100644 index 000000000..a8e1b732a --- /dev/null +++ b/keyboards/program_yoink/ortho/ortho.c | |||
@@ -0,0 +1,17 @@ | |||
1 | /* Copyright 2020 melonbred | ||
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 "ortho.h" | ||
diff --git a/keyboards/program_yoink/ortho/ortho.h b/keyboards/program_yoink/ortho/ortho.h new file mode 100644 index 000000000..c906d2e24 --- /dev/null +++ b/keyboards/program_yoink/ortho/ortho.h | |||
@@ -0,0 +1,55 @@ | |||
1 | /* Copyright 2020 melonbred | ||
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 "program_yoink.h" | ||
20 | |||
21 | /* This is a shortcut to help you visually see your layout. | ||
22 | * | ||
23 | * The first section contains all of the arguments representing the physical | ||
24 | * layout of the board and position of the keys. | ||
25 | * | ||
26 | * The second converts the arguments into a two-dimensional array which | ||
27 | * represents the switch matrix. | ||
28 | */ | ||
29 | #define XXX KC_NO | ||
30 | |||
31 | #define LAYOUT_ortho( \ | ||
32 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ | ||
33 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ | ||
34 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | ||
35 | K30, K31, K35, K39, K3A, K3B, K3C \ | ||
36 | ) \ | ||
37 | { \ | ||
38 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ | ||
39 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \ | ||
40 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \ | ||
41 | { K30, K31, XXX, XXX, XXX, K35, XXX, XXX, XXX, K39, K3A, K3B, K3C } \ | ||
42 | } | ||
43 | |||
44 | #define LAYOUT_ortho_split( \ | ||
45 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ | ||
46 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ | ||
47 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | ||
48 | K30, K31, K32, K34, K36, K38, K39, K3A, K3B, K3C \ | ||
49 | ) \ | ||
50 | { \ | ||
51 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ | ||
52 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \ | ||
53 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \ | ||
54 | { K30, K31, K32, XXX, K34, XXX, K36, XXX, K38, K39, K3A, K3B, K3C } \ | ||
55 | } | ||
diff --git a/keyboards/program_yoink/ortho/readme.md b/keyboards/program_yoink/ortho/readme.md new file mode 100644 index 000000000..c77154db6 --- /dev/null +++ b/keyboards/program_yoink/ortho/readme.md | |||
@@ -0,0 +1,18 @@ | |||
1 | # Program Yoink! Ortho | ||
2 | |||
3 | Program Yoink is a 12u main cluster board accompanied by a macro column with optional encoder support and arrow keys. | ||
4 | |||
5 | * Keyboard Maintainer: [melonbred](https://github.com/melonbred) | ||
6 | * Hardware Supported: Program Yoink! Ortho PCB (ATmega32u2) | ||
7 | * Hardware Availability: [P3D Store](https://p3dstore.com/products/yoink-gb) | ||
8 | |||
9 | Make example for this keyboard (after setting up your build environment): | ||
10 | |||
11 | make program_yoink/ortho:default | ||
12 | |||
13 | To reset the board into bootloader mode, do one of the following: | ||
14 | |||
15 | * Tap the Reset switch mounted on the bottom side of the PCB | ||
16 | * Hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings) | ||
17 | |||
18 | See 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/program_yoink/ortho/rules.mk b/keyboards/program_yoink/ortho/rules.mk new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/keyboards/program_yoink/ortho/rules.mk | |||
diff --git a/keyboards/program_yoink/program_yoink.c b/keyboards/program_yoink/program_yoink.c index e549c98e9..a974d7f6f 100644 --- a/keyboards/program_yoink/program_yoink.c +++ b/keyboards/program_yoink/program_yoink.c | |||
@@ -15,3 +15,14 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include "program_yoink.h" | 17 | #include "program_yoink.h" |
18 | |||
19 | __attribute__ ((weak)) | ||
20 | void encoder_update_user(uint8_t index, bool clockwise) { | ||
21 | if (index == 0) { | ||
22 | if (clockwise) { | ||
23 | tap_code(KC_VOLU); | ||
24 | } else { | ||
25 | tap_code(KC_VOLD); | ||
26 | } | ||
27 | } | ||
28 | } | ||
diff --git a/keyboards/program_yoink/program_yoink.h b/keyboards/program_yoink/program_yoink.h index 5aca12c26..d6a1d33b5 100644 --- a/keyboards/program_yoink/program_yoink.h +++ b/keyboards/program_yoink/program_yoink.h | |||
@@ -18,67 +18,8 @@ | |||
18 | 18 | ||
19 | #include "quantum.h" | 19 | #include "quantum.h" |
20 | 20 | ||
21 | /* This is a shortcut to help you visually see your layout. | 21 | #if defined(KEYBOARD_program_yoink_staggered) |
22 | * | 22 | #include "staggered.h" |
23 | * The first section contains all of the arguments representing the physical | 23 | #elif defined(KEYBOARD_program_yoink_ortho) |
24 | * layout of the board and position of the keys. | 24 | #include "ortho.h" |
25 | * | 25 | #endif |
26 | * The second converts the arguments into a two-dimensional array which | ||
27 | * represents the switch matrix. | ||
28 | */ | ||
29 | #define XXX KC_NO | ||
30 | |||
31 | #define LAYOUT_default( \ | ||
32 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ | ||
33 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1C, \ | ||
34 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2C, \ | ||
35 | K30, K31, K34, K38, K39, K3A, K3C \ | ||
36 | ) \ | ||
37 | { \ | ||
38 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ | ||
39 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, XXX, K1C }, \ | ||
40 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, XXX, K2C }, \ | ||
41 | { K30, K31, XXX, XXX, K34, XXX, XXX, XXX, K38, K39, K3A, XXX, K3C } \ | ||
42 | } | ||
43 | |||
44 | #define LAYOUT_split_bar( \ | ||
45 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ | ||
46 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1C, \ | ||
47 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2C, \ | ||
48 | K30, K31, K32, K33, K35, K37, K38, K39, K3A, K3C \ | ||
49 | ) \ | ||
50 | { \ | ||
51 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ | ||
52 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, XXX, K1C }, \ | ||
53 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, XXX, K2C }, \ | ||
54 | { K30, K31, K32, K33, XXX, K35, XXX, K37, K38, K39, K3A, XXX, K3C } \ | ||
55 | } | ||
56 | |||
57 | #define LAYOUT_ortho( \ | ||
58 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ | ||
59 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ | ||
60 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | ||
61 | K30, K31, K35, K39, K3A, K3B, K3C \ | ||
62 | ) \ | ||
63 | { \ | ||
64 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ | ||
65 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \ | ||
66 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \ | ||
67 | { K30, K31, XXX, XXX, XXX, K35, XXX, XXX, XXX, K39, K3A, K3B, K3C } \ | ||
68 | } | ||
69 | |||
70 | #define LAYOUT_ortho_split( \ | ||
71 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ | ||
72 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ | ||
73 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | ||
74 | K30, K31, K32, K34, K36, K38, K39, K3A, K3B, K3C \ | ||
75 | ) \ | ||
76 | { \ | ||
77 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ | ||
78 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \ | ||
79 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \ | ||
80 | { K30, K31, K32, XXX, K34, XXX, K36, XXX, K38, K39, K3A, K3B, K3C } \ | ||
81 | } | ||
82 | |||
83 | |||
84 | |||
diff --git a/keyboards/program_yoink/readme.md b/keyboards/program_yoink/readme.md index 6fa3bf4f7..4a1a867ec 100644 --- a/keyboards/program_yoink/readme.md +++ b/keyboards/program_yoink/readme.md | |||
@@ -1,15 +1,21 @@ | |||
1 | # program_yoink | 1 | # Program Yoink! |
2 | 2 | ||
3 |  | 3 |  |
4 | 4 | ||
5 | Program Yoink is a 12u main cluster board accompanied by a macro column with optional encoder support and arrow keys. | 5 | Program Yoink is a 12u main cluster board accompanied by a macro column with optional encoder support and arrow keys. |
6 | 6 | ||
7 | * Keyboard Maintainer: [melonbred](https://github.com/yourusername) | 7 | * Keyboard Maintainer: [melonbred](https://github.com/melonbred) |
8 | * Hardware Supported: The PCBs, controllers supported | 8 | * Hardware Supported: [Program Yoink! Staggered](staggered/) and [Ortho](ortho/) PCBs (ATmega32u2) |
9 | * Hardware Availability: Links to where you can find this hardware | 9 | * Hardware Availability: [P3D Store](https://p3dstore.com/products/yoink-gb) |
10 | 10 | ||
11 | Make example for this keyboard (after setting up your build environment): | 11 | Make example for this keyboard (after setting up your build environment): |
12 | 12 | ||
13 | make program_yoink:default | 13 | make program_yoink/staggered:default |
14 | make program_yoink/ortho:default | ||
15 | |||
16 | To reset the board into bootloader mode, do one of the following: | ||
17 | |||
18 | * Tap the Reset switch mounted on the bottom side of the PCB | ||
19 | * Hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings) | ||
14 | 20 | ||
15 | See 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). | 21 | See 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/program_yoink/rules.mk b/keyboards/program_yoink/rules.mk index 4384a0f01..51bb37c86 100644 --- a/keyboards/program_yoink/rules.mk +++ b/keyboards/program_yoink/rules.mk | |||
@@ -7,11 +7,11 @@ BOOTLOADER = atmel-dfu | |||
7 | # Build Options | 7 | # Build Options |
8 | # change yes to no to disable | 8 | # change yes to no to disable |
9 | # | 9 | # |
10 | BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration | 10 | BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration |
11 | MOUSEKEY_ENABLE = yes # Mouse keys | 11 | MOUSEKEY_ENABLE = yes # Mouse keys |
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | 12 | EXTRAKEY_ENABLE = yes # Audio control and System control |
13 | CONSOLE_ENABLE = no # Console for debug | 13 | CONSOLE_ENABLE = no # Console for debug |
14 | COMMAND_ENABLE = no # Commands for debug and configuration | 14 | COMMAND_ENABLE = no # Commands for debug and configuration |
15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | 15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE |
16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | 16 | SLEEP_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 | 17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work |
@@ -20,4 +20,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
20 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | 20 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow |
21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | 21 | BLUETOOTH_ENABLE = no # Enable Bluetooth |
22 | AUDIO_ENABLE = no # Audio output | 22 | AUDIO_ENABLE = no # Audio output |
23 | ENCODER_ENABLE = yes # Enable rotary encoder | 23 | ENCODER_ENABLE = yes # Enable rotary encoder |
24 | |||
25 | DEFAULT_FOLDER = program_yoink/staggered | ||
diff --git a/keyboards/program_yoink/staggered/config.h b/keyboards/program_yoink/staggered/config.h new file mode 100644 index 000000000..a0da03152 --- /dev/null +++ b/keyboards/program_yoink/staggered/config.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* | ||
2 | Copyright 2020 melonbred | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #define PRODUCT_ID 0xF10B | ||
19 | #define PRODUCT Program Yoink! Staggered | ||
diff --git a/keyboards/program_yoink/staggered/info.json b/keyboards/program_yoink/staggered/info.json new file mode 100644 index 000000000..4e5eb2159 --- /dev/null +++ b/keyboards/program_yoink/staggered/info.json | |||
@@ -0,0 +1,114 @@ | |||
1 | { | ||
2 | "keyboard_name": "program_yoink", | ||
3 | "url": "", | ||
4 | "maintainer": "melonbred", | ||
5 | "width": 13.5, | ||
6 | "height": 4.25, | ||
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.5, "y":0}, | ||
23 | |||
24 | {"x":0, "y":1, "w":1.25}, | ||
25 | {"x":1.25, "y":1}, | ||
26 | {"x":2.25, "y":1}, | ||
27 | {"x":3.25, "y":1}, | ||
28 | {"x":4.25, "y":1}, | ||
29 | {"x":5.25, "y":1}, | ||
30 | {"x":6.25, "y":1}, | ||
31 | {"x":7.25, "y":1}, | ||
32 | {"x":8.25, "y":1}, | ||
33 | {"x":9.25, "y":1}, | ||
34 | {"x":10.25, "y":1, "w":1.75}, | ||
35 | {"x":12.5, "y":1}, | ||
36 | |||
37 | {"x":0, "y":2, "w":1.75}, | ||
38 | {"x":1.75, "y":2}, | ||
39 | {"x":2.75, "y":2}, | ||
40 | {"x":3.75, "y":2}, | ||
41 | {"x":4.75, "y":2}, | ||
42 | {"x":5.75, "y":2}, | ||
43 | {"x":6.75, "y":2}, | ||
44 | {"x":7.75, "y":2}, | ||
45 | {"x":8.75, "y":2}, | ||
46 | {"x":9.75, "y":2, "w":1.25}, | ||
47 | {"x":11.25, "y":2.25}, | ||
48 | {"x":12.5, "y":2}, | ||
49 | |||
50 | {"x":0, "y":3, "w":1.25}, | ||
51 | {"x":1.25, "y":3, "w":1.25}, | ||
52 | {"x":2.5, "y":3, "w":6.25}, | ||
53 | {"x":8.75, "y":3, "w":1.25}, | ||
54 | {"x":10.25, "y":3.25}, | ||
55 | {"x":11.25, "y":3.25}, | ||
56 | {"x":12.25, "y":3.25} | ||
57 | ] | ||
58 | }, | ||
59 | "LAYOUT_split_bar": { | ||
60 | "layout": [ | ||
61 | {"x":0, "y":0}, | ||
62 | {"x":1, "y":0}, | ||
63 | {"x":2, "y":0}, | ||
64 | {"x":3, "y":0}, | ||
65 | {"x":4, "y":0}, | ||
66 | {"x":5, "y":0}, | ||
67 | {"x":6, "y":0}, | ||
68 | {"x":7, "y":0}, | ||
69 | {"x":8, "y":0}, | ||
70 | {"x":9, "y":0}, | ||
71 | {"x":10, "y":0}, | ||
72 | {"x":11, "y":0}, | ||
73 | {"x":12.5, "y":0}, | ||
74 | |||
75 | {"x":0, "y":1, "w":1.25}, | ||
76 | {"x":1.25, "y":1}, | ||
77 | {"x":2.25, "y":1}, | ||
78 | {"x":3.25, "y":1}, | ||
79 | {"x":4.25, "y":1}, | ||
80 | {"x":5.25, "y":1}, | ||
81 | {"x":6.25, "y":1}, | ||
82 | {"x":7.25, "y":1}, | ||
83 | {"x":8.25, "y":1}, | ||
84 | {"x":9.25, "y":1}, | ||
85 | {"x":10.25, "y":1, "w":1.75}, | ||
86 | {"x":12.5, "y":1}, | ||
87 | |||
88 | {"x":0, "y":2, "w":1.75}, | ||
89 | {"x":1.75, "y":2}, | ||
90 | {"x":2.75, "y":2}, | ||
91 | {"x":3.75, "y":2}, | ||
92 | {"x":4.75, "y":2}, | ||
93 | {"x":5.75, "y":2}, | ||
94 | {"x":6.75, "y":2}, | ||
95 | {"x":7.75, "y":2}, | ||
96 | {"x":8.75, "y":2}, | ||
97 | {"x":9.75, "y":2, "w":1.25}, | ||
98 | {"x":11.25, "y":2.25}, | ||
99 | {"x":12.5, "y":2}, | ||
100 | |||
101 | {"x":0, "y":3}, | ||
102 | {"x":1, "y":3}, | ||
103 | {"x":2, "y":3}, | ||
104 | {"x":3, "y":3, "w":2.75}, | ||
105 | {"x":5.75, "y":3, "w":2.25}, | ||
106 | {"x":8, "y":3}, | ||
107 | {"x":9, "y":3}, | ||
108 | {"x":10.25, "y":3.25}, | ||
109 | {"x":11.25, "y":3.25}, | ||
110 | {"x":12.25, "y":3.25} | ||
111 | ] | ||
112 | } | ||
113 | } | ||
114 | } | ||
diff --git a/keyboards/program_yoink/keymaps/default/config.h b/keyboards/program_yoink/staggered/keymaps/default/config.h index c4b4470e9..c4b4470e9 100644 --- a/keyboards/program_yoink/keymaps/default/config.h +++ b/keyboards/program_yoink/staggered/keymaps/default/config.h | |||
diff --git a/keyboards/program_yoink/keymaps/default/keymap.c b/keyboards/program_yoink/staggered/keymaps/default/keymap.c index 5aa0c95e6..5aa0c95e6 100644 --- a/keyboards/program_yoink/keymaps/default/keymap.c +++ b/keyboards/program_yoink/staggered/keymaps/default/keymap.c | |||
diff --git a/keyboards/program_yoink/staggered/keymaps/default/readme.md b/keyboards/program_yoink/staggered/keymaps/default/readme.md new file mode 100644 index 000000000..b225f4bed --- /dev/null +++ b/keyboards/program_yoink/staggered/keymaps/default/readme.md | |||
@@ -0,0 +1 @@ | |||
# The default keymap for the Program Yoink! Staggered | |||
diff --git a/keyboards/program_yoink/keymaps/ortho_split/rules.mk b/keyboards/program_yoink/staggered/keymaps/default/rules.mk index ab1e43818..ab1e43818 100644 --- a/keyboards/program_yoink/keymaps/ortho_split/rules.mk +++ b/keyboards/program_yoink/staggered/keymaps/default/rules.mk | |||
diff --git a/keyboards/program_yoink/keymaps/split_bar/config.h b/keyboards/program_yoink/staggered/keymaps/split_bar/config.h index 842b3b801..842b3b801 100644 --- a/keyboards/program_yoink/keymaps/split_bar/config.h +++ b/keyboards/program_yoink/staggered/keymaps/split_bar/config.h | |||
diff --git a/keyboards/program_yoink/keymaps/split_bar/keymap.c b/keyboards/program_yoink/staggered/keymaps/split_bar/keymap.c index 89865dad3..89865dad3 100644 --- a/keyboards/program_yoink/keymaps/split_bar/keymap.c +++ b/keyboards/program_yoink/staggered/keymaps/split_bar/keymap.c | |||
diff --git a/keyboards/program_yoink/staggered/keymaps/split_bar/readme.md b/keyboards/program_yoink/staggered/keymaps/split_bar/readme.md new file mode 100644 index 000000000..db383d07a --- /dev/null +++ b/keyboards/program_yoink/staggered/keymaps/split_bar/readme.md | |||
@@ -0,0 +1 @@ | |||
# The split space bar keymap for the Program Yoink! Staggered | |||
diff --git a/keyboards/program_yoink/keymaps/split_bar/rules.mk b/keyboards/program_yoink/staggered/keymaps/split_bar/rules.mk index ab1e43818..ab1e43818 100644 --- a/keyboards/program_yoink/keymaps/split_bar/rules.mk +++ b/keyboards/program_yoink/staggered/keymaps/split_bar/rules.mk | |||
diff --git a/keyboards/program_yoink/staggered/readme.md b/keyboards/program_yoink/staggered/readme.md new file mode 100644 index 000000000..1a1b7bb49 --- /dev/null +++ b/keyboards/program_yoink/staggered/readme.md | |||
@@ -0,0 +1,20 @@ | |||
1 | # Program Yoink! Staggered | ||
2 | |||
3 |  | ||
4 | |||
5 | Program Yoink is a 12u main cluster board accompanied by a macro column with optional encoder support and arrow keys. | ||
6 | |||
7 | * Keyboard Maintainer: [melonbred](https://github.com/melonbred) | ||
8 | * Hardware Supported: Program Yoink! Staggered PCB (ATmega32u2) | ||
9 | * Hardware Availability: [P3D Store](https://p3dstore.com/products/yoink-gb) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make program_yoink/staggered:default | ||
14 | |||
15 | To reset the board into bootloader mode, do one of the following: | ||
16 | |||
17 | * Tap the Reset switch mounted on the bottom side of the PCB | ||
18 | * Hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings) | ||
19 | |||
20 | See 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/program_yoink/staggered/rules.mk b/keyboards/program_yoink/staggered/rules.mk new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/keyboards/program_yoink/staggered/rules.mk | |||
diff --git a/keyboards/program_yoink/staggered/staggered.c b/keyboards/program_yoink/staggered/staggered.c new file mode 100644 index 000000000..1bdb4a216 --- /dev/null +++ b/keyboards/program_yoink/staggered/staggered.c | |||
@@ -0,0 +1,17 @@ | |||
1 | /* Copyright 2020 melonbred | ||
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 "staggered.h" | ||
diff --git a/keyboards/program_yoink/staggered/staggered.h b/keyboards/program_yoink/staggered/staggered.h new file mode 100644 index 000000000..1b35e28da --- /dev/null +++ b/keyboards/program_yoink/staggered/staggered.h | |||
@@ -0,0 +1,55 @@ | |||
1 | /* Copyright 2020 melonbred | ||
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 "program_yoink.h" | ||
20 | |||
21 | /* This is a shortcut to help you visually see your layout. | ||
22 | * | ||
23 | * The first section contains all of the arguments representing the physical | ||
24 | * layout of the board and position of the keys. | ||
25 | * | ||
26 | * The second converts the arguments into a two-dimensional array which | ||
27 | * represents the switch matrix. | ||
28 | */ | ||
29 | #define XXX KC_NO | ||
30 | |||
31 | #define LAYOUT_default( \ | ||
32 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ | ||
33 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1C, \ | ||
34 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2C, \ | ||
35 | K30, K31, K34, K38, K39, K3A, K3C \ | ||
36 | ) \ | ||
37 | { \ | ||
38 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ | ||
39 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, XXX, K1C }, \ | ||
40 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, XXX, K2C }, \ | ||
41 | { K30, K31, XXX, XXX, K34, XXX, XXX, XXX, K38, K39, K3A, XXX, K3C } \ | ||
42 | } | ||
43 | |||
44 | #define LAYOUT_split_bar( \ | ||
45 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ | ||
46 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1C, \ | ||
47 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2C, \ | ||
48 | K30, K31, K32, K33, K35, K37, K38, K39, K3A, K3C \ | ||
49 | ) \ | ||
50 | { \ | ||
51 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ | ||
52 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, XXX, K1C }, \ | ||
53 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, XXX, K2C }, \ | ||
54 | { K30, K31, K32, K33, XXX, K35, XXX, K37, K38, K39, K3A, XXX, K3C } \ | ||
55 | } | ||