aboutsummaryrefslogtreecommitdiff
path: root/keyboards/gmmk
diff options
context:
space:
mode:
authorAnton <tipok88@mail.ru>2021-07-14 01:50:17 +0200
committerGitHub <noreply@github.com>2021-07-13 16:50:17 -0700
commit2fd45959555d1cf819da89da7eaf5cf071f003a3 (patch)
tree4f001c314f98439d18646eff01cd5a3824d91d54 /keyboards/gmmk
parentd4399172d3230450f3fb81d6f7f13403836028b5 (diff)
downloadqmk_firmware-2fd45959555d1cf819da89da7eaf5cf071f003a3.tar.gz
qmk_firmware-2fd45959555d1cf819da89da7eaf5cf071f003a3.zip
[Keyboard} Add ISO support for the GMMK Pro (#13532)
* Added iso layer support for the GMMK Pro iso version * Adjusted the mapping * aligning with best practises * aligning with comments from PR * Added iso layout to info.json
Diffstat (limited to 'keyboards/gmmk')
-rw-r--r--keyboards/gmmk/pro/info.json103
-rw-r--r--keyboards/gmmk/pro/keymaps/iso/keymap.c65
-rw-r--r--keyboards/gmmk/pro/pro.h29
3 files changed, 197 insertions, 0 deletions
diff --git a/keyboards/gmmk/pro/info.json b/keyboards/gmmk/pro/info.json
index 37ab5b43e..427e562e3 100644
--- a/keyboards/gmmk/pro/info.json
+++ b/keyboards/gmmk/pro/info.json
@@ -106,6 +106,109 @@
106 {"x":14.25, "y":5.5}, 106 {"x":14.25, "y":5.5},
107 {"x":15.25, "y":5.5} 107 {"x":15.25, "y":5.5}
108 ] 108 ]
109 },
110 "LAYOUT_iso": {
111 "layout": [
112 {"label":"Esc", "x":0, "y":0},
113
114 {"label":"F1", "x":1.25, "y":0},
115 {"label":"F2", "x":2.25, "y":0},
116 {"label":"F3", "x":3.25, "y":0},
117 {"label":"F4", "x":4.25, "y":0},
118
119 {"label":"F5", "x":5.5, "y":0},
120 {"label":"F6", "x":6.5, "y":0},
121 {"label":"F7", "x":7.5, "y":0},
122 {"label":"F8", "x":8.5, "y":0},
123
124 {"label":"F9", "x":9.75, "y":0},
125 {"label":"F10", "x":10.75, "y":0},
126 {"label":"F11", "x":11.75, "y":0},
127 {"label":"F12", "x":12.75, "y":0},
128
129 {"label":"Printscreen", "x":14, "y":0},
130 {"label":"Rotary", "x":15.5, "y":0},
131
132 {"label":"`", "x":0, "y":1.25},
133 {"label":"1", "x":1, "y":1.25},
134 {"label":"2", "x":2, "y":1.25},
135 {"label":"3", "x":3, "y":1.25},
136 {"label":"4", "x":4, "y":1.25},
137 {"label":"5", "x":5, "y":1.25},
138 {"label":"6", "x":6, "y":1.25},
139 {"label":"7", "x":7, "y":1.25},
140 {"label":"8", "x":8, "y":1.25},
141 {"label":"9", "x":9, "y":1.25},
142 {"label":"0", "x":10, "y":1.25},
143 {"label":"-", "x":11, "y":1.25},
144 {"label":"=", "x":12, "y":1.25},
145 {"label":"Backspace", "x":13, "y":1.25, "w":2},
146
147 {"label":"Delete", "x":15.5, "y":1.25},
148
149 {"label":"Tab", "x":0, "y":2.25, "w":1.5},
150 {"label":"Q", "x":1.5, "y":2.25},
151 {"label":"W", "x":2.5, "y":2.25},
152 {"label":"E", "x":3.5, "y":2.25},
153 {"label":"R", "x":4.5, "y":2.25},
154 {"label":"T", "x":5.5, "y":2.25},
155 {"label":"Y", "x":6.5, "y":2.25},
156 {"label":"U", "x":7.5, "y":2.25},
157 {"label":"I", "x":8.5, "y":2.25},
158 {"label":"O", "x":9.5, "y":2.25},
159 {"label":"P", "x":10.5, "y":2.25},
160 {"label":"[", "x":11.5, "y":2.25},
161 {"label":"]", "x":12.5, "y":2.25},
162
163 {"label":"Page Up", "x":15.5, "y":2.25},
164
165 {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
166 {"label":"A", "x":1.75, "y":3.25},
167 {"label":"S", "x":2.75, "y":3.25},
168 {"label":"D", "x":3.75, "y":3.25},
169 {"label":"F", "x":4.75, "y":3.25},
170 {"label":"G", "x":5.75, "y":3.25},
171 {"label":"H", "x":6.75, "y":3.25},
172 {"label":"J", "x":7.75, "y":3.25},
173 {"label":"K", "x":8.75, "y":3.25},
174 {"label":"L", "x":9.75, "y":3.25},
175 {"label":";", "x":10.75, "y":3.25},
176 {"label":"'", "x":11.75, "y":3.25},
177 {"label":"Iso #", "x":12.75, "y":3.25},
178 {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
179
180 {"label":"Page Down", "x":15.5, "y":3.25},
181
182 {"label":"Shift", "x":0, "y":4.25, "w":1.25},
183 {"label":"Iso \\", "x":1.25, "y":4.25},
184 {"label":"Z", "x":2.25, "y":4.25},
185 {"label":"X", "x":3.25, "y":4.25},
186 {"label":"C", "x":4.25, "y":4.25},
187 {"label":"V", "x":5.25, "y":4.25},
188 {"label":"B", "x":6.25, "y":4.25},
189 {"label":"N", "x":7.25, "y":4.25},
190 {"label":"M", "x":8.25, "y":4.25},
191 {"label":",", "x":9.25, "y":4.25},
192 {"label":".", "x":10.25, "y":4.25},
193 {"label":"/", "x":11.25, "y":4.25},
194 {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
195
196 {"label":"Up", "x":14.25, "y":4.5},
197
198 {"label":"End", "x":15.5, "y":4.25},
199
200 {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
201 {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
202 {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
203 {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
204 {"label":"Alt", "x":10, "y":5.25},
205 {"label":"Fn", "x":11, "y":5.25},
206 {"label":"Ctrl", "x":12, "y":5.25},
207
208 {"label":"Left", "x":13.25, "y":5.5},
209 {"label":"Down", "x":14.25, "y":5.5},
210 {"label":"Right", "x":15.25, "y":5.5}
211 ]
109 } 212 }
110 } 213 }
111} 214}
diff --git a/keyboards/gmmk/pro/keymaps/iso/keymap.c b/keyboards/gmmk/pro/keymaps/iso/keymap.c
new file mode 100644
index 000000000..402becbe6
--- /dev/null
+++ b/keyboards/gmmk/pro/keymaps/iso/keymap.c
@@ -0,0 +1,65 @@
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
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20
21// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
22// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
23// Tab Q W E R T Y U I O P [ ] PgUp
24// Caps A S D F G H J K L ; " # Enter PgDn
25// Sh_L / Z X C V B N M , . ? Sh_R Up End
26// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
27
28
29 // 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
30 // 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
31 // 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
32 // if that's your preference.
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
35 // it'll be back to normal when you plug it back in.
36 [0] = LAYOUT_iso(
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,
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,
40 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,
41 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,
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
43 ),
44
45 [1] = LAYOUT_iso(
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
51 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
52 ),
53
54
55};
56
57
58bool encoder_update_user(uint8_t index, bool clockwise) {
59 if (clockwise) {
60 tap_code(KC_VOLU);
61 } else {
62 tap_code(KC_VOLD);
63 }
64 return true;
65}
diff --git a/keyboards/gmmk/pro/pro.h b/keyboards/gmmk/pro/pro.h
index ddce60241..8295bb2f7 100644
--- a/keyboards/gmmk/pro/pro.h
+++ b/keyboards/gmmk/pro/pro.h
@@ -48,3 +48,32 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
48 { k90, k91, k92, k93, k94, k95, ___, k97}, \ 48 { k90, k91, k92, k93, k94, k95, ___, k97}, \
49 { ___, ka1, ka2, ka3, ka4, ka5, ka6, ka7} \ 49 { ___, ka1, ka2, ka3, ka4, ka5, ka6, ka7} \
50} 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}