aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Young <18669334+noroadsleft@users.noreply.github.com>2021-07-04 21:11:53 -0700
committerGitHub <noreply@github.com>2021-07-05 14:11:53 +1000
commit673a5b0ea27d76b5135399a7dbfffc5cb2790ec9 (patch)
tree1ce0091d27279c0a54704bb0521b3b6a159bb752
parentfa309df895fc9a1eee0a446fcbc6928481943455 (diff)
downloadqmk_firmware-673a5b0ea27d76b5135399a7dbfffc5cb2790ec9.tar.gz
qmk_firmware-673a5b0ea27d76b5135399a7dbfffc5cb2790ec9.zip
Molecule: Layout Macro Refactor (#13453)
-rwxr-xr-xkeyboards/molecule/info.json248
-rwxr-xr-xkeyboards/molecule/keymaps/default/keymap.c40
-rwxr-xr-xkeyboards/molecule/molecule.h9
3 files changed, 85 insertions, 212 deletions
diff --git a/keyboards/molecule/info.json b/keyboards/molecule/info.json
index 516464b7a..86aee014f 100755
--- a/keyboards/molecule/info.json
+++ b/keyboards/molecule/info.json
@@ -7,209 +7,51 @@
7 "layouts": { 7 "layouts": {
8 "LAYOUT": { 8 "LAYOUT": {
9 "layout": [ 9 "layout": [
10 { 10 {"label":"Q", "x":0, "y":1},
11 "label":"E", 11 {"label":"W", "x":1, "y":0.25},
12 "x":2, 12 {"label":"E", "x":2, "y":0},
13 "y":0 13 {"label":"R", "x":3, "y":0.5},
14 }, 14 {"label":"T", "x":4, "y":0.75},
15 { 15 {"label":"Y", "x":9.75, "y":0.75},
16 "label":"I", 16 {"label":"U", "x":10.75, "y":0.5},
17 "x":11.75, 17 {"label":"I", "x":11.75, "y":0},
18 "y":0 18 {"label":"O", "x":12.75, "y":0.25},
19 }, 19 {"label":"P", "x":13.75, "y":1},
20 { 20
21 "label":"W", 21 {"label":"A", "x":0, "y":2},
22 "x":1, 22 {"label":"S", "x":1, "y":1.25},
23 "y":0.25 23 {"label":"D", "x":2, "y":1},
24 }, 24 {"label":"F", "x":3, "y":1.5},
25 { 25 {"label":"G", "x":4, "y":1.75},
26 "label":"O", 26 {"label":"H", "x":9.75, "y":1.75},
27 "x":12.75, 27 {"label":"J", "x":10.75, "y":1.5},
28 "y":0.25 28 {"label":"K", "x":11.75, "y":1},
29 }, 29 {"label":"L", "x":12.75, "y":1.25},
30 { 30 {"label":";", "x":13.75, "y":2},
31 "label":"R", 31
32 "x":3, 32 {"label":"Z", "x":0, "y":3},
33 "y":0.5 33 {"label":"X", "x":1, "y":2.25},
34 }, 34 {"label":"C", "x":2, "y":2},
35 { 35 {"label":"V", "x":3, "y":2.5},
36 "label":"U", 36 {"label":"B", "x":4, "y":2.75},
37 "x":10.75, 37 {"label":"N", "x":9.75, "y":2.75},
38 "y":0.5 38 {"label":"M", "x":10.75, "y":2.5},
39 }, 39 {"label":",", "x":11.75, "y":2},
40 { 40 {"label":".", "x":12.75, "y":2.25},
41 "label":"T", 41 {"label":"/", "x":13.75, "y":3},
42 "x":4, 42
43 "y":0.75 43 {"label":"Ctrl", "x":1, "y":3.25},
44 }, 44 {"label":"Shift", "x":2, "y":3},
45 { 45 {"label":"Alt", "x":5.25, "y":3},
46 "label":"Y", 46 {"label":"Space", "x":6.25, "y":3.25, "h":1.5},
47 "x":9.75, 47 {"label":"Enter", "x":7.5, "y":3.25, "h":1.5},
48 "y":0.75 48 {"label":"Super", "x":8.5, "y":3},
49 }, 49 {"label":"Shift", "x":11.75, "y":3},
50 { 50 {"label":"Ctrl", "x":12.75, "y":3.25},
51 "label":"Q", 51
52 "x":0, 52 {"label":"Lower", "x":5.25, "y":4},
53 "y":1 53 {"label":"Raise", "x":8.5, "y":4}
54 },
55 {
56 "label":"D",
57 "x":2,
58 "y":1
59 },
60 {
61 "label":"K",
62 "x":11.75,
63 "y":1
64 },
65 {
66 "label":"P",
67 "x":13.75,
68 "y":1
69 },
70 {
71 "label":"S",
72 "x":1,
73 "y":1.25
74 },
75 {
76 "label":"L",
77 "x":12.75,
78 "y":1.25
79 },
80 {
81 "label":"F",
82 "x":3,
83 "y":1.5
84 },
85 {
86 "label":"J",
87 "x":10.75,
88 "y":1.5
89 },
90 {
91 "label":"G",
92 "x":4,
93 "y":1.75
94 },
95 {
96 "label":"H",
97 "x":9.75,
98 "y":1.75
99 },
100 {
101 "label":"A",
102 "x":0,
103 "y":2
104 },
105 {
106 "label":"C",
107 "x":2,
108 "y":2
109 },
110 {
111 "label":",",
112 "x":11.75,
113 "y":2
114 },
115 {
116 "label":";",
117 "x":13.75,
118 "y":2
119 },
120 {
121 "label":"X",
122 "x":1,
123 "y":2.25
124 },
125 {
126 "label":".",
127 "x":12.75,
128 "y":2.25
129 },
130 {
131 "label":"V",
132 "x":3,
133 "y":2.5
134 },
135 {
136 "label":"M",
137 "x":10.75,
138 "y":2.5
139 },
140 {
141 "label":"B",
142 "x":4,
143 "y":2.75
144 },
145 {
146 "label":"N",
147 "x":9.75,
148 "y":2.75
149 },
150 {
151 "label":"Z",
152 "x":0,
153 "y":3
154 },
155 {
156 "label":"Shift",
157 "x":2,
158 "y":3
159 },
160 {
161 "label":"Alt",
162 "x":5.25,
163 "y":3
164 },
165 {
166 "label":"Super",
167 "x":8.5,
168 "y":3
169 },
170 {
171 "label":"Shift",
172 "x":11.75,
173 "y":3
174 },
175 {
176 "label":"/",
177 "x":13.75,
178 "y":3
179 },
180 {
181 "label":"Ctrl",
182 "x":1,
183 "y":3.25
184 },
185 {
186 "label":"Space",
187 "x":6.25,
188 "y":3.25,
189 "h":1.5
190 },
191 {
192 "label":"Enter",
193 "x":7.5,
194 "y":3.25,
195 "h":1.5
196 },
197 {
198 "label":"Ctrl",
199 "x":12.75,
200 "y":3.25
201 },
202 {
203 "label":"Lower",
204 "x":5.25,
205 "y":4
206 },
207 {
208 "label":"Raise",
209 "x":8.5,
210 "y":4
211 }
212 ] 54 ]
213 } 55 }
214 } 56 }
215} \ No newline at end of file 57}
diff --git a/keyboards/molecule/keymaps/default/keymap.c b/keyboards/molecule/keymaps/default/keymap.c
index ddc01403c..bceed5774 100755
--- a/keyboards/molecule/keymaps/default/keymap.c
+++ b/keyboards/molecule/keymaps/default/keymap.c
@@ -31,9 +31,39 @@ enum custom_keycodes {
31}; 31};
32 32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 [_QWERTY_BASE] = LAYOUT(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL, KC_LSFT, MO(2), KC_LALT, KC_SPC, KC_ENT, KC_RGUI, MO(3), KC_RSFT, KC_RCTL), 34 [_QWERTY_BASE] = LAYOUT(
35 [_EUCALYN_BASE] = LAYOUT(KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN, KC_M, KC_R, KC_D, KC_Y, KC_P, KC_A, KC_O, KC_E, KC_I, KC_U, KC_G, KC_T, KC_K, KC_S, KC_N, KC_Z, KC_X, KC_C, KC_V, KC_F, KC_B, KC_H, KC_J, KC_L, KC_SLSH, KC_LCTL, KC_LSFT, MO(2), KC_LALT, KC_SPC, KC_ENT, KC_RGUI, MO(3), KC_RSFT, KC_RCTL), 35 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
36 [_LOWER] = LAYOUT(KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F2, KC_F3, KC_WH_U, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F8, KC_F9, KC_F1, KC_MS_BTN2, KC_WH_D, KC_MS_BTN1, KC_F11, KC_F12, KC_LEFT, KC_DOWN, KC_RGHT, KC_F10, KC_LCTL, KC_LSFT, KC_TRNS, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, MO(4), KC_RSFT, KC_RCTL), 36 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
37 [_RAISE] = LAYOUT(KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_ESC, KC_DEL, KC_BSPC, KC_GRV, KC_BSLS, KC_MINS, KC_EQL, KC_QUOT, KC_LCBR, KC_RCBR, KC_CAPS, KC_TAB, KC_PSCR, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_DQUO, KC_LBRC, KC_RBRC, KC_LCTL, KC_LSFT, MO(4), KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_TRNS, KC_RSFT, KC_RCTL), 37 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
38 [_FN] = LAYOUT(KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRIU, KC_VOLD, KC_NO, KC_NO, KC_NO, DF(0), DF(1), KC_NO, KC_NO, KC_NO, KC_BRID, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL, KC_LSFT, KC_TRNS, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_TRNS, KC_RSFT, KC_RCTL) 38 KC_LCTL, KC_LSFT, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_RSFT, KC_RCTL,
39 MO(2), MO(3)
40 ),
41 [_EUCALYN_BASE] = LAYOUT(
42 KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN, KC_M, KC_R, KC_D, KC_Y, KC_P,
43 KC_A, KC_O, KC_E, KC_I, KC_U, KC_G, KC_T, KC_K, KC_S, KC_N,
44 KC_Z, KC_X, KC_C, KC_V, KC_F, KC_B, KC_H, KC_J, KC_L, KC_SLSH,
45 KC_LCTL, KC_LSFT, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_RSFT, KC_RCTL,
46 MO(2), MO(3)
47 ),
48 [_LOWER] = LAYOUT(
49 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
50 KC_F2, KC_F3, KC_WH_U, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F8, KC_F9,
51 KC_F1, KC_BTN2, KC_WH_D, KC_BTN1, KC_F11, KC_F12, KC_LEFT, KC_DOWN, KC_RGHT, KC_F10,
52 KC_LCTL, KC_LSFT, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_RSFT, KC_RCTL,
53 KC_TRNS, MO(4)
54 ),
55 [_RAISE] = LAYOUT(
56 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
57 KC_ESC, KC_DEL, KC_BSPC, KC_GRV, KC_BSLS, KC_MINS, KC_EQL, KC_QUOT, KC_LCBR, KC_RCBR,
58 KC_CAPS, KC_TAB, KC_PSCR, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_DQUO, KC_LBRC, KC_RBRC,
59 KC_LCTL, KC_LSFT, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_RSFT, KC_RCTL,
60 MO(4), KC_TRNS
61 ),
62 [_FN] = LAYOUT(
63 KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRIU,
64 KC_VOLD, KC_NO, KC_NO, KC_NO, DF(0), DF(1), KC_NO, KC_NO, KC_NO, KC_BRID,
65 KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
66 KC_LCTL, KC_LSFT, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_RSFT, KC_RCTL,
67 KC_TRNS, KC_TRNS
68 )
39}; 69};
diff --git a/keyboards/molecule/molecule.h b/keyboards/molecule/molecule.h
index 2db7a92ad..a7769f89a 100755
--- a/keyboards/molecule/molecule.h
+++ b/keyboards/molecule/molecule.h
@@ -27,10 +27,11 @@
27 * represents the switch matrix. 27 * represents the switch matrix.
28 */ 28 */
29#define LAYOUT( \ 29#define LAYOUT( \
30 L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ 30 L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
31 L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ 31 L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
32 L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ 32 L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
33 L30, L31, L32, L33, L34, R30, R31, R32, R33, R34 \ 33 L30, L31, L33, L34, R30, R31, R33, R34, \
34 L32, R32 \
34 ) \ 35 ) \
35 { \ 36 { \
36 { L00, L01, L02, L03, L04, R00, R01, R02, R03, R04 }, \ 37 { L00, L01, L02, L03, L04, R00, R01, R02, R03, R04 }, \