aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ergodox_infinity
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-01-13 01:56:46 +0000
committerQMK Bot <hello@qmk.fm>2021-01-13 01:56:46 +0000
commit1ade5aa9229b0dcf755e8d41b828d44767a9e6a8 (patch)
treefcab62acfe2dfa843d30853d8319675e96e03dec /keyboards/ergodox_infinity
parent7cfcb0d271a5cd31ff3830494178db4fed0997b5 (diff)
parentb297f1ce8dfbaf4b45b54db918d779c4da291106 (diff)
downloadqmk_firmware-1ade5aa9229b0dcf755e8d41b828d44767a9e6a8.tar.gz
qmk_firmware-1ade5aa9229b0dcf755e8d41b828d44767a9e6a8.zip
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/ergodox_infinity')
-rw-r--r--keyboards/ergodox_infinity/keymaps/default/keymap.c20
-rw-r--r--keyboards/ergodox_infinity/keymaps/rjhilgefort/keymap.c381
-rw-r--r--keyboards/ergodox_infinity/keymaps/rjhilgefort/readme.md175
3 files changed, 564 insertions, 12 deletions
diff --git a/keyboards/ergodox_infinity/keymaps/default/keymap.c b/keyboards/ergodox_infinity/keymaps/default/keymap.c
index 2fc534401..cd9b476bb 100644
--- a/keyboards/ergodox_infinity/keymaps/default/keymap.c
+++ b/keyboards/ergodox_infinity/keymaps/default/keymap.c
@@ -1,13 +1,15 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "version.h" 2#include "version.h"
3 3
4#define BASE 0 // default layer 4enum custom_layers {
5#define SYMB 1 // symbols 5 BASE, // default layer
6#define MDIA 2 // media keys 6 SYMB, // symbols
7 MDIA, // media keys
8};
9
7 10
8enum custom_keycodes { 11enum custom_keycodes {
9 PLACEHOLDER = SAFE_RANGE, // can always be here 12 PLACEHOLDER = SAFE_RANGE, // can always be here
10 EPRM,
11 VRSN, 13 VRSN,
12 RGB_SLD 14 RGB_SLD
13}; 15};
@@ -67,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
67 * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| 69 * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
68 * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | 70 * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
69 * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 71 * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
70 * | EPRM | | | | | | | . | 0 | = | | 72 * |EEP_RST| | | | | | | . | 0 | = | |
71 * `-----------------------------------' `----------------------------------' 73 * `-----------------------------------' `----------------------------------'
72 * ,-------------. ,-------------. 74 * ,-------------. ,-------------.
73 * |Animat| | |Toggle|Solid | 75 * |Animat| | |Toggle|Solid |
@@ -84,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
84 KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, 86 KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
85 KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, 87 KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
86 KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, 88 KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
87 EPRM,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 89 EEP_RST,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
88 RGB_MOD,KC_TRNS, 90 RGB_MOD,KC_TRNS,
89 KC_TRNS, 91 KC_TRNS,
90 RGB_VAD,RGB_VAI,KC_TRNS, 92 RGB_VAD,RGB_VAI,KC_TRNS,
@@ -144,12 +146,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
144bool process_record_user(uint16_t keycode, keyrecord_t *record) { 146bool process_record_user(uint16_t keycode, keyrecord_t *record) {
145 switch (keycode) { 147 switch (keycode) {
146 // dynamically generate these. 148 // dynamically generate these.
147 case EPRM:
148 if (record->event.pressed) {
149 eeconfig_init();
150 }
151 return false;
152 break;
153 case VRSN: 149 case VRSN:
154 if (record->event.pressed) { 150 if (record->event.pressed) {
155 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); 151 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
diff --git a/keyboards/ergodox_infinity/keymaps/rjhilgefort/keymap.c b/keyboards/ergodox_infinity/keymaps/rjhilgefort/keymap.c
new file mode 100644
index 000000000..31d218ebf
--- /dev/null
+++ b/keyboards/ergodox_infinity/keymaps/rjhilgefort/keymap.c
@@ -0,0 +1,381 @@
1/**
2 * Copyright 2021 Rob Hilgefort <@rjhilgefort>
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include QMK_KEYBOARD_H
19#include "version.h"
20
21
22enum custom_layers {
23 BASEMAC, // Base Mac Layer
24 BASELNX, // Base Linux Layer
25 SYMB, // Symbols Layer
26 MANMAC, // Media Numbers Mac Layer
27 MANLNX, // Media Numbers Linux Layer
28 EXA, // Extra Layer
29};
30
31enum custom_keycodes {
32 PLACEHOLDER = SAFE_RANGE, // can always be here
33 VRSN,
34};
35
36#define ALT_ESC ALT_T(KC_ESC)
37#define CTL_ESC CTL_T(KC_ESC)
38#define GUI_ESC GUI_T(KC_ESC)
39#define HYPER LGUI(LSFT(KC_LALT))
40
41const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
42
43/* Keymap 0: Base (Mac)
44 *
45 * ,--------------------------------------------------. ,--------------------------------------------------.
46 * | | | | | | | | | | | | | | | |
47 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
48 * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | Bksp |
49 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
50 * | Ct/Esc | A | S | D | F | G |------| |------| H | J | K | L |Ctrl/;| ' |
51 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
52 * | Shift | Z | X | C | V | B | | | | N | M | , | . |Ctrl//| Enter |
53 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
54 * | |Shift | Tab | ↑ L3 |Alt/Ec| | ↑ L2 |Hyper | ' |Enter | |
55 * `----------------------------------' `----------------------------------'
56 * ,-------------. ,---------------.
57 * | | | | | |
58 * ,------+------+------| |------+--------+------.
59 * | | | | | | | |
60 * | LGui | Bksp |------| |------| Bksp | Spc |
61 * | | | | | | | |
62 * `--------------------' `----------------------'
63 */
64[BASEMAC] = LAYOUT_ergodox(
65 // left hand
66 _______, _______, _______, _______, _______, _______, _______,
67 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, _______,
68 CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
69 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, _______,
70 _______, KC_LSFT, KC_TAB, MO(MANMAC), ALT_ESC,
71 _______, _______,
72 _______,
73 KC_LGUI, KC_BSPC, _______,
74 // right hand
75 _______, _______, _______, _______, _______, _______, _______,
76 _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
77 KC_H, KC_J, KC_K, KC_L, CTL_T(KC_SCLN), KC_QUOT,
78 _______, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_ENTER,
79 MO(SYMB), HYPER, KC_QUOT, KC_ENTER, _______,
80 _______, _______,
81 _______,
82 _______, KC_BSPC, KC_SPC
83),
84
85/* Keymap 1: Base (Linux)
86 *
87 * ,--------------------------------------------------. ,--------------------------------------------------.
88 * | | | | | | | | | | | | | | | |
89 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
90 * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | Bksp |
91 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
92 * | Ct/Esc | A | S | D | F | G |------| |------| H | J | K | L |Ctrl/;| ' |
93 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
94 * | Shift | Z | X | C | V | B | | | | N | M | , | . |Ctrl//| Enter |
95 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
96 * | |Shift | Tab | ↑ L4 |Gui/Ec| | ↑ L2 | Hyper| ' |Enter | |
97 * `-----------------------------------' `----------------------------------'
98 * ,-------------. ,---------------.
99 * | | | | | |
100 * ,------+------+------| |------+--------+------.
101 * | | | | | | | |
102 * | Ctrl | Bksp |------| |------| Bksp | Spc |
103 * | | | | | | | |
104 * `--------------------' `----------------------'
105 */
106[BASELNX] = LAYOUT_ergodox(
107 // left hand
108 _______, _______, _______, _______, _______, _______, _______,
109 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, _______,
110 ALT_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
111 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, _______,
112 _______, KC_LSFT, KC_TAB, MO(MANLNX), GUI_ESC,
113 _______, _______,
114 _______,
115 KC_LCTRL, KC_BSPC, _______,
116 // right hand
117 _______, _______, _______, _______, _______, _______, _______,
118 _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
119 KC_H, KC_J, KC_K, KC_L, CTL_T(KC_SCLN), KC_QUOT,
120 _______, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_ENTER,
121 MO(SYMB), HYPER, KC_QUOT, KC_ENTER, _______,
122 _______, _______,
123 _______,
124 _______, KC_BSPC, KC_SPC
125),
126
127/* Keymap 2: Symbol Layer
128 *
129 * ,---------------------------------------------------. ,--------------------------------------------------.
130 * | | | | | | | | | | | | | | | |
131 * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
132 * | | \ | / | [ | ] | ~ | | | | | | = | + | - | _ | |
133 * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
134 * | | { | } | ( | ) | ` |------| |------| ← | ↓ | ↑ | → | | |
135 * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
136 * | | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | |
137 * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
138 * | | | | ↑ L5 | | | TRNS | | | | |
139 * `-----------------------------------' `----------------------------------'
140 * ,-------------. ,-------------.
141 * | | | | | |
142 * ,------+------+------| |------+------+------.
143 * | | | | | | | |
144 * | | Del |------| |------| Del | |
145 * | | | | | | | |
146 * `--------------------' `--------------------'
147 */
148[SYMB] = LAYOUT_ergodox(
149 // left hand
150 _______, _______, _______, _______, _______, _______, _______,
151 _______, KC_BSLS, KC_SLSH, KC_LBRC, KC_RBRC, KC_TILD, _______,
152 _______, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_GRV,
153 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
154 _______, _______, _______, MO(EXA), _______,
155 _______, _______,
156 _______,
157 _______, KC_DEL, _______,
158 // right hand
159 _______, _______, _______, _______, _______, _______, _______,
160 _______, KC_PIPE, KC_EQL, KC_PLUS, KC_MINS, KC_UNDS, _______,
161 KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
162 _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
163 KC_TRNS, _______, _______, _______, _______,
164 _______, _______,
165 _______,
166 _______, KC_DEL, _______
167),
168
169/* Keymap 3: Media & Numbers (MAC)
170 *
171 * ,--------------------------------------------------. ,--------------------------------------------------.
172 * | | | | | | | | | | | | | | | |
173 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
174 * | | |Scrn -| Vol+ |Scrn +| | | | | | 7 | 8 | 9 | * | |
175 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
176 * | |VolMut|Trak ←|Ply/Ps|Trak →| |------| |------| | 4 | 5 | 6 | + | |
177 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
178 * | | | | Vol- | | | | | | | 1 | 2 | 3 | \ | |
179 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
180 * | | | | TRNS | | | ↑ L5 | 0 | . | = | |
181 * `----------------------------------' `----------------------------------'
182 * ,-------------. ,-------------.
183 * | | | | | |
184 * ,------+------+------| |------+------+------.
185 * | | | | | | | |
186 * | | |------| |------| | 0 |
187 * | | | | | | | |
188 * `--------------------' `--------------------'
189 */
190[MANMAC] = LAYOUT_ergodox(
191 // left hand
192 _______, _______, _______, _______, _______, _______, _______,
193 _______, _______, KC_BRMD, KC_VOLU, KC_BRMU, _______, _______,
194 _______, KC_MUTE, KC_MRWD, KC_MPLY, KC_MFFD, _______,
195 _______, _______, _______, KC_VOLD, _______, _______, _______,
196 _______, _______, _______, KC_TRNS, _______,
197 _______, _______,
198 _______,
199 _______, _______, _______,
200 // right hand
201 _______, _______, _______, _______, _______, _______, _______,
202 _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
203 _______, KC_4, KC_5, KC_6, KC_PLUS, _______,
204 _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______,
205 MO(EXA), KC_0, KC_DOT, KC_EQL, _______,
206 _______, _______,
207 _______,
208 _______, _______, KC_0
209),
210
211/* Keymap 4: Media & Numbers (Linux)
212 *
213 * ,--------------------------------------------------. ,--------------------------------------------------.
214 * | | | | | | | | | | | | | | | |
215 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
216 * | | |Scrn -| Vol+ |Scrn +| | | | | | 7 | 8 | 9 | * | |
217 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
218 * | |VolMut|Trak ←|Ply/Ps|Trak →| |------| |------| | 4 | 5 | 6 | + | |
219 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
220 * | | | | Vol- | | | | | | | 1 | 2 | 3 | \ | |
221 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
222 * | | | | TRNS | | | ↑ L5 | 0 | . | = | |
223 * `----------------------------------' `----------------------------------'
224 * ,-------------. ,-------------.
225 * | | | | | |
226 * ,------+------+------| |------+------+------.
227 * | | | | | | | |
228 * | | |------| |------| | 0 |
229 * | | | | | | | |
230 * `--------------------' `--------------------'
231 */
232[MANLNX] = LAYOUT_ergodox(
233 // left hand
234 _______, _______, _______, _______, _______, _______, _______,
235 _______, _______, KC_BRID, KC_VOLU, KC_BRIU, _______, _______,
236 _______, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, _______,
237 _______, _______, _______, KC_VOLD, _______, _______, _______,
238 _______, _______, _______, KC_TRNS, _______,
239 _______, _______,
240 _______,
241 _______, _______, _______,
242 // right hand
243 _______, _______, _______, _______, _______, _______, _______,
244 _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
245 _______, KC_4, KC_5, KC_6, KC_PLUS, _______,
246 _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______,
247 MO(EXA), KC_0, KC_DOT, KC_EQL, _______,
248 _______, _______,
249 _______,
250 _______, _______, KC_0
251),
252
253/* Keymap 5: Extra
254 *
255 * ,--------------------------------------------------. ,--------------------------------------------------.
256 * | | | | | | | | | | | | | | | |
257 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
258 * | | → L0 | → L1 | | | | | | | | | | | | |
259 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
260 * | | | | | | |------| |------| Home | PGDN | PGUP | End | | |
261 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
262 * | | | | | | | | | | | | | | | |
263 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
264 * | | | | TRNS | | | TRNS | | | | |
265 * `----------------------------------' `----------------------------------'
266 * ,-------------. ,-------------.
267 * | | | | | |
268 * ,------|------+------+ |------+------+------.
269 * | | | | | | | |
270 * | | |------| |------| | |
271 * | | | | | | | |
272 * `--------------------' `--------------------'
273 */
274[EXA] = LAYOUT_ergodox(
275 // left hand
276 _______, _______, _______, _______, _______, _______, _______,
277 _______, DF(BASEMAC), DF(BASELNX), _______, _______, _______, _______,
278 _______, _______, _______, _______, _______, _______,
279 _______, _______, _______, _______, _______, _______, _______,
280 _______, _______, _______, KC_TRNS, _______,
281 _______, _______,
282 _______,
283 _______, _______, _______,
284 // right hand
285 _______, _______, _______, _______, _______, _______, _______,
286 _______, _______, _______, _______, _______, _______, _______,
287 KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
288 _______, _______, _______, _______, _______, _______, _______,
289 KC_TRNS, _______, _______, _______, _______,
290 _______, _______,
291 _______,
292 _______, _______, _______
293),
294
295};
296
297bool process_record_user(uint16_t keycode, keyrecord_t *record) {
298 switch (keycode) {
299 // dynamically generate these.
300 case VRSN:
301 if (record->event.pressed) {
302 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
303 }
304 return false;
305 break;
306 }
307 return true;
308}
309
310// Runs constantly in the background, in a loop.
311void matrix_scan_user(void) {
312 uint8_t layer = biton32(layer_state);
313
314 ergodox_board_led_off();
315 ergodox_right_led_1_off();
316 ergodox_right_led_2_off();
317 ergodox_right_led_3_off();
318 switch (layer) {
319 // TODO: Make this relevant to the ErgoDox EZ.
320 case 2:
321 ergodox_right_led_2_on();
322 break;
323 case 3:
324 ergodox_right_led_3_on();
325 break;
326 case 4:
327 ergodox_right_led_3_on();
328 break;
329 case 5:
330 ergodox_right_led_1_on();
331 break;
332 default:
333 // none
334 break;
335 }
336
337};
338
339/*
340 * ,--------------------------------------------------. ,--------------------------------------------------.
341 * | | | | | | | | | | | | | | | |
342 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
343 * | | | | | | | | | | | | | | | |
344 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
345 * | | | | | | |------| |------| | | | | | |
346 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
347 * | | | | | | | | | | | | | | | |
348 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
349 * | | | | | | | | | | | |
350 * `----------------------------------' `----------------------------------'
351 * ,-------------. ,-------------.
352 * | | | | | |
353 * ,------|------+------+ |------+------+------.
354 * | | | | | | | |
355 * | | |------| |------| | |
356 * | | | | | | | |
357 * `--------------------' `--------------------'
358 */
359/*
360 * [EXTRA] = LAYOUT_ergodox(
361 * // left hand
362 * _______, _______, _______, _______, _______, _______, _______,
363 * _______, _______, _______, _______, _______, _______, _______,
364 * _______, _______, _______, _______, _______, _______,
365 * _______, _______, _______, _______, _______, _______, _______,
366 * _______, _______, _______, _______, _______,
367 * _______, _______,
368 * _______,
369 * _______, _______, _______,
370 * // right hand
371 * _______, _______, _______, _______, _______, _______, _______,
372 * _______, _______, _______, _______, _______, _______, _______,
373 * _______, _______, _______, _______, _______, _______,
374 * _______, _______, _______, _______, _______, _______, _______,
375 * _______, _______, _______, _______, _______, _______, _______,
376 * _______, _______, _______, _______, _______,
377 * _______, _______,
378 * _______,
379 * _______, _______, _______
380 * ),
381 */
diff --git a/keyboards/ergodox_infinity/keymaps/rjhilgefort/readme.md b/keyboards/ergodox_infinity/keymaps/rjhilgefort/readme.md
new file mode 100644
index 000000000..bb141b99d
--- /dev/null
+++ b/keyboards/ergodox_infinity/keymaps/rjhilgefort/readme.md
@@ -0,0 +1,175 @@
1# [🐦 @rjhilgefort](https://twitter.com/rjhilgefort)'s Ergodox Infinity Layout
2
3The layout is heavily inspired by my [Atreus 2](https://atreus.technomancy.us/2) and the layout I use for it. Hence, I basically treat my Ergodox Infinity like it's a 40% keyboard and have even taken off the caps of the keys that I don't make use of to further emphasize this. This allows for easy interop between my office setup (Ergodox) and my laptop setup (Atreus 2).
4
5![](https://imgur.com/rJnSjLq.jpg)
6![](https://imgur.com/8aSSGP1.jpg)
7
8## Features
9
10Here's some highlights/features of the layout.
11
12- Inspired by 40% keyboards, doesn't use keys that don't exist on those boards.
13- Ergonomic symbols layer.
14- Media and Numpad layer.
15- Planck-like extra tri-layer when holding the other two layers.
16- Planck conformability- leaves gutter keys for familiarity if coming from there.
17- Supports Mac and Linux as 1st class citizens giving each a dedicated base layer and a media layer for each that matches media keys for each OS. The Linux default layer focuses on `Ctrl` instead of `Super` and vice versa for Mac. (When you set Linux as your base layer, the Linux media layer is what you shift into. Same for the Mac layer when that's the base)
18
19## Layers
20
21#### Keymap 0: Base (Mac)
22
23```
24,--------------------------------------------------. ,--------------------------------------------------.
25| | | | | | | | | | | | | | | |
26|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
27| Tab | Q | W | E | R | T | | | | Y | U | I | O | P | Bksp |
28|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
29| Ct/Esc | A | S | D | F | G |------| |------| H | J | K | L |Ctrl/;| ' |
30|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
31| Shift | Z | X | C | V | B | | | | N | M | , | . |Ctrl//| Enter |
32`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
33 | |Shift | Tab | ↑ L3 |Alt/Ec| | ↑ L2 |Hyper | ' |Enter | |
34 `----------------------------------' `----------------------------------'
35 ,-------------. ,---------------.
36 | | | | | |
37 ,------+------+------| |------+--------+------.
38 | | | | | | | |
39 | LGui | Bksp |------| |------| Bkspc | Spc |
40 | | | | | | | |
41 `--------------------' `----------------------'
42```
43
44#### Keymap 1: Base (Linux)
45
46```
47,--------------------------------------------------. ,--------------------------------------------------.
48| | | | | | | | | | | | | | | |
49|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
50| Tab | Q | W | E | R | T | | | | Y | U | I | O | P | Bksp |
51|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
52| Ct/Esc | A | S | D | F | G |------| |------| H | J | K | L |Ctrl/;| ' |
53|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
54| Shift | Z | X | C | V | B | | | LAlt | N | M | , | . |Ctrl//| Enter |
55`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
56 | |Shift | Tab | ↑ L4 |Gui/Ec| | ↑ L2 |Hyper | ' |Enter | |
57 `-----------------------------------' `----------------------------------'
58 ,-------------. ,---------------.
59 | | | | | |
60 ,------+------+------| |------+--------+------.
61 | | | | | | | |
62 | Ctrl | Bksp |------| |------| Bkspc | Spc |
63 | | | | | | | |
64 `--------------------' `----------------------'
65```
66
67#### Keymap 2: Symbol Layer
68
69```
70,---------------------------------------------------. ,--------------------------------------------------.
71| | | | | | | | | | | | | | | |
72|---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
73| | \ | / | [ | ] | ~ | | | | | | = | + | - | _ | |
74|---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
75| | { | } | ( | ) | ` |------| |------| ← | ↓ | ↑ | → | | |
76|---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
77| | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | |
78`---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
79 | | | | ↑ L5 | | | TRNS | | | | |
80 `-----------------------------------' `----------------------------------'
81 ,-------------. ,-------------.
82 | | | | | |
83 ,------+------+------| |------+------+------.
84 | | | | | | | |
85 | | Del |------| |------| Del | |
86 | | | | | | | |
87 `--------------------' `--------------------'
88```
89
90#### Keymap 3: Media & Numbers (MAC)
91
92```
93,--------------------------------------------------. ,--------------------------------------------------.
94| | | | | | | | | | | | | | | |
95|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
96| | |Scrn -| Vol+ |Scrn +| | | | | | 7 | 8 | 9 | * | |
97|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
98| |VolMut|Trak ←|Ply/Ps|Trak →| |------| |------| | 4 | 5 | 6 | + | |
99|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
100| | | | Vol- | | | | | | | 1 | 2 | 3 | \ | |
101`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
102 | | | | TRNS | | | ↑ L5 | | . | = | |
103 `----------------------------------' `----------------------------------'
104 ,-------------. ,-------------.
105 | | | | | |
106 ,------+------+------| |------+------+------.
107 | | | | | | | |
108 | | |------| |------| | 0 |
109 | | | | | | | |
110 `--------------------' `--------------------'
111```
112
113#### Keymap 4: Media & Numbers (Linux)
114
115```
116,--------------------------------------------------. ,--------------------------------------------------.
117| | | | | | | | | | | | | | | |
118|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
119| | |Scrn -| Vol+ |Scrn +| | | | | | 7 | 8 | 9 | * | |
120|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
121| |VolMut|Trak ←|Ply/Ps|Trak →| |------| |------| | 4 | 5 | 6 | + | |
122|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
123| | | | Vol- | | | | | | | 1 | 2 | 3 | \ | |
124`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
125 | | | | TRNS | | | ↑ L5 | | . | = | |
126 `----------------------------------' `----------------------------------'
127 ,-------------. ,-------------.
128 | | | | | |
129 ,------+------+------| |------+------+------.
130 | | | | | | | |
131 | | |------| |------| | 0 |
132 | | | | | | | |
133 `--------------------' `--------------------'
134```
135
136#### Keymap 5: Extra
137
138```
139,--------------------------------------------------. ,--------------------------------------------------.
140| | | | | | | | | | | | | | | |
141|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
142| | → L0 | → L1 | | | | | | | | | | | | |
143|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
144| | | | | | |------| |------| Home | PGDN | PGUP | End | | |
145|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
146| | | | | | | | | | | | | | | |
147`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
148 | | | | TRNS | | | TRNS | | | | |
149 `----------------------------------' `----------------------------------'
150 ,-------------. ,-------------.
151 | | | | | |
152 ,------|------+------+ |------+------+------.
153 | | | | | | | |
154 | | |------| |------| | |
155 | | | | | | | |
156 `--------------------' `--------------------'
157```
158
159## TODO
160
1611. Get the LEDs to work: https://www.reddit.com/r/ergodox/comments/80hgxj/infinity_lcd_configuration_in_qmk/duxklzh/
162
163## Building And Flashing
164
165See the default building and flashing documentation for the Ergodox Infinity, I don't do anything beyond that.
166
167## FAQs
168
169> What's the case you have for your Ergodox Infinity?
170
171It's a case made by Datamancer and I got it [on Drop.com as a group buy](https://drop.com/buy/datamancer-infinity-ergodox-hardwood-case).
172
173> Why don't you just use the other keys?
174
175I bounce between my Ergodox, Atreus 2, CorneKBD, and a couple of Planck keyboards. If I start using keys on my Ergo that I can't on my 40% boards, then my layouts start to diverge and muscle memory is diminished. I like to constrain my bigger boards to my smaller for continuity.