aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGigahawk <jasperchan515@gmail.com>2021-07-19 17:57:19 -0700
committerGitHub <noreply@github.com>2021-07-19 17:57:19 -0700
commitb994921703190886714a4b2df2a674265e586b59 (patch)
treef5a060e4eef136b653ab3996fcb8b2ecdff9d1c8
parent5753226588fb453657e7c99b7b19beb8d325f0e0 (diff)
downloadqmk_firmware-b994921703190886714a4b2df2a674265e586b59.tar.gz
qmk_firmware-b994921703190886714a4b2df2a674265e586b59.zip
[Keyboard] Split GMMK Pro PCBs into separate revisions (#13570)
Co-authored-by: Drashna Jaelre <drashna@live.com>
-rw-r--r--keyboards/gmmk/pro/ansi/ansi.c241
-rw-r--r--keyboards/gmmk/pro/ansi/ansi.h52
-rw-r--r--keyboards/gmmk/pro/ansi/config.h23
-rw-r--r--keyboards/gmmk/pro/ansi/info.json111
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c (renamed from keyboards/gmmk/pro/keymaps/alexmarmon/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md (renamed from keyboards/gmmk/pro/keymaps/alexmarmon/readme.md)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/default/keymap.c (renamed from keyboards/gmmk/pro/keymaps/default/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h (renamed from keyboards/gmmk/pro/keymaps/jonavin/config.h)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c (renamed from keyboards/gmmk/pro/keymaps/jonavin/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md (renamed from keyboards/gmmk/pro/keymaps/jonavin/readme.md)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk (renamed from keyboards/gmmk/pro/keymaps/jonavin/rules.mk)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/via/keymap.c (renamed from keyboards/gmmk/pro/keymaps/via/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/via/rules.mk (renamed from keyboards/gmmk/pro/keymaps/via/rules.mk)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c (renamed from keyboards/gmmk/pro/keymaps/wholesomeducky/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c (renamed from keyboards/gmmk/pro/keymaps/willwm/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json (renamed from keyboards/gmmk/pro/keymaps/willwm/keymap.json)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md (renamed from keyboards/gmmk/pro/keymaps/willwm/readme.md)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk (renamed from keyboards/gmmk/pro/keymaps/willwm/rules.mk)0
-rw-r--r--keyboards/gmmk/pro/ansi/readme.md (renamed from keyboards/gmmk/pro/readme.md)8
-rw-r--r--keyboards/gmmk/pro/ansi/rules.mk (renamed from keyboards/gmmk/pro/rules.mk)0
-rw-r--r--keyboards/gmmk/pro/config.h25
-rw-r--r--keyboards/gmmk/pro/iso/config.h23
-rw-r--r--keyboards/gmmk/pro/iso/info.json (renamed from keyboards/gmmk/pro/info.json)104
-rw-r--r--keyboards/gmmk/pro/iso/iso.c243
-rw-r--r--keyboards/gmmk/pro/iso/iso.h52
-rw-r--r--keyboards/gmmk/pro/iso/keymaps/default/keymap.c (renamed from keyboards/gmmk/pro/keymaps/iso/keymap.c)4
-rw-r--r--keyboards/gmmk/pro/iso/keymaps/via/keymap.c85
-rw-r--r--keyboards/gmmk/pro/iso/keymaps/via/rules.mk1
-rw-r--r--keyboards/gmmk/pro/iso/readme.md23
-rw-r--r--keyboards/gmmk/pro/iso/rules.mk25
-rw-r--r--keyboards/gmmk/pro/pro.c222
-rw-r--r--keyboards/gmmk/pro/pro.h64
32 files changed, 904 insertions, 402 deletions
diff --git a/keyboards/gmmk/pro/ansi/ansi.c b/keyboards/gmmk/pro/ansi/ansi.c
new file mode 100644
index 000000000..1df3319fd
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/ansi.c
@@ -0,0 +1,241 @@
1/* Copyright 2021 Gigahawk
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 "ansi.h"
18
19#ifdef RGB_MATRIX_ENABLE
20// clang-format off
21led_config_t g_led_config = {{
22 { 4, NO_LED, NO_LED, 95, 65, 79, 5, 28 },
23 { 8, 2, 9, 0, 10, 75, 1, 7 },
24 { 14, 3, 15, NO_LED, 16, 86, 6, 13 },
25 { 20, 18, 21, 23, 22, 94, 12, 19 },
26 { 25, 30, 26, 31, 27, 32, 29, 24 },
27 { 41, 36, 42, 37, 43, 38, 35, 40 },
28 { 46, 89, 47, 34, 48, 72, 78, 45 },
29 { 52, 39, 53, 97, 54, 82, 44, 51 },
30 { 58, 63, 59, 64, NO_LED, 60, 62, 57 },
31 { 11, 90, 55, 17, 33, 49, NO_LED, 69 },
32 { NO_LED, 85, 93, 61, 96, 66, 50, 56 }
33}, {
34 {0, 0}, // 0, ESC, k13
35 {0, 15}, // 1, ~, k16
36 {4, 26}, // 2, Tab, k11
37 {5, 38}, // 3, Caps, k21
38 {9, 49}, // 4, Sh_L, k00
39 {2, 61}, // 5, Ct_L, k06
40 {18, 0}, // 6, F1, k26
41 {14, 15}, // 7, 1, k17
42 {22, 26}, // 8, Q, k10
43 {25, 38}, // 9, A, k12
44 {33, 49}, // 10, Z, k14
45 {20, 61}, // 11, Win_L, k90
46 {33, 0}, // 12, F2, k36
47 {29, 15}, // 13, 2, k27
48 {36, 26}, // 14, W, k20
49 {40, 38}, // 15, S, k22
50 {47, 49}, // 16, X, k24
51 {38, 61}, // 17, Alt_L, k93
52 {47, 0}, // 18, F3, k31
53 {43, 15}, // 19, 3, k37
54 {51, 26}, // 20, E, k30
55 {54, 38}, // 21, D, k32
56 {61, 49}, // 22, C, k34
57 {61, 0}, // 23, F4, k33
58 {58, 15}, // 24, 4, k47
59 {65, 26}, // 25, R, k40
60 {69, 38}, // 26, F, k42
61 {76, 49}, // 27, V, k44
62 {79, 0}, // 28, F5, k07
63 {72, 15}, // 29, 5, k46
64 {79, 26}, // 30, T, k41
65 {83, 38}, // 31, G, k43
66 {90, 49}, // 32, B, k45
67 {92, 61}, // 33, SPACE, k94
68 {94, 0}, // 34, F6, k63
69 {87, 15}, // 35, 6, k56
70 {94, 26}, // 36, Y, k51
71 {98, 38}, // 37, H, k53
72 {105, 49}, // 38, N, k55
73 {108, 0}, // 39, F7, k71
74 {101, 15}, // 40, 7, k57
75 {108, 26}, // 41, U, k50
76 {112, 38}, // 42, J, k52
77 {119, 49}, // 43, M, k54
78 {123, 0}, // 44, F8, k76
79 {116, 15}, // 45, 8, k67
80 {123, 26}, // 46, I, k60
81 {126, 38}, // 47, K, k62
82 {134, 49}, // 48, ,, k64
83 {145, 61}, // 49, Alt_R, k95
84 {141, 0}, // 50, F9, ka6
85 {130, 15}, // 51, 9, k77
86 {137, 26}, // 52, O, k70
87 {141, 38}, // 53, L, k72
88 {148, 49}, // 54, ., k74
89 {159, 61}, // 55, FN, k92
90 {155, 0}, // 56, F10, ka7
91 {145, 15}, // 57, 0, k87
92 {152, 26}, // 58, P, k80
93 {155, 38}, // 59, ;, k82
94 {163, 49}, // 60, ?, k85
95 {170, 0}, // 61, F11, ka3
96 {159, 15}, // 62, -, k86
97 {166, 26}, // 63, [, k81
98 {170, 38}, // 64, ", k83
99 {173, 61}, // 65, Ct_R, k04
100 {184, 0}, // 66, F12, ka5
101 {0, 8}, // 67, LED, l01
102 {224, 8}, // 68, LED, l11
103 {202, 0}, // 69, Prt, k97
104 {0, 15}, // 70, LED, l02
105 {224, 15}, // 71, LED, l12
106 {224, 15}, // 72, Del, k65
107 {0, 21}, // 73, LED, l03
108 {224, 21}, // 74, LED, l13
109 {224, 26}, // 75, PgUp, k15
110 {0, 28}, // 76, LED, l04
111 {224, 28}, // 77, LED, l14
112 {173, 15}, // 78, =, k66
113 {220, 64}, // 79, Right, k05
114 {0, 35}, // 80, LED, l05
115 {224, 35}, // 81, LED, l15
116 {224, 49}, // 82, End, k75
117 {0, 42}, // 83, LED, l06
118 {224, 42}, // 84, LED, l16
119 {195, 15}, // 85, BSpc, ka1
120 {224, 38}, // 86, PgDn, k25
121 {0, 48}, // 87, LED, l07
122 {224, 48}, // 88, LED, l17
123 {181, 26}, // 89, ], k61
124 {182, 49}, // 90, Sh_R, k91
125 {0, 55}, // 91, LED, l08
126 {224, 55}, // 92, LED, l18
127 {199, 26}, // 93, \, ka2
128 {206, 52}, // 94, Up, k35
129 {191, 64}, // 95, Left, k03
130 {193, 38}, // 96, Enter, ka4
131 {206, 64} // 97, Down, k73
132}, {
133 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
134 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
135 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 4, 2, 2, 4, 2, 2,
136 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
137}};
138
139const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
140 {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
141 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
142 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
143 {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
144 {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
145 {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
146 {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
147 {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
148 {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
149 {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
150 {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
151 {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
152 {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
153 {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
154 {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
155 {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
156 {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
157 {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
158 {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
159 {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
160 {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
161 {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
162 {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
163 {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
164 {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
165 {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
166 {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
167 {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
168 {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
169 {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
170 {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
171 {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
172 {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
173 {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
174 {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
175 {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
176 {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
177 {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
178 {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
179 {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
180 {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
181 {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
182 {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
183 {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
184 {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
185 {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
186 {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
187 {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
188 {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
189 {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
190 {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
191 {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
192 {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
193 {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
194 {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
195 {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
196 {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
197 {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
198 {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
199 {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
200 {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
201 {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
202 {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
203 {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
204 {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
205 {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
206
207 {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
208 {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 67, LED, l01
209 {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 68, LED, l11
210 {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 69, Prt, k97
211 {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 70, LED, l02
212 {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 71, LED, l12
213 {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 72, Del, k65
214 {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 73, LED, l03
215 {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 74, LED, l13
216 {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 75, PgUp, k15
217 {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 76, LED, l04
218 {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 77, LED, l14
219 {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 78, =, k66
220 {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 79, Right, k05
221 {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 80, LED, l05
222 {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 81, LED, l15
223 {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 82, End, k75
224 {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 83, LED, l06
225 {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 84, LED, l16
226 {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 85, BSpc, ka1
227 {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 86, PgDn, k25
228 {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 87, LED, l07
229 {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 88, LED, l17
230 {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 89, ], k61
231 {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 90, Sh_R, k91
232 {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 91, LED, l08
233 {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 92, LED, l18
234 {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 93, \, ka2
235 {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
236 {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 95, Left, k03
237 {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 96, Enter, ka4
238 {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 97, Down, k73
239};
240// clang-format on
241#endif
diff --git a/keyboards/gmmk/pro/ansi/ansi.h b/keyboards/gmmk/pro/ansi/ansi.h
new file mode 100644
index 000000000..ab08d6659
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/ansi.h
@@ -0,0 +1,52 @@
1/* Copyright 2021 Gigahawk
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 "pro.h"
20
21#define ___ KC_NO
22
23// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
24// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Del
25// Tab Q W E R T Y U I O P [ ] \ PgUp
26// Caps A S D F G H J K L ; ' Enter PgDn
27// Sh_L Z X C V B N M , . / Sh_R Up End
28// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
29
30// clang-format off
31#define LAYOUT( \
32 k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
33 k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
34 k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, \
35 k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, \
36 k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
37 k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
38) \
39{ \
40 { k00, k01, ___, k03, k04, k05, k06, k07}, \
41 { k10, k11, k12, k13, k14, k15, k16, k17}, \
42 { k20, k21, k22, ___, k24, k25, k26, k27}, \
43 { k30, k31, k32, k33, k34, k35, k36, k37}, \
44 { k40, k41, k42, k43, k44, k45, k46, k47}, \
45 { k50, k51, k52, k53, k54, k55, k56, k57}, \
46 { k60, k61, k62, k63, k64, k65, k66, k67}, \
47 { k70, k71, k72, k73, k74, k75, k76, k77}, \
48 { k80, k81, k82, k83, ___, k85, k86, k87}, \
49 { k90, k91, k92, k93, k94, k95, ___, k97}, \
50 { ___, ka1, ka2, ka3, ka4, ka5, ka6, ka7} \
51}
52// clang-format on
diff --git a/keyboards/gmmk/pro/ansi/config.h b/keyboards/gmmk/pro/ansi/config.h
new file mode 100644
index 000000000..7c68375b2
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/config.h
@@ -0,0 +1,23 @@
1/* Copyright 2021 Gigahawk
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21#define DRIVER_1_LED_TOTAL 66
22#define DRIVER_2_LED_TOTAL 32
23#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/gmmk/pro/ansi/info.json b/keyboards/gmmk/pro/ansi/info.json
new file mode 100644
index 000000000..d3b326a7b
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/info.json
@@ -0,0 +1,111 @@
1{
2 "keyboard_name": "GMMK Pro (ANSI)",
3 "url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
4 "maintainer": "GloriousThrall",
5 "width": 16.5,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11
12 {"x":1.25, "y":0},
13 {"x":2.25, "y":0},
14 {"x":3.25, "y":0},
15 {"x":4.25, "y":0},
16
17 {"x":5.5, "y":0},
18 {"x":6.5, "y":0},
19 {"x":7.5, "y":0},
20 {"x":8.5, "y":0},
21
22 {"x":9.75, "y":0},
23 {"x":10.75, "y":0},
24 {"x":11.75, "y":0},
25 {"x":12.75, "y":0},
26
27 {"x":14, "y":0},
28 {"x":15.5, "y":0},
29
30 {"x":0, "y":1.25},
31 {"x":1, "y":1.25},
32 {"x":2, "y":1.25},
33 {"x":3, "y":1.25},
34 {"x":4, "y":1.25},
35 {"x":5, "y":1.25},
36 {"x":6, "y":1.25},
37 {"x":7, "y":1.25},
38 {"x":8, "y":1.25},
39 {"x":9, "y":1.25},
40 {"x":10, "y":1.25},
41 {"x":11, "y":1.25},
42 {"x":12, "y":1.25},
43 {"x":13, "y":1.25, "w":2},
44
45 {"x":15.5, "y":1.25},
46
47 {"x":0, "y":2.25, "w":1.5},
48 {"x":1.5, "y":2.25},
49 {"x":2.5, "y":2.25},
50 {"x":3.5, "y":2.25},
51 {"x":4.5, "y":2.25},
52 {"x":5.5, "y":2.25},
53 {"x":6.5, "y":2.25},
54 {"x":7.5, "y":2.25},
55 {"x":8.5, "y":2.25},
56 {"x":9.5, "y":2.25},
57 {"x":10.5, "y":2.25},
58 {"x":11.5, "y":2.25},
59 {"x":12.5, "y":2.25},
60 {"x":13.5, "y":2.25, "w":1.5},
61
62 {"x":15.5, "y":2.25},
63
64 {"x":0, "y":3.25, "w":1.75},
65 {"x":1.75, "y":3.25},
66 {"x":2.75, "y":3.25},
67 {"x":3.75, "y":3.25},
68 {"x":4.75, "y":3.25},
69 {"x":5.75, "y":3.25},
70 {"x":6.75, "y":3.25},
71 {"x":7.75, "y":3.25},
72 {"x":8.75, "y":3.25},
73 {"x":9.75, "y":3.25},
74 {"x":10.75, "y":3.25},
75 {"x":11.75, "y":3.25},
76 {"x":12.75, "y":3.25, "w":2.25},
77
78 {"x":15.5, "y":3.25},
79
80 {"x":0, "y":4.25, "w":2.25},
81 {"x":2.25, "y":4.25},
82 {"x":3.25, "y":4.25},
83 {"x":4.25, "y":4.25},
84 {"x":5.25, "y":4.25},
85 {"x":6.25, "y":4.25},
86 {"x":7.25, "y":4.25},
87 {"x":8.25, "y":4.25},
88 {"x":9.25, "y":4.25},
89 {"x":10.25, "y":4.25},
90 {"x":11.25, "y":4.25},
91 {"x":12.25, "y":4.25, "w":1.75},
92
93 {"x":14.25, "y":4.5},
94
95 {"x":15.5, "y":4.25},
96
97 {"x":0, "y":5.25, "w":1.25},
98 {"x":1.25, "y":5.25, "w":1.25},
99 {"x":2.5, "y":5.25, "w":1.25},
100 {"x":3.75, "y":5.25, "w":6.25},
101 {"x":10, "y":5.25},
102 {"x":11, "y":5.25},
103 {"x":12, "y":5.25},
104
105 {"x":13.25, "y":5.5},
106 {"x":14.25, "y":5.5},
107 {"x":15.25, "y":5.5}
108 ]
109 }
110 }
111}
diff --git a/keyboards/gmmk/pro/keymaps/alexmarmon/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c
index 99504de95..99504de95 100644
--- a/keyboards/gmmk/pro/keymaps/alexmarmon/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c
diff --git a/keyboards/gmmk/pro/keymaps/alexmarmon/readme.md b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md
index 36ad42b1a..36ad42b1a 100644
--- a/keyboards/gmmk/pro/keymaps/alexmarmon/readme.md
+++ b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md
diff --git a/keyboards/gmmk/pro/keymaps/default/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c
index b08400cd8..b08400cd8 100644
--- a/keyboards/gmmk/pro/keymaps/default/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c
diff --git a/keyboards/gmmk/pro/keymaps/jonavin/config.h b/keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h
index d7219b257..d7219b257 100644
--- a/keyboards/gmmk/pro/keymaps/jonavin/config.h
+++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h
diff --git a/keyboards/gmmk/pro/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c
index 7289c1dd9..7289c1dd9 100644
--- a/keyboards/gmmk/pro/keymaps/jonavin/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c
diff --git a/keyboards/gmmk/pro/keymaps/jonavin/readme.md b/keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md
index 45bfedb51..45bfedb51 100644
--- a/keyboards/gmmk/pro/keymaps/jonavin/readme.md
+++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md
diff --git a/keyboards/gmmk/pro/keymaps/jonavin/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk
index f4f3d4939..f4f3d4939 100644
--- a/keyboards/gmmk/pro/keymaps/jonavin/rules.mk
+++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk
diff --git a/keyboards/gmmk/pro/keymaps/via/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c
index 940cc1c1f..940cc1c1f 100644
--- a/keyboards/gmmk/pro/keymaps/via/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c
diff --git a/keyboards/gmmk/pro/keymaps/via/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/via/rules.mk
index 1e5b99807..1e5b99807 100644
--- a/keyboards/gmmk/pro/keymaps/via/rules.mk
+++ b/keyboards/gmmk/pro/ansi/keymaps/via/rules.mk
diff --git a/keyboards/gmmk/pro/keymaps/wholesomeducky/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c
index fded53256..fded53256 100644
--- a/keyboards/gmmk/pro/keymaps/wholesomeducky/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c
diff --git a/keyboards/gmmk/pro/keymaps/willwm/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c
index a17f79331..a17f79331 100644
--- a/keyboards/gmmk/pro/keymaps/willwm/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c
diff --git a/keyboards/gmmk/pro/keymaps/willwm/keymap.json b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json
index d2325d2c1..d2325d2c1 100644
--- a/keyboards/gmmk/pro/keymaps/willwm/keymap.json
+++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json
diff --git a/keyboards/gmmk/pro/keymaps/willwm/readme.md b/keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md
index 1c169faac..1c169faac 100644
--- a/keyboards/gmmk/pro/keymaps/willwm/readme.md
+++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md
diff --git a/keyboards/gmmk/pro/keymaps/willwm/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk
index 511b50e19..511b50e19 100644
--- a/keyboards/gmmk/pro/keymaps/willwm/rules.mk
+++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk
diff --git a/keyboards/gmmk/pro/readme.md b/keyboards/gmmk/pro/ansi/readme.md
index 2307a525c..f24887db7 100644
--- a/keyboards/gmmk/pro/readme.md
+++ b/keyboards/gmmk/pro/ansi/readme.md
@@ -1,6 +1,6 @@
1# GMMK PRO 1# GMMK PRO (ANSI)
2 2
3A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM32 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation) 3A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM32 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation)
4 4
5* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall) 5* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
6* Hardware Supported: GMMK Pro 6* Hardware Supported: GMMK Pro
@@ -8,11 +8,11 @@ A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM3
8 8
9Make example for this keyboard (after setting up your build environment): 9Make example for this keyboard (after setting up your build environment):
10 10
11 make gmmk/pro:default 11 make gmmk/pro/ansi:default
12 12
13Flashing example for this keyboard: 13Flashing example for this keyboard:
14 14
15 make gmmk/pro:default:flash 15 make gmmk/pro/ansi:default:flash
16 16
17To reset the board into bootloader mode, do one of the following: 17To reset the board into bootloader mode, do one of the following:
18 18
diff --git a/keyboards/gmmk/pro/rules.mk b/keyboards/gmmk/pro/ansi/rules.mk
index 6221d6408..6221d6408 100644
--- a/keyboards/gmmk/pro/rules.mk
+++ b/keyboards/gmmk/pro/ansi/rules.mk
diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h
index 1bb8d6eef..1934ab780 100644
--- a/keyboards/gmmk/pro/config.h
+++ b/keyboards/gmmk/pro/config.h
@@ -19,18 +19,20 @@
19#include "config_common.h" 19#include "config_common.h"
20 20
21/* USB Device descriptor parameter */ 21/* USB Device descriptor parameter */
22#define DEVICE_VER 0x0001 22#define DEVICE_VER 0x0001
23#define VENDOR_ID 0x320F 23#define VENDOR_ID 0x320F
24#define PRODUCT_ID 0x5044 24#define PRODUCT_ID 0x5044
25#define MANUFACTURER Glorious 25#define MANUFACTURER Glorious
26#define PRODUCT GMMK Pro 26#define PRODUCT GMMK Pro
27 27
28/* key matrix size */ 28/* key matrix size */
29#define MATRIX_ROWS 11 29#define MATRIX_ROWS 11
30#define MATRIX_COLS 8 30#define MATRIX_COLS 8
31 31
32#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 } 32#define MATRIX_ROW_PINS \
33#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A8, A9, A10 } 33 { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 }
34#define MATRIX_COL_PINS \
35 { A0, A1, A2, A3, A4, A8, A9, A10 }
34 36
35/* COL2ROW or ROW2COL */ 37/* COL2ROW or ROW2COL */
36#define DIODE_DIRECTION COL2ROW 38#define DIODE_DIRECTION COL2ROW
@@ -39,8 +41,10 @@
39#define BOOTMAGIC_LITE_COLUMN 3 41#define BOOTMAGIC_LITE_COLUMN 3
40 42
41#define TAP_CODE_DELAY 10 43#define TAP_CODE_DELAY 10
42#define ENCODERS_PAD_A { C15 } 44#define ENCODERS_PAD_A \
43#define ENCODERS_PAD_B { C14 } 45 { C15 }
46#define ENCODERS_PAD_B \
47 { C14 }
44 48
45/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ 49/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
46#define LOCKING_SUPPORT_ENABLE 50#define LOCKING_SUPPORT_ENABLE
@@ -59,9 +63,6 @@
59#define DRIVER_2_EN C13 63#define DRIVER_2_EN C13
60 64
61#define DRIVER_COUNT 2 65#define DRIVER_COUNT 2
62#define DRIVER_1_LED_TOTAL 66
63#define DRIVER_2_LED_TOTAL 32
64#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
65 66
66/* 1000Hz USB polling - it's the default on stock firmware */ 67/* 1000Hz USB polling - it's the default on stock firmware */
67#define USB_POLLING_INTERVAL_MS 1 68#define USB_POLLING_INTERVAL_MS 1
diff --git a/keyboards/gmmk/pro/iso/config.h b/keyboards/gmmk/pro/iso/config.h
new file mode 100644
index 000000000..26626ccfc
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/config.h
@@ -0,0 +1,23 @@
1/* Copyright 2021 Jasper Chan
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21#define DRIVER_1_LED_TOTAL 66
22#define DRIVER_2_LED_TOTAL 33
23#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/gmmk/pro/info.json b/keyboards/gmmk/pro/iso/info.json
index 427e562e3..2d4a22c9a 100644
--- a/keyboards/gmmk/pro/info.json
+++ b/keyboards/gmmk/pro/iso/info.json
@@ -1,5 +1,5 @@
1{ 1{
2 "keyboard_name": "GMMK Pro", 2 "keyboard_name": "GMMK Pro (ISO)",
3 "url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation", 3 "url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
4 "maintainer": "GloriousThrall", 4 "maintainer": "GloriousThrall",
5 "width": 16.5, 5 "width": 16.5,
@@ -7,108 +7,6 @@
7 "layouts": { 7 "layouts": {
8 "LAYOUT": { 8 "LAYOUT": {
9 "layout": [ 9 "layout": [
10 {"x":0, "y":0},
11
12 {"x":1.25, "y":0},
13 {"x":2.25, "y":0},
14 {"x":3.25, "y":0},
15 {"x":4.25, "y":0},
16
17 {"x":5.5, "y":0},
18 {"x":6.5, "y":0},
19 {"x":7.5, "y":0},
20 {"x":8.5, "y":0},
21
22 {"x":9.75, "y":0},
23 {"x":10.75, "y":0},
24 {"x":11.75, "y":0},
25 {"x":12.75, "y":0},
26
27 {"x":14, "y":0},
28 {"x":15.5, "y":0},
29
30 {"x":0, "y":1.25},
31 {"x":1, "y":1.25},
32 {"x":2, "y":1.25},
33 {"x":3, "y":1.25},
34 {"x":4, "y":1.25},
35 {"x":5, "y":1.25},
36 {"x":6, "y":1.25},
37 {"x":7, "y":1.25},
38 {"x":8, "y":1.25},
39 {"x":9, "y":1.25},
40 {"x":10, "y":1.25},
41 {"x":11, "y":1.25},
42 {"x":12, "y":1.25},
43 {"x":13, "y":1.25, "w":2},
44
45 {"x":15.5, "y":1.25},
46
47 {"x":0, "y":2.25, "w":1.5},
48 {"x":1.5, "y":2.25},
49 {"x":2.5, "y":2.25},
50 {"x":3.5, "y":2.25},
51 {"x":4.5, "y":2.25},
52 {"x":5.5, "y":2.25},
53 {"x":6.5, "y":2.25},
54 {"x":7.5, "y":2.25},
55 {"x":8.5, "y":2.25},
56 {"x":9.5, "y":2.25},
57 {"x":10.5, "y":2.25},
58 {"x":11.5, "y":2.25},
59 {"x":12.5, "y":2.25},
60 {"x":13.5, "y":2.25, "w":1.5},
61
62 {"x":15.5, "y":2.25},
63
64 {"x":0, "y":3.25, "w":1.75},
65 {"x":1.75, "y":3.25},
66 {"x":2.75, "y":3.25},
67 {"x":3.75, "y":3.25},
68 {"x":4.75, "y":3.25},
69 {"x":5.75, "y":3.25},
70 {"x":6.75, "y":3.25},
71 {"x":7.75, "y":3.25},
72 {"x":8.75, "y":3.25},
73 {"x":9.75, "y":3.25},
74 {"x":10.75, "y":3.25},
75 {"x":11.75, "y":3.25},
76 {"x":12.75, "y":3.25, "w":2.25},
77
78 {"x":15.5, "y":3.25},
79
80 {"x":0, "y":4.25, "w":2.25},
81 {"x":2.25, "y":4.25},
82 {"x":3.25, "y":4.25},
83 {"x":4.25, "y":4.25},
84 {"x":5.25, "y":4.25},
85 {"x":6.25, "y":4.25},
86 {"x":7.25, "y":4.25},
87 {"x":8.25, "y":4.25},
88 {"x":9.25, "y":4.25},
89 {"x":10.25, "y":4.25},
90 {"x":11.25, "y":4.25},
91 {"x":12.25, "y":4.25, "w":1.75},
92
93 {"x":14.25, "y":4.5},
94
95 {"x":15.5, "y":4.25},
96
97 {"x":0, "y":5.25, "w":1.25},
98 {"x":1.25, "y":5.25, "w":1.25},
99 {"x":2.5, "y":5.25, "w":1.25},
100 {"x":3.75, "y":5.25, "w":6.25},
101 {"x":10, "y":5.25},
102 {"x":11, "y":5.25},
103 {"x":12, "y":5.25},
104
105 {"x":13.25, "y":5.5},
106 {"x":14.25, "y":5.5},
107 {"x":15.25, "y":5.5}
108 ]
109 },
110 "LAYOUT_iso": {
111 "layout": [
112 {"label":"Esc", "x":0, "y":0}, 10 {"label":"Esc", "x":0, "y":0},
113 11
114 {"label":"F1", "x":1.25, "y":0}, 12 {"label":"F1", "x":1.25, "y":0},
diff --git a/keyboards/gmmk/pro/iso/iso.c b/keyboards/gmmk/pro/iso/iso.c
new file mode 100644
index 000000000..fa57f1ca9
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/iso.c
@@ -0,0 +1,243 @@
1/* Copyright 2021 Gigahawk
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 "iso.h"
18
19#ifdef RGB_MATRIX_ENABLE
20// clang-format off
21led_config_t g_led_config = {{
22 { 4, NO_LED, NO_LED, 96, 65, 80, 5, 28 },
23 { 8, 2, 9, 0, 10, 76, 1, 7 },
24 { 14, 3, 15, 67, 16, 87, 6, 13 },
25 { 20, 18, 21, 23, 22, 94, 12, 19 },
26 { 25, 30, 26, 31, 27, 32, 29, 24 },
27 { 41, 36, 42, 37, 43, 38, 35, 40 },
28 { 46, 90, 47, 34, 48, 73, 79, 45 },
29 { 52, 39, 53, 98, 54, 83, 44, 51 },
30 { 58, 63, 59, 64, 95, 60, 62, 57 },
31 { 11, 91, 55, 17, 33, 49, NO_LED, 70 },
32 { NO_LED, 86, NO_LED, 61, 97, 66, 50, 56 }
33}, {
34 {0, 0}, // 0, ESC, k13
35 {0, 15}, // 1, `, k16
36 {4, 26}, // 2, Tab, k11
37 {5, 38}, // 3, Caps, k21
38 {2, 49}, // 4, Sh_L, k00
39 {2, 61}, // 5, Ct_L, k06
40 {18, 0}, // 6, F1, k26
41 {14, 15}, // 7, 1, k17
42 {22, 26}, // 8, Q, k10
43 {25, 38}, // 9, A, k12
44 {33, 49}, // 10, Z, k14
45 {20, 61}, // 11, Win_L, k90
46 {33, 0}, // 12, F2, k36
47 {29, 15}, // 13, 2, k27
48 {36, 26}, // 14, W, k20
49 {40, 38}, // 15, S, k22
50 {47, 49}, // 16, X, k24
51 {38, 61}, // 17, Alt_L, k93
52 {47, 0}, // 18, F3, k31
53 {43, 15}, // 19, 3, k37
54 {51, 26}, // 20, E, k30
55 {54, 38}, // 21, D, k32
56 {61, 49}, // 22, C, k34
57 {61, 0}, // 23, F4, k33
58 {58, 15}, // 24, 4, k47
59 {65, 26}, // 25, R, k40
60 {69, 38}, // 26, F, k42
61 {76, 49}, // 27, V, k44
62 {79, 0}, // 28, F5, k07
63 {72, 15}, // 29, 5, k46
64 {79, 26}, // 30, T, k41
65 {83, 38}, // 31, G, k43
66 {90, 49}, // 32, B, k45
67 {92, 61}, // 33, SPACE, k94
68 {94, 0}, // 34, F6, k63
69 {87, 15}, // 35, 6, k56
70 {94, 26}, // 36, Y, k51
71 {98, 38}, // 37, H, k53
72 {105, 49}, // 38, N, k55
73 {108, 0}, // 39, F7, k71
74 {101, 15}, // 40, 7, k57
75 {108, 26}, // 41, U, k50
76 {112, 38}, // 42, J, k52
77 {119, 49}, // 43, M, k54
78 {123, 0}, // 44, F8, k76
79 {116, 15}, // 45, 8, k67
80 {123, 26}, // 46, I, k60
81 {126, 38}, // 47, K, k62
82 {134, 49}, // 48, ,, k64
83 {145, 61}, // 49, Alt_R, k95
84 {141, 0}, // 50, F9, ka6
85 {130, 15}, // 51, 9, k77
86 {137, 26}, // 52, O, k70
87 {141, 38}, // 53, L, k72
88 {148, 49}, // 54, ., k74
89 {159, 61}, // 55, FN, k92
90 {155, 0}, // 56, F10, ka7
91 {145, 15}, // 57, 0, k87
92 {152, 26}, // 58, P, k80
93 {155, 38}, // 59, ;, k82
94 {163, 49}, // 60, /, k85
95 {170, 0}, // 61, F11, ka3
96 {159, 15}, // 62, -, k86
97 {166, 26}, // 63, [, k81
98 {170, 38}, // 64, ", k83
99 {173, 61}, // 65, Ct_R, k04
100 {184, 0}, // 66, F12, ka5
101 {18, 49}, // 67, \, k23
102 {0, 8}, // 68, LED, l01
103 {224, 8}, // 69, LED, l11
104 {202, 0}, // 70, Prt, k97
105 {0, 15}, // 71, LED, l02
106 {224, 15}, // 72, LED, l12
107 {224, 15}, // 73, Del, k65
108 {0, 21}, // 74, LED, l03
109 {224, 21}, // 75, LED, l13
110 {224, 26}, // 76, PgUp, k15
111 {0, 28}, // 77, LED, l04
112 {224, 28}, // 78, LED, l14
113 {173, 15}, // 79, =, k66
114 {220, 64}, // 80, Right, k05
115 {0, 35}, // 81, LED, l05
116 {224, 35}, // 82, LED, l15
117 {224, 49}, // 83, End, k75
118 {0, 42}, // 84, LED, l06
119 {224, 42}, // 85, LED, l16
120 {195, 15}, // 86, BSpc, ka1
121 {224, 38}, // 87, PgDn, k25
122 {0, 48}, // 88, LED, l07
123 {224, 48}, // 89, LED, l17
124 {181, 26}, // 90, ], k61
125 {182, 49}, // 91, Sh_R, k91
126 {0, 55}, // 92, LED, l08
127 {224, 55}, // 93, LED, l18
128 {206, 52}, // 94, Up, k35
129 {184, 38}, // 95, #, k84
130 {191, 64}, // 96, Left, k03
131 {201, 26}, // 97, Enter, ka4
132 {206, 64}, // 98, Down, k73
133}, {
134 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
135 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
136 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 4, 2, 2, 4, 2,
137 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
138}};
139
140const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
141 {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
142 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
143 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
144 {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
145 {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
146 {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
147 {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
148 {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
149 {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
150 {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
151 {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
152 {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
153 {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
154 {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
155 {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
156 {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
157 {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
158 {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
159 {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
160 {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
161 {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
162 {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
163 {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
164 {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
165 {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
166 {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
167 {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
168 {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
169 {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
170 {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
171 {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
172 {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
173 {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
174 {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
175 {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
176 {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
177 {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
178 {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
179 {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
180 {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
181 {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
182 {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
183 {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
184 {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
185 {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
186 {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
187 {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
188 {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
189 {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
190 {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
191 {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
192 {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
193 {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
194 {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
195 {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
196 {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
197 {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
198 {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
199 {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
200 {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
201 {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
202 {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
203 {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
204 {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
205 {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
206 {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
207
208 {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
209 {1, CS4_SW1, CS5_SW1, CS6_SW1}, // 67, \, k23
210 {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 68, LED, l01
211 {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 69, LED, l11
212 {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 70, Prt, k97
213 {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 71, LED, l02
214 {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 72, LED, l12
215 {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 73, Del, k65
216 {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 74, LED, l03
217 {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 75, LED, l13
218 {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 76, PgUp, k15
219 {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 77, LED, l04
220 {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 78, LED, l14
221 {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 79, =, k66
222 {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 80, Right, k05
223 {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 81, LED, l05
224 {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 82, LED, l15
225 {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 83, End, k75
226 {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 84, LED, l06
227 {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 85, LED, l16
228 {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 86, BSpc, ka1
229 {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 87, PgDn, k25
230 {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 88, LED, l07
231 {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 89, LED, l17
232 {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 90, ], k61
233 {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 91, Sh_R, k91
234 {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 92, LED, l08
235 {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 93, LED, l18
236 {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
237 {1, CS1_SW10, CS2_SW10, CS3_SW10}, // 95, #, k84
238 {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 96, Left, k03
239 {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 97, Enter, ka4
240 {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 98, Down, k73
241};
242// clang-format on
243#endif
diff --git a/keyboards/gmmk/pro/iso/iso.h b/keyboards/gmmk/pro/iso/iso.h
new file mode 100644
index 000000000..353bcbe87
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/iso.h
@@ -0,0 +1,52 @@
1/* Copyright 2021 Gigahawk
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 "pro.h"
20
21#define ___ KC_NO
22
23// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
24// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Del
25// Tab Q W E R T Y U I O P [ ] PgUp
26// Caps A S D F G H J K L ; ' # Enter PgDn
27// Sh_L \ Z X C V B N M , . / Sh_R Up End
28// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
29
30// clang-format off
31#define LAYOUT( \
32 k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
33 k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
34 k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k15, \
35 k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k84, ka4, k25, \
36 k00, k23, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
37 k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
38) \
39{ \
40 { k00, k01, ___, k03, k04, k05, k06, k07}, \
41 { k10, k11, k12, k13, k14, k15, k16, k17}, \
42 { k20, k21, k22, k23, k24, k25, k26, k27}, \
43 { k30, k31, k32, k33, k34, k35, k36, k37}, \
44 { k40, k41, k42, k43, k44, k45, k46, k47}, \
45 { k50, k51, k52, k53, k54, k55, k56, k57}, \
46 { k60, k61, k62, k63, k64, k65, k66, k67}, \
47 { k70, k71, k72, k73, k74, k75, k76, k77}, \
48 { k80, k81, k82, k83, k84, k85, k86, k87}, \
49 { k90, k91, k92, k93, k94, k95, ___, k97}, \
50 { ___, ka1, ___, ka3, ka4, ka5, ka6, ka7} \
51}
52// clang-format on
diff --git a/keyboards/gmmk/pro/keymaps/iso/keymap.c b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c
index 402becbe6..95b0f0b83 100644
--- a/keyboards/gmmk/pro/keymaps/iso/keymap.c
+++ b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 // 33 //
34 // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and 34 // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
35 // it'll be back to normal when you plug it back in. 35 // it'll be back to normal when you plug it back in.
36 [0] = LAYOUT_iso( 36 [0] = LAYOUT(
37 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE, 37 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
38 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, 38 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
39 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_PGUP, 39 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_PGUP,
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT 42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
43 ), 43 ),
44 44
45 [1] = LAYOUT_iso( 45 [1] = LAYOUT(
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, 47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/gmmk/pro/iso/keymaps/via/keymap.c b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c
new file mode 100644
index 000000000..921627205
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c
@@ -0,0 +1,85 @@
1/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#include QMK_KEYBOARD_H
18
19// clang-format off
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
23// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
24// Tab Q W E R T Y U I O P [ ] PgUp
25// Caps A S D F G H J K L ; " # Enter PgDn
26// Sh_L / Z X C V B N M , . ? Sh_R Up End
27// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
28
29
30 // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
31 // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
32 // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
33 // if that's your preference.
34 //
35 // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
36 // it'll be back to normal when you plug it back in.
37 [0] = LAYOUT(
38 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
39 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
40 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_PGUP,
41 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
42 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
43 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
44 ),
45
46 [1] = LAYOUT(
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
51 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
53 ),
54
55
56 [2] = LAYOUT(
57 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
58 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
59 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
60 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
61 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
63 ),
64
65 [3] = LAYOUT(
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
69 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
72 ),
73
74
75};
76// clang-format on
77
78bool encoder_update_user(uint8_t index, bool clockwise) {
79 if (clockwise) {
80 tap_code(KC_VOLU);
81 } else {
82 tap_code(KC_VOLD);
83 }
84 return true;
85}
diff --git a/keyboards/gmmk/pro/iso/keymaps/via/rules.mk b/keyboards/gmmk/pro/iso/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/gmmk/pro/iso/readme.md b/keyboards/gmmk/pro/iso/readme.md
new file mode 100644
index 000000000..3f255c490
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/readme.md
@@ -0,0 +1,23 @@
1# GMMK PRO (ISO)
2
3A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM32 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation)
4
5* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
6* Hardware Supported: GMMK Pro
7* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make gmmk/pro/iso:default
12
13Flashing example for this keyboard:
14
15 make gmmk/pro/iso:default:flash
16
17To reset the board into bootloader mode, do one of the following:
18
19* Hold the Reset switch mounted on the bottom side of the PCB while connecting the USB cable
20* Hold the Escape key while connecting the USB cable (also erases persistent settings)
21* Fn+Backspace will reset the board to bootloader mode if you have flashed the default QMK keymap
22
23See 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/gmmk/pro/iso/rules.mk b/keyboards/gmmk/pro/iso/rules.mk
new file mode 100644
index 000000000..6221d6408
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/rules.mk
@@ -0,0 +1,25 @@
1# MCU name
2MCU = STM32F303
3
4# Bootloader selection
5BOOTLOADER = stm32-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23ENCODER_ENABLE = yes
24RGB_MATRIX_ENABLE = yes
25RGB_MATRIX_DRIVER = AW20216
diff --git a/keyboards/gmmk/pro/pro.c b/keyboards/gmmk/pro/pro.c
index 9ed7ac886..816d089a5 100644
--- a/keyboards/gmmk/pro/pro.c
+++ b/keyboards/gmmk/pro/pro.c
@@ -14,225 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "pro.h" 16#include "pro.h"
17
18#ifdef RGB_MATRIX_ENABLE
19led_config_t g_led_config = { {
20 { 4, NO_LED, NO_LED, 95, 65, 79, 5, 28 },
21 { 8, 2, 9, 0, 10, 75, 1, 7 },
22 { 14, 3, 15, NO_LED, 16, 86, 6, 13 },
23 { 20, 18, 21, 23, 22, 94, 12, 19 },
24 { 25, 30, 26, 31, 27, 32, 29, 24 },
25 { 41, 36, 42, 37, 43, 38, 35, 40 },
26 { 46, 89, 47, 34, 48, 72, 78, 45 },
27 { 52, 39, 53, 97, 54, 82, 44, 51 },
28 { 58, 63, 59, 64, NO_LED, 60, 62, 57 },
29 { 11, 90, 55, 17, 33, 49, NO_LED, 69 },
30 { NO_LED, 85, 93, 61, 96, 66, 50, 56 }
31}, {
32 { 0, 0 }, // 0, ESC, k13
33 { 0, 15 }, // 1, ~, k16
34 { 4, 26 }, // 2, Tab, k11
35 { 5, 38 }, // 3, Caps, k21
36 { 9, 49 }, // 4, Sh_L, k00
37 { 2, 61 }, // 5, Ct_L, k06
38 { 18, 0 }, // 6, F1, k26
39 { 14, 15 }, // 7, 1, k17
40 { 22, 26 }, // 8, Q, k10
41 { 25, 38 }, // 9, A, k12
42 { 33, 49 }, // 10, Z, k14
43 { 20, 61 }, // 11, Win_L, k90
44 { 33, 0 }, // 12, F2, k36
45 { 29, 15 }, // 13, 2, k27
46 { 36, 26 }, // 14, W, k20
47 { 40, 38 }, // 15, S, k22
48 { 47, 49 }, // 16, X, k24
49 { 38, 61 }, // 17, Alt_L, k93
50 { 47, 0 }, // 18, F3, k31
51 { 43, 15 }, // 19, 3, k37
52 { 51, 26 }, // 20, E, k30
53 { 54, 38 }, // 21, D, k32
54 { 61, 49 }, // 22, C, k34
55 { 61, 0 }, // 23, F4, k33
56 { 58, 15 }, // 24, 4, k47
57 { 65, 26 }, // 25, R, k40
58 { 69, 38 }, // 26, F, k42
59 { 76, 49 }, // 27, V, k44
60 { 79, 0 }, // 28, F5, k07
61 { 72, 15 }, // 29, 5, k46
62 { 79, 26 }, // 30, T, k41
63 { 83, 38 }, // 31, G, k43
64 { 90, 49 }, // 32, B, k45
65 { 92, 61 }, // 33, SPACE, k94
66 { 94, 0 }, // 34, F6, k63
67 { 87, 15 }, // 35, 6, k56
68 { 94, 26 }, // 36, Y, k51
69 { 98, 38 }, // 37, H, k53
70 { 105, 49 }, // 38, N, k55
71 { 108, 0 }, // 39, F7, k71
72 { 101, 15 }, // 40, 7, k57
73 { 108, 26 }, // 41, U, k50
74 { 112, 38 }, // 42, J, k52
75 { 119, 49 }, // 43, M, k54
76 { 123, 0 }, // 44, F8, k76
77 { 116, 15 }, // 45, 8, k67
78 { 123, 26 }, // 46, I, k60
79 { 126, 38 }, // 47, K, k62
80 { 134, 49 }, // 48, ,, k64
81 { 145, 61 }, // 49, Alt_R, k95
82 { 141, 0 }, // 50, F9, ka6
83 { 130, 15 }, // 51, 9, k77
84 { 137, 26 }, // 52, O, k70
85 { 141, 38 }, // 53, L, k72
86 { 148, 49 }, // 54, ., k74
87 { 159, 61 }, // 55, FN, k92
88 { 155, 0 }, // 56, F10, ka7
89 { 145, 15 }, // 57, 0, k87
90 { 152, 26 }, // 58, P, k80
91 { 155, 38 }, // 59, ;, k82
92 { 163, 49 }, // 60, ?, k85
93 { 170, 0 }, // 61, F11, ka3
94 { 159, 15 }, // 62, -, k86
95 { 166, 26 }, // 63, [, k81
96 { 170, 38 }, // 64, ", k83
97 { 173, 61 }, // 65, Ct_R, k04
98 { 184, 0 }, // 66, F12, ka5
99 { 0, 8 }, // 67, LED, l01
100 { 224, 8 }, // 68, LED, l11
101 { 202, 0 }, // 69, Prt, k97
102 { 0, 15 }, // 70, LED, l02
103 { 224, 15 }, // 71, LED, l12
104 { 224, 15 }, // 72, Del, k65
105 { 0, 21 }, // 73, LED, l03
106 { 224, 21 }, // 74, LED, l13
107 { 224, 26 }, // 75, PgUp, k15
108 { 0, 28 }, // 76, LED, l04
109 { 224, 28 }, // 77, LED, l14
110 { 173, 15 }, // 78, =, k66
111 { 220, 64 }, // 79, Right, k05
112 { 0, 35 }, // 80, LED, l05
113 { 224, 35 }, // 81, LED, l15
114 { 224, 49 }, // 82, End, k75
115 { 0, 42 }, // 83, LED, l06
116 { 224, 42 }, // 84, LED, l16
117 { 195, 15 }, // 85, BSpc, ka1
118 { 224, 38 }, // 86, PgDn, k25
119 { 0, 48 }, // 87, LED, l07
120 { 224, 48 }, // 88, LED, l17
121 { 181, 26 }, // 89, ], k61
122 { 182, 49 }, // 90, Sh_R, k91
123 { 0, 55 }, // 91, LED, l08
124 { 224, 55 }, // 92, LED, l18
125 { 199, 26 }, // 93, \, ka2
126 { 206, 52 }, // 94, Up, k35
127 { 191, 64 }, // 95, Left, k03
128 { 193, 38 }, // 96, Enter, ka4
129 { 206, 64 } // 97, Down, k73
130}, {
131 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
132 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
133 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 4, 2, 2, 4, 2, 2,
134 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
135} };
136
137const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
138 { 0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0, ESC, k13
139 { 0, CS4_SW1, CS5_SW1, CS6_SW1 }, // 1, ~, k16
140 { 0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 2, Tab, k11
141 { 0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 3, Caps, k21
142 { 0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 4, Sh_L, k00
143 { 0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 5, Ct_L, k06
144 { 0, CS1_SW2, CS2_SW2, CS3_SW2 }, // 6, F1, k26
145 { 0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 7, 1, k17
146 { 0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 8, Q, k10
147 { 0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 9, A, k12
148 { 0, CS13_SW2, CS14_SW2, CS15_SW2 }, // 10, Z, k14
149 { 0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 11, Win_L, k90
150 { 0, CS1_SW3, CS2_SW3, CS3_SW3 }, // 12, F2, k36
151 { 0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 13, 2, k27
152 { 0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 14, W, k20
153 { 0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 15, S, k22
154 { 0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 16, X, k24
155 { 0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 17, Alt_L, k93
156 { 0, CS1_SW4, CS2_SW4, CS3_SW4 }, // 18, F3, k31
157 { 0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 19, 3, k37
158 { 0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 20, E, k30
159 { 0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 21, D, k32
160 { 0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 22, C, k34
161 { 0, CS1_SW5, CS2_SW5, CS3_SW5 }, // 23, F4, k33
162 { 0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 24, 4, k47
163 { 0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 25, R, k40
164 { 0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 26, F, k42
165 { 0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 27, V, k44
166 { 0, CS1_SW6, CS2_SW6, CS3_SW6 }, // 28, F5, k07
167 { 0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 29, 5, k46
168 { 0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 30, T, k41
169 { 0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 31, G, k43
170 { 0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 32, B, k45
171 { 0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 33, SPACE, k94
172 { 0, CS1_SW7, CS2_SW7, CS3_SW7 }, // 34, F6, k63
173 { 0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 35, 6, k56
174 { 0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 36, Y, k51
175 { 0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 37, H, k53
176 { 0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 38, N, k55
177 { 0, CS1_SW8, CS2_SW8, CS3_SW8 }, // 39, F7, k71
178 { 0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 40, 7, k57
179 { 0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 41, U, k50
180 { 0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 42, J, k52
181 { 0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 43, M, k54
182 { 0, CS1_SW9, CS2_SW9, CS3_SW9 }, // 44, F8, k76
183 { 0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 45, 8, k67
184 { 0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 46, I, k60
185 { 0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 47, K, k62
186 { 0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 48, ,, k64
187 { 0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 49, Alt_R, k95
188 { 0, CS1_SW10, CS2_SW10, CS3_SW10 }, // 50, F9, ka6
189 { 0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 51, 9, k77
190 { 0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 52, O, k70
191 { 0, CS10_SW10, CS11_SW10, CS12_SW10 }, // 53, L, k72
192 { 0, CS13_SW10, CS14_SW10, CS15_SW10 }, // 54, ., k74
193 { 0, CS16_SW10, CS17_SW10, CS18_SW10 }, // 55, FN, k92
194 { 0, CS1_SW11, CS2_SW11, CS3_SW11 }, // 56, F10, ka7
195 { 0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 57, 0, k87
196 { 0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 58, P, k80
197 { 0, CS10_SW11, CS11_SW11, CS12_SW11 }, // 59, ;, k82
198 { 0, CS13_SW11, CS14_SW11, CS15_SW11 }, // 60, ?, k85
199 { 0, CS1_SW12, CS2_SW12, CS3_SW12 }, // 61, F11, ka3
200 { 0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 62, -, k86
201 { 0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 63, [, k81
202 { 0, CS10_SW12, CS11_SW12, CS12_SW12 }, // 64, ", k83
203 { 0, CS16_SW12, CS17_SW12, CS18_SW12 }, // 65, Ct_R, k04
204
205 { 1, CS1_SW1, CS2_SW1, CS3_SW1 }, // 66, F12, ka5
206 { 1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 67, LED, l01
207 { 1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 68, LED, l11
208 { 1, CS4_SW2, CS5_SW2, CS6_SW2 }, // 69, Prt, k97
209 { 1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 70, LED, l02
210 { 1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 71, LED, l12
211 { 1, CS4_SW3, CS5_SW3, CS6_SW3 }, // 72, Del, k65
212 { 1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 73, LED, l03
213 { 1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 74, LED, l13
214 { 1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 75, PgUp, k15
215 { 1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 76, LED, l04
216 { 1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 77, LED, l14
217 { 1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 78, =, k66
218 { 1, CS10_SW5, CS11_SW5, CS12_SW5 }, // 79, Right, k05
219 { 1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 80, LED, l05
220 { 1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 81, LED, l15
221 { 1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 82, End, k75
222 { 1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 83, LED, l06
223 { 1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 84, LED, l16
224 { 1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 85, BSpc, ka1
225 { 1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 86, PgDn, k25
226 { 1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 87, LED, l07
227 { 1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 88, LED, l17
228 { 1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 89, ], k61
229 { 1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 90, Sh_R, k91
230 { 1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 91, LED, l08
231 { 1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 92, LED, l18
232 { 1, CS1_SW9, CS2_SW9, CS3_SW9 }, // 93, \, ka2
233 { 1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 94, Up, k35
234 { 1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 95, Left, k03
235 { 1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 96, Enter, ka4
236 { 1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 97, Down, k73
237};
238#endif
diff --git a/keyboards/gmmk/pro/pro.h b/keyboards/gmmk/pro/pro.h
index 8295bb2f7..38dd4d78b 100644
--- a/keyboards/gmmk/pro/pro.h
+++ b/keyboards/gmmk/pro/pro.h
@@ -18,62 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19#include "quantum.h" 19#include "quantum.h"
20 20
21#define ___ KC_NO 21#if defined(KEYBOARD_gmmk_pro_ansi)
22 22# include "ansi.h"
23// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) 23#elif defined(KEYBOARD_gmmk_pro_iso)
24// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BSpc Del 24# include "iso.h"
25// Tab Q W E R T Y U I O P [ ] \ PgUp 25#endif // GMMK Pro revisions
26// Caps A S D F G H J K L ; " Enter PgDn
27// Sh_L Z X C V B N M , . ? Sh_R Up End
28// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
29
30#define LAYOUT( \
31 k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
32 k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
33 k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, \
34 k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, \
35 k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
36 k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
37) \
38{ \
39 { k00, k01, ___, k03, k04, k05, k06, k07}, \
40 { k10, k11, k12, k13, k14, k15, k16, k17}, \
41 { k20, k21, k22, ___, k24, k25, k26, k27}, \
42 { k30, k31, k32, k33, k34, k35, k36, k37}, \
43 { k40, k41, k42, k43, k44, k45, k46, k47}, \
44 { k50, k51, k52, k53, k54, k55, k56, k57}, \
45 { k60, k61, k62, k63, k64, k65, k66, k67}, \
46 { k70, k71, k72, k73, k74, k75, k76, k77}, \
47 { k80, k81, k82, k83, ___, k85, k86, k87}, \
48 { k90, k91, k92, k93, k94, k95, ___, k97}, \
49 { ___, ka1, ka2, ka3, ka4, ka5, ka6, ka7} \
50}
51
52// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
53// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BSpc Del
54// Tab Q W E R T Y U I O P [ ] PgUp
55// Caps A S D F G H J K L ; " # Enter PgDn
56// Sh_L / Z X C V B N M , . ? Sh_R Up End
57// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
58
59#define LAYOUT_iso( \
60 k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
61 k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
62 k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k15, \
63 k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k84, ka4, k25, \
64 k00, k23, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
65 k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
66) \
67{ \
68 { k00, k01, ___, k03, k04, k05, k06, k07}, \
69 { k10, k11, k12, k13, k14, k15, k16, k17}, \
70 { k20, k21, k22, k23, k24, k25, k26, k27}, \
71 { k30, k31, k32, k33, k34, k35, k36, k37}, \
72 { k40, k41, k42, k43, k44, k45, k46, k47}, \
73 { k50, k51, k52, k53, k54, k55, k56, k57}, \
74 { k60, k61, k62, k63, k64, k65, k66, k67}, \
75 { k70, k71, k72, k73, k74, k75, k76, k77}, \
76 { k80, k81, k82, k83, k84, k85, k86, k87}, \
77 { k90, k91, k92, k93, k94, k95, ___, k97}, \
78 { ___, ka1, ___, ka3, ka4, ka5, ka6, ka7} \
79}