aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/handwired/swiftrax/walter/config.h51
-rw-r--r--keyboards/handwired/swiftrax/walter/info.json317
-rw-r--r--keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c42
-rw-r--r--keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c57
-rw-r--r--keyboards/handwired/swiftrax/walter/keymaps/via/rules.mk1
-rw-r--r--keyboards/handwired/swiftrax/walter/readme.md13
-rw-r--r--keyboards/handwired/swiftrax/walter/rules.mk23
-rw-r--r--keyboards/handwired/swiftrax/walter/walter.c17
-rw-r--r--keyboards/handwired/swiftrax/walter/walter.h78
9 files changed, 599 insertions, 0 deletions
diff --git a/keyboards/handwired/swiftrax/walter/config.h b/keyboards/handwired/swiftrax/walter/config.h
new file mode 100644
index 000000000..8cf2d0d83
--- /dev/null
+++ b/keyboards/handwired/swiftrax/walter/config.h
@@ -0,0 +1,51 @@
1/*
2Copyright 2021 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x04D8
24#define PRODUCT_ID 0xE964
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Swiftrax
27#define PRODUCT Walter
28/* key matrix size */
29#define MATRIX_ROWS 5
30#define MATRIX_COLS 16
31
32// ROWS: Top to bottom, COLS: Left to right
33
34#define MATRIX_ROW_PINS { B2, B1, F4, F1, F0 }
35#define MATRIX_COL_PINS { F5, C6, F6, F7, C7, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
36
37/* COL2ROW or ROW2COL */
38#define DIODE_DIRECTION COL2ROW
39
40/* define if matrix has ghost */
41//#define MATRIX_HAS_GHOST
42
43/* Set 0 if debouncing isn't needed */
44#define DEBOUNCE 5
45
46#define ENCODERS_PAD_A { B3 }
47#define ENCODERS_PAD_B { B7 }
48
49#define RGB_DI_PIN E6
50#define RGBLED_NUM 24
51#define RGBLIGHT_ANIMATIONS \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/walter/info.json b/keyboards/handwired/swiftrax/walter/info.json
new file mode 100644
index 000000000..b13fbcc86
--- /dev/null
+++ b/keyboards/handwired/swiftrax/walter/info.json
@@ -0,0 +1,317 @@
1{
2 "keyboard_name": "walter",
3 "url": "https://github.com/swiftrax",
4 "maintainer": "swiftrax",
5 "width": 16,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_65_ansi": {
9 "layout": [
10 {"label": "r1_01", "x": 0, "y": 0},
11 {"label": "r1_02", "x": 1, "y": 0},
12 {"label": "r1_03", "x": 2, "y": 0},
13 {"label": "r1_04", "x": 3, "y": 0},
14 {"label": "r1_05", "x": 4, "y": 0},
15 {"label": "r1_06", "x": 5, "y": 0},
16 {"label": "r1_07", "x": 6, "y": 0},
17 {"label": "r1_08", "x": 7, "y": 0},
18 {"label": "r1_09", "x": 8, "y": 0},
19 {"label": "r1_10", "x": 9, "y": 0},
20 {"label": "r1_11", "x": 10, "y": 0},
21 {"label": "r1_12", "x": 11, "y": 0},
22 {"label": "r1_13", "x": 12, "y": 0},
23 {"label": "r1_14", "x": 13, "y": 0, "w":2},
24 {"label": "r1_15", "x": 15, "y": 0},
25
26 {"label": "r2_01", "x": 0, "y": 1, "w": 1.5},
27 {"label": "r2_02", "x": 1.5, "y": 1},
28 {"label": "r2_03", "x": 2.5, "y": 1},
29 {"label": "r2_04", "x": 3.5, "y": 1},
30 {"label": "r2_05", "x": 4.5, "y": 1},
31 {"label": "r2_06", "x": 5.5, "y": 1},
32 {"label": "r2_07", "x": 6.5, "y": 1},
33 {"label": "r2_08", "x": 7.5, "y": 1},
34 {"label": "r2_09", "x": 8.5, "y": 1},
35 {"label": "r2_10", "x": 9.5, "y": 1},
36 {"label": "r2_11", "x": 10.5, "y": 1},
37 {"label": "r2_12", "x": 11.5, "y": 1},
38 {"label": "r2_13", "x": 12.5, "y": 1},
39 {"label": "r2_14", "x": 13.5, "y": 1, "w": 1.5},
40 {"label": "r2_15", "x": 15, "y": 1},
41
42 {"label": "r3_01", "x": 0, "y": 2, "w": 1.75},
43 {"label": "r3_02", "x": 1.75, "y": 2},
44 {"label": "r3_03", "x": 2.75, "y": 2},
45 {"label": "r3_04", "x": 3.75, "y": 2},
46 {"label": "r3_05", "x": 4.75, "y": 2},
47 {"label": "r3_06", "x": 5.75, "y": 2},
48 {"label": "r3_07", "x": 6.75, "y": 2},
49 {"label": "r3_08", "x": 7.75, "y": 2},
50 {"label": "r3_09", "x": 8.75, "y": 2},
51 {"label": "r3_10", "x": 9.75, "y": 2},
52 {"label": "r3_11", "x": 10.75, "y": 2},
53 {"label": "r3_12", "x": 11.75, "y": 2},
54 {"label": "r3_13", "x": 12.75, "y": 2, "w": 2.25},
55 {"label": "r3_14", "x": 15, "y": 2},
56
57 {"label": "r4_01", "x": 0, "y": 3, "w": 2.25},
58 {"label": "r4_02", "x": 2.25, "y": 3},
59 {"label": "r4_03", "x": 3.25, "y": 3},
60 {"label": "r4_04", "x": 4.25, "y": 3},
61 {"label": "r4_05", "x": 5.25, "y": 3},
62 {"label": "r4_06", "x": 6.25, "y": 3},
63 {"label": "r4_07", "x": 7.25, "y": 3},
64 {"label": "r4_08", "x": 8.25, "y": 3},
65 {"label": "r4_09", "x": 9.25, "y": 3},
66 {"label": "r4_10", "x": 10.25, "y": 3},
67 {"label": "r4_11", "x": 11.25, "y": 3},
68 {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75},
69 {"label": "r4_13", "x": 14, "y": 3},
70 {"label": "r4_14", "x": 15, "y": 3},
71
72 {"label": "r5_01", "x": 0, "y": 4, "w": 1.25},
73 {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25},
74 {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25},
75 {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25},
76 {"label": "r5_05", "x": 10, "y": 4, "w": 1.25},
77 {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25},
78 {"label": "r4_07", "x": 13, "y": 4},
79 {"label": "r4_08", "x": 14, "y": 4},
80 {"label": "r4_09", "x": 15, "y": 4}
81 ]
82 },
83 "LAYOUT_65_iso": {
84 "layout": [
85 {"label": "r1_01", "x": 0, "y": 0},
86 {"label": "r1_02", "x": 1, "y": 0},
87 {"label": "r1_03", "x": 2, "y": 0},
88 {"label": "r1_04", "x": 3, "y": 0},
89 {"label": "r1_05", "x": 4, "y": 0},
90 {"label": "r1_06", "x": 5, "y": 0},
91 {"label": "r1_07", "x": 6, "y": 0},
92 {"label": "r1_08", "x": 7, "y": 0},
93 {"label": "r1_09", "x": 8, "y": 0},
94 {"label": "r1_10", "x": 9, "y": 0},
95 {"label": "r1_11", "x": 10, "y": 0},
96 {"label": "r1_12", "x": 11, "y": 0},
97 {"label": "r1_13", "x": 12, "y": 0},
98 {"label": "r1_14", "x": 13, "y": 0, "w":2},
99 {"label": "r1_15", "x": 15, "y": 0},
100
101 {"label": "r2_01", "x": 0, "y": 1, "w": 1.5},
102 {"label": "r2_02", "x": 1.5, "y": 1},
103 {"label": "r2_03", "x": 2.5, "y": 1},
104 {"label": "r2_04", "x": 3.5, "y": 1},
105 {"label": "r2_05", "x": 4.5, "y": 1},
106 {"label": "r2_06", "x": 5.5, "y": 1},
107 {"label": "r2_07", "x": 6.5, "y": 1},
108 {"label": "r2_08", "x": 7.5, "y": 1},
109 {"label": "r2_09", "x": 8.5, "y": 1},
110 {"label": "r2_10", "x": 9.5, "y": 1},
111 {"label": "r2_11", "x": 10.5, "y": 1},
112 {"label": "r2_12", "x": 11.5, "y": 1},
113 {"label": "r2_13", "x": 12.5, "y": 1},
114 {"label": "r2_14", "x": 13.5, "y": 1},
115 {"label": "r2_15", "x": 15, "y": 1},
116
117 {"label": "r3_01", "x": 0, "y": 2, "w": 1.75},
118 {"label": "r3_02", "x": 1.75, "y": 2},
119 {"label": "r3_03", "x": 2.75, "y": 2},
120 {"label": "r3_04", "x": 3.75, "y": 2},
121 {"label": "r3_05", "x": 4.75, "y": 2},
122 {"label": "r3_06", "x": 5.75, "y": 2},
123 {"label": "r3_07", "x": 6.75, "y": 2},
124 {"label": "r3_08", "x": 7.75, "y": 2},
125 {"label": "r3_09", "x": 8.75, "y": 2},
126 {"label": "r3_10", "x": 9.75, "y": 2},
127 {"label": "r3_11", "x": 10.75, "y": 2},
128 {"label": "r3_12", "x": 11.75, "y": 2},
129 {"label": "r3_13", "x": 12.75, "y": 2},
130 {"label": "r3_14", "x": 13.75, "y": 1, "w":1.25, "h":2},
131 {"label": "r3_15", "x": 15, "y": 2},
132
133
134 {"label": "r4_01", "x": 0, "y": 3, "w": 1.25},
135 {"label": "r4_02", "x": 1.25, "y": 3},
136 {"label": "r4_03", "x": 2.25, "y": 3},
137 {"label": "r4_04", "x": 3.25, "y": 3},
138 {"label": "r4_05", "x": 4.25, "y": 3},
139 {"label": "r4_06", "x": 5.25, "y": 3},
140 {"label": "r4_07", "x": 6.25, "y": 3},
141 {"label": "r4_08", "x": 7.25, "y": 3},
142 {"label": "r4_09", "x": 8.25, "y": 3},
143 {"label": "r4_10", "x": 9.25, "y": 3},
144 {"label": "r4_11", "x": 10.25, "y": 3},
145 {"label": "r4_11", "x": 11.25, "y": 3},
146 {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75},
147 {"label": "r4_13", "x": 14, "y": 3},
148 {"label": "r4_14", "x": 15, "y": 3},
149
150 {"label": "r5_01", "x": 0, "y": 4, "w": 1.25},
151 {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25},
152 {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25},
153 {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25},
154 {"label": "r5_05", "x": 10, "y": 4, "w": 1.25},
155 {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25},
156 {"label": "r4_07", "x": 13, "y": 4},
157 {"label": "r4_08", "x": 14, "y": 4},
158 {"label": "r4_09", "x": 15, "y": 4}
159 ]
160 },
161 "LAYOUT_65_ansi_splitbs": {
162 "layout": [
163 {"label": "r1_01", "x": 0, "y": 0},
164 {"label": "r1_02", "x": 1, "y": 0},
165 {"label": "r1_03", "x": 2, "y": 0},
166 {"label": "r1_04", "x": 3, "y": 0},
167 {"label": "r1_05", "x": 4, "y": 0},
168 {"label": "r1_06", "x": 5, "y": 0},
169 {"label": "r1_07", "x": 6, "y": 0},
170 {"label": "r1_08", "x": 7, "y": 0},
171 {"label": "r1_09", "x": 8, "y": 0},
172 {"label": "r1_10", "x": 9, "y": 0},
173 {"label": "r1_11", "x": 10, "y": 0},
174 {"label": "r1_12", "x": 11, "y": 0},
175 {"label": "r1_13", "x": 12, "y": 0},
176 {"label": "r1_14", "x": 13, "y": 0},
177 {"label": "r1_15", "x": 14, "y": 0},
178 {"label": "r1_16", "x": 15, "y": 0},
179
180 {"label": "r2_01", "x": 0, "y": 1, "w": 1.5},
181 {"label": "r2_02", "x": 1.5, "y": 1},
182 {"label": "r2_03", "x": 2.5, "y": 1},
183 {"label": "r2_04", "x": 3.5, "y": 1},
184 {"label": "r2_05", "x": 4.5, "y": 1},
185 {"label": "r2_06", "x": 5.5, "y": 1},
186 {"label": "r2_07", "x": 6.5, "y": 1},
187 {"label": "r2_08", "x": 7.5, "y": 1},
188 {"label": "r2_09", "x": 8.5, "y": 1},
189 {"label": "r2_10", "x": 9.5, "y": 1},
190 {"label": "r2_11", "x": 10.5, "y": 1},
191 {"label": "r2_12", "x": 11.5, "y": 1},
192 {"label": "r2_13", "x": 12.5, "y": 1},
193 {"label": "r2_14", "x": 13.5, "y": 1, "w": 1.5},
194 {"label": "r2_15", "x": 15, "y": 1},
195
196 {"label": "r3_01", "x": 0, "y": 2, "w": 1.75},
197 {"label": "r3_02", "x": 1.75, "y": 2},
198 {"label": "r3_03", "x": 2.75, "y": 2},
199 {"label": "r3_04", "x": 3.75, "y": 2},
200 {"label": "r3_05", "x": 4.75, "y": 2},
201 {"label": "r3_06", "x": 5.75, "y": 2},
202 {"label": "r3_07", "x": 6.75, "y": 2},
203 {"label": "r3_08", "x": 7.75, "y": 2},
204 {"label": "r3_09", "x": 8.75, "y": 2},
205 {"label": "r3_10", "x": 9.75, "y": 2},
206 {"label": "r3_11", "x": 10.75, "y": 2},
207 {"label": "r3_12", "x": 11.75, "y": 2},
208 {"label": "r3_13", "x": 12.75, "y": 2, "w": 2.25},
209 {"label": "r3_14", "x": 15, "y": 2},
210
211 {"label": "r4_01", "x": 0, "y": 3, "w": 2.25},
212 {"label": "r4_02", "x": 2.25, "y": 3},
213 {"label": "r4_03", "x": 3.25, "y": 3},
214 {"label": "r4_04", "x": 4.25, "y": 3},
215 {"label": "r4_05", "x": 5.25, "y": 3},
216 {"label": "r4_06", "x": 6.25, "y": 3},
217 {"label": "r4_07", "x": 7.25, "y": 3},
218 {"label": "r4_08", "x": 8.25, "y": 3},
219 {"label": "r4_09", "x": 9.25, "y": 3},
220 {"label": "r4_10", "x": 10.25, "y": 3},
221 {"label": "r4_11", "x": 11.25, "y": 3},
222 {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75},
223 {"label": "r4_13", "x": 14, "y": 3},
224 {"label": "r4_14", "x": 15, "y": 3},
225
226 {"label": "r5_01", "x": 0, "y": 4, "w": 1.25},
227 {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25},
228 {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25},
229 {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25},
230 {"label": "r5_05", "x": 10, "y": 4, "w": 1.25},
231 {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25},
232 {"label": "r4_07", "x": 13, "y": 4},
233 {"label": "r4_08", "x": 14, "y": 4},
234 {"label": "r4_09", "x": 15, "y": 4}
235 ]
236 },
237 "LAYOUT_65_iso_splitbs": {
238 "layout": [
239 {"label": "r1_01", "x": 0, "y": 0},
240 {"label": "r1_02", "x": 1, "y": 0},
241 {"label": "r1_03", "x": 2, "y": 0},
242 {"label": "r1_04", "x": 3, "y": 0},
243 {"label": "r1_05", "x": 4, "y": 0},
244 {"label": "r1_06", "x": 5, "y": 0},
245 {"label": "r1_07", "x": 6, "y": 0},
246 {"label": "r1_08", "x": 7, "y": 0},
247 {"label": "r1_09", "x": 8, "y": 0},
248 {"label": "r1_10", "x": 9, "y": 0},
249 {"label": "r1_11", "x": 10, "y": 0},
250 {"label": "r1_12", "x": 11, "y": 0},
251 {"label": "r1_13", "x": 12, "y": 0},
252 {"label": "r1_14", "x": 13, "y": 0},
253 {"label": "r1_15", "x": 14, "y": 0},
254 {"label": "r1_16", "x": 15, "y": 0},
255
256 {"label": "r2_01", "x": 0, "y": 1, "w": 1.5},
257 {"label": "r2_02", "x": 1.5, "y": 1},
258 {"label": "r2_03", "x": 2.5, "y": 1},
259 {"label": "r2_04", "x": 3.5, "y": 1},
260 {"label": "r2_05", "x": 4.5, "y": 1},
261 {"label": "r2_06", "x": 5.5, "y": 1},
262 {"label": "r2_07", "x": 6.5, "y": 1},
263 {"label": "r2_08", "x": 7.5, "y": 1},
264 {"label": "r2_09", "x": 8.5, "y": 1},
265 {"label": "r2_10", "x": 9.5, "y": 1},
266 {"label": "r2_11", "x": 10.5, "y": 1},
267 {"label": "r2_12", "x": 11.5, "y": 1},
268 {"label": "r2_13", "x": 12.5, "y": 1},
269 {"label": "r2_14", "x": 13.5, "y": 1},
270 {"label": "r2_15", "x": 15, "y": 1},
271
272 {"label": "r3_01", "x": 0, "y": 2, "w": 1.75},
273 {"label": "r3_02", "x": 1.75, "y": 2},
274 {"label": "r3_03", "x": 2.75, "y": 2},
275 {"label": "r3_04", "x": 3.75, "y": 2},
276 {"label": "r3_05", "x": 4.75, "y": 2},
277 {"label": "r3_06", "x": 5.75, "y": 2},
278 {"label": "r3_07", "x": 6.75, "y": 2},
279 {"label": "r3_08", "x": 7.75, "y": 2},
280 {"label": "r3_09", "x": 8.75, "y": 2},
281 {"label": "r3_10", "x": 9.75, "y": 2},
282 {"label": "r3_11", "x": 10.75, "y": 2},
283 {"label": "r3_12", "x": 11.75, "y": 2},
284 {"label": "r3_13", "x": 12.75, "y": 2},
285 {"label": "r3_14", "x": 13.75, "y": 1, "w":1.25, "h":2},
286 {"label": "r3_15", "x": 15, "y": 2},
287
288
289 {"label": "r4_01", "x": 0, "y": 3, "w": 1.25},
290 {"label": "r4_02", "x": 1.25, "y": 3},
291 {"label": "r4_03", "x": 2.25, "y": 3},
292 {"label": "r4_04", "x": 3.25, "y": 3},
293 {"label": "r4_05", "x": 4.25, "y": 3},
294 {"label": "r4_06", "x": 5.25, "y": 3},
295 {"label": "r4_07", "x": 6.25, "y": 3},
296 {"label": "r4_08", "x": 7.25, "y": 3},
297 {"label": "r4_09", "x": 8.25, "y": 3},
298 {"label": "r4_10", "x": 9.25, "y": 3},
299 {"label": "r4_11", "x": 10.25, "y": 3},
300 {"label": "r4_11", "x": 11.25, "y": 3},
301 {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75},
302 {"label": "r4_13", "x": 14, "y": 3},
303 {"label": "r4_14", "x": 15, "y": 3},
304
305 {"label": "r5_01", "x": 0, "y": 4, "w": 1.25},
306 {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25},
307 {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25},
308 {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25},
309 {"label": "r5_05", "x": 10, "y": 4, "w": 1.25},
310 {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25},
311 {"label": "r4_07", "x": 13, "y": 4},
312 {"label": "r4_08", "x": 14, "y": 4},
313 {"label": "r4_09", "x": 15, "y": 4}
314 ]
315 }
316 }
317} \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c
new file mode 100644
index 000000000..fb35e695e
--- /dev/null
+++ b/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
1/*
2Copyright 2021 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include QMK_KEYBOARD_H
18
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [0] = LAYOUT_65_ansi(
22 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
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_PGUP,
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, KC_PGDN,
25 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
27 ),
28 [1] = LAYOUT_65_ansi(
29 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
30 KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
31 KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
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_PGUP, KC_TRNS,
33 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
34 ),
35 [2] = LAYOUT_65_ansi(
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
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, KC_PGUP, KC_TRNS,
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
41 ),
42};
diff --git a/keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c
new file mode 100644
index 000000000..cfa69d0c8
--- /dev/null
+++ b/keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c
@@ -0,0 +1,57 @@
1/*
2Copyright 2021 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include QMK_KEYBOARD_H
18
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [0] = LAYOUT_65_ansi(
22 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
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_PGUP,
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, KC_PGDN,
25 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
27 ),
28 [1] = LAYOUT_65_ansi(
29 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
30 KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
31 KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
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_PGUP, KC_TRNS,
33 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
34 ),
35 [2] = LAYOUT_65_ansi(
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
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, KC_PGUP, KC_TRNS,
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
41 ),
42 [3] = LAYOUT_65_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, 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, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
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_PGUP, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
48 ),
49};
50
51void encoder_update_user(uint8_t index, bool clockwise) {
52 if (clockwise)
53 tap_code16(KC_VOLU);
54 else
55 tap_code16(KC_VOLD);
56
57} \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/walter/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/walter/keymaps/via/rules.mk
new file mode 100644
index 000000000..036bd6d1c
--- /dev/null
+++ b/keyboards/handwired/swiftrax/walter/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/walter/readme.md b/keyboards/handwired/swiftrax/walter/readme.md
new file mode 100644
index 000000000..e151b44d1
--- /dev/null
+++ b/keyboards/handwired/swiftrax/walter/readme.md
@@ -0,0 +1,13 @@
1# Walter
2
3A 65% keyboard
4
5* Keyboard Maintainer: Swiftrax
6* Hardware Supported: Walter
7* Hardware Availability: https://github.com/swiftrax
8
9Make example for this keyboard (after setting up your build environment):
10
11 make handwired/swiftrax/walter:default
12
13See 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/handwired/swiftrax/walter/rules.mk b/keyboards/handwired/swiftrax/walter/rules.mk
new file mode 100644
index 000000000..89bd1be0a
--- /dev/null
+++ b/keyboards/handwired/swiftrax/walter/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23ENCODER_ENABLE = yes # Rotary Encder
diff --git a/keyboards/handwired/swiftrax/walter/walter.c b/keyboards/handwired/swiftrax/walter/walter.c
new file mode 100644
index 000000000..43d328fa1
--- /dev/null
+++ b/keyboards/handwired/swiftrax/walter/walter.c
@@ -0,0 +1,17 @@
1/*
2Copyright 2021 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include "walter.h"
diff --git a/keyboards/handwired/swiftrax/walter/walter.h b/keyboards/handwired/swiftrax/walter/walter.h
new file mode 100644
index 000000000..e76179786
--- /dev/null
+++ b/keyboards/handwired/swiftrax/walter/walter.h
@@ -0,0 +1,78 @@
1/*
2Copyright 2021 Swiftrax <swiftrax@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#pragma once
18
19#include "quantum.h"
20
21
22 #define LAYOUT_65_ansi( \
23 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
24 K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
25 K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
26 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
27 K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \
28 ) \
29 { \
30 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
31 { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
32 { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,KC_NO,K2F }, \
33 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
34 { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
35 }
36
37 #define LAYOUT_65_iso( \
38 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
39 K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
40 K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
41 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
42 K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \
43 ) \
44 { \
45 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
46 { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1F }, \
47 { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \
48 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
49 { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
50 }
51 #define LAYOUT_65_ansi_splitbs( \
52 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
53 K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
54 K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \
55 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
56 K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \
57 ) \
58 { \
59 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
60 { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
61 { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \
62 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
63 { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
64 }
65#define LAYOUT_65_iso_splitbs( \
66 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
67 K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
68 K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
69 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
70 K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \
71 ) \
72 { \
73 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
74 { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1F }, \
75 { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \
76 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
77 { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
78 }