]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/ergodone/keymaps/vega/keymap.c
[Keymap] Added 'Vega' ErgoDone layout (#6196)
[qmk_firmware.git] / keyboards / ergodone / keymaps / vega / keymap.c
1 #include QMK_KEYBOARD_H
2
3 enum layer_names {
4     BASE,
5     GREL,
6     GREU,
7     SYMB,
8     MATH,
9     QWER,
10     FNLR
11 };
12
13 enum unicode_names {
14   //MATH
15         neq,  //≠
16         intgrl,  //∫
17         angl,  //∠
18         imply,  //⇒
19         equiv,  //⇔
20         porp,  //∝
21         exists,  //∃
22         nexists,  //∄
23         forall,  //∀
24         and,  //∧
25         or,  //∨
26         xor,  //⊕
27         apeql,  //≅
28         root,  //√
29         not,  //¬
30         sum,  //∑
31         plsminus,  //±
32         infin,  //∞
33         emtyset,  //∅
34         Mn,  //ℕ
35         Mz,  //ℤ
36         Mq,  //ℚ
37         Mr,  //ℝ
38         Mc,  //ℂ
39         eleof,  //∈
40         member,  //∋
41         neleof,  //∉
42         nmember,  //∌
43         subsetof,  //⊂
44         suprsetof,  //⊃
45         intersection,  //∩
46         Munion,  //∪
47
48   //SYMB
49   arwl,
50   arwu,
51   arwr,
52   arwd,
53
54   uxclm,
55   cent,
56   degree,
57   trade,
58   copy,
59   numero,
60   sect,
61   mdot,
62   rang,
63
64
65   lshade,
66   mshade,
67   dshade,
68
69   fire,
70   water,
71   cleft,
72   baster,
73   neteen,
74   floppy,
75
76   boxemp,
77   boxchk,
78   boxX,
79
80   bbstr,
81   bbstl,
82   bbml,
83   bbmr,
84   bbmb,
85   bbrtr,
86   bbrbr,
87   bbrtl,
88   bbrbl,
89   bbsbr,
90   bbsbl,
91   bbmbr,
92   bbmbl,
93
94   Agrave,
95   Aacute,
96   Acircm,
97   Atilde,
98   Abreve,
99   Adiaer,
100   Adacut,
101
102     // not all ogham letters, as I
103     // actually intend to use them for hex
104   OS,
105   Oa,
106   Ob,
107   Oc,
108   Od,
109   Oe,
110   Of,
111   Og,
112   Oh,
113   Oi,
114   OA,
115   OB,
116   OC,
117   OD,
118   OE,
119   OF,
120   Os,
121   OED,
122   Ox,
123   gnd,
124   sqr,
125   sine,
126   opt,
127
128   geq,
129   leq,
130   brkup,
131   brkdn,
132   perup,
133   perdn,
134
135   //GREEL
136         rone,  // 1:: ⅰ
137         rtwo,
138         rthree,
139         rfour,  // 4:: ⅳ
140         rfive,  // 5:: ⅴ
141         rsix,  // 6:: ⅵ
142         rseven,  // 7:: ⅶ
143         reight,  // 8:: ⅷ
144         rnine,  // 9:: ⅸ
145         rten,  // 0:: ⅹ
146         gq,  // q:: θ
147         gw,  // w:: ω
148         ge,  // e:: ε
149         gr,  // r:: ρ
150         gt,  // t:: τ
151         gy,  // y:: ψ
152         gu,  // u:: υ
153         gi,  // i:: ι
154         go,  // o:: ο
155         gp,  // p:: π
156         ga,  // a:: α
157         gs,  // s:: σ
158         gd,  // d:: δ
159         gf,  // f:: φ
160         gg,  // g:: γ
161         gh,  // h:: η
162         gj,  // j:: ϑ
163         gk,  // k:: κ
164         gl,  // l:: λ
165         gz,  // z:: ζ
166         gx,  // x:: ξ
167         gc,  // c:: χ
168         gv,  // v:: ς
169         gb,  // b:: β
170         gn,  // n:: ν
171         gm,  // m:: μ
172
173   //GREEU
174         Rone,  // 1:: Ⅰ
175         Rtwo,  // 2:: Ⅱ
176         Rthree,  // 3:: Ⅲ
177         Rfour,  // 4:: Ⅳ
178         Rfive,  // 5:: Ⅴ
179         Rsix,  // 6:: Ⅵ
180         Rseven,  // 7:: Ⅶ
181         Reight,  // 8:: Ⅷ
182         Rnine,  // 9:: Ⅸ
183   Rten,
184         Gq,  // Q:: Θ
185         Gw,  // W:: Ω
186         Ge,  // E:: Ε
187         Gr,  // R:: Ρ
188         Gt,  // T:: Τ
189         Gy,  // Y:: Ψ
190         Gu,  // U:: Υ
191         Gi,  // I:: Ι
192         Go,  // O:: Ο
193         Gp,  // P:: Π
194         Ga,  // A:: Α
195         Gs,  // S:: Σ
196         Gd,  // D:: Δ
197         Gf,  // F:: Φ
198         Gg,  // G:: Γ
199         Gh,  // H:: Η
200         Gj,  // J:: J
201         Gk,  // K:: Κ
202         Gl,  // L:: Λ
203         Gz,  // Z:: Ζ
204         Gx,  // X:: Ξ
205         Gc,  // C:: Χ
206         Gv,  // V:: V
207         Gb,  // B:: Β
208         Gn,  // N:: Ν
209         Gm,  // M:: Μ
210 };
211
212 const uint32_t PROGMEM unicode_map[] = {
213   //MATH
214         [neq] = 0x2260,  //≠
215         [intgrl] = 0x222B,  //∫
216         [angl] = 0x2220,  //∠
217         [imply] = 0x21D2,  //⇒
218         [equiv] = 0x21D4,  //⇔
219         [porp] = 0x221D,  //∝
220         [exists] = 0x2203,  //∃
221         [nexists] = 0x2204,  //∄
222         [forall] = 0x2200,  //∀
223         [and] = 0x2227,  //∧
224         [or] = 0x2228,  //∨
225         [xor] = 0x2295,  //⊕
226         [apeql] = 0x2245,  //≅
227         [root] = 0x221A,  //√
228         [not] = 0x00AC,  //¬
229         [sum] = 0x2211,  //∑
230         [plsminus] = 0x00B1,  //±
231         [infin] = 0x221E,  //∞
232         [emtyset] = 0x2205,  //∅
233         [Mn] = 0x2115,  //ℕ
234         [Mz] = 0x2124,  //ℤ
235         [Mq] = 0x211A,  //ℚ
236         [Mr] = 0x211D,  //ℝ
237         [Mc] = 0x2102,  //ℂ
238         [eleof] = 0x2208,  //∈
239         [member] = 0x220B,  //∋
240         [neleof] = 0x2209,  //∉
241         [nmember] = 0x220C,  //∌
242         [subsetof] = 0x2282,  //⊂
243         [suprsetof] = 0x2283,  //
244         [intersection] = 0x2229,  //∩
245         [Munion] = 0x222A,  //∪
246   //Symbol
247         [arwl] = 0x2190,  //←
248   [arwu] = 0x2191, //↑
249         [arwr] = 0x2192,  //→
250   [arwd] = 0x2193, //↓
251
252         [uxclm] = 0x00A1,  //¡
253   [cent] = 0x00A2, //¢
254   [degree] = 0x00B0, //°
255   [trade] = 0x2122, //™
256   [copy] = 0x00A9, //©
257   [numero] = 0x2116, //№
258   [sect] = 0x00A7, //§
259   [mdot] = 0x00B7, //·
260   [rang] = 0x299C, //⦜
261
262
263   [lshade] = 0x2591,//░
264   [mshade] = 0x2592,//▒
265   [dshade] = 0x2593,//▓
266
267   [fire] = 0x1F525, //🔥
268   [water] = 0x1F322, //🌢
269   [cleft] = 0x1F12F, //🄯
270   [baster] = 0x1F7BC, //🞼
271   [neteen] = 0x1F51E, //🔞
272   [floppy] = 0x1F5AB, //🖫
273
274         [boxemp] = 0x2610,  //☐
275         [boxchk] = 0x2611,  //☑
276         [boxX] = 0x2612,  //☒
277
278         [bbstr] = 0x23A1,  //⎡
279         [bbstl] = 0x23A4,  //⎤
280         [bbml] = 0x23A8,  //⎨
281         [bbmr] = 0x23AC,  //⎬
282         [bbmb] = 0x23AA,  //⎪
283         [bbrtr] = 0x23A7,  //⎧
284         [bbrbr] = 0x23A9,  //⎩
285         [bbrtl] = 0x23AB,  //⎫
286         [bbrbl] = 0x23AD,  //⎭
287         [bbsbr] = 0x23A3,  //⎣
288         [bbsbl] = 0x23A6,  //⎦
289         [bbmbr] = 0x23A5,  //⎥
290         [bbmbl] = 0x23A2,  //⎢
291
292   [Agrave] = 0x0300,//è //above  [wtf] = 0x1242A, //𒐪
293         [Aacute] = 0x0301,//é //1st
294   [Acircm] = 0x0302,//ê //2nd
295         [Atilde] = 0x0303,//ẽ //5th
296         [Abreve] = 0x0306,//ĕ //4th
297         [Adiaer] = 0x0308,//ë //3rd
298         [Adacut] = 0x030B,//e̋
299
300   // not all ogham letters, as I
301   // actually intend to use them for hex
302   [OS] = 0x1680,//space
303   [Oa] = 0x1681,//1
304   [Ob] = 0x1682,//2
305   [Oc] = 0x1683,//3
306   [Od] = 0x1684,//4
307   [Oe] = 0x1685,//5
308   [Of] = 0x1686,//6
309   [Og] = 0x1687,//7
310   [Oh] = 0x1688,//8
311   [Oi] = 0x1689,//9
312   [OA] = 0x168A,//A
313   [OB] = 0x168B,//B
314   [OC] = 0x168C,//C
315   [OD] = 0x168D,//D
316   [OE] = 0x168E,//E
317   [OF] = 0x168F,//F
318   [Os] = 0x169B,//Start
319   [OED] = 0x169C,//End
320   [Ox] = 0x1695,//X
321
322   [gnd] = 0x23DA,//⏚
323   [sqr] = 0x238D,//⎍, actually monostable
324   [sine] = 0x223F,//∿
325   [opt] = 0x2325,//⌥, actually option used for switch
326
327         [geq] = 0x2264,  //≤
328         [leq] = 0x2265,  //≥
329         [brkup] = 0xFE38,  //︸
330         [brkdn] = 0xFE37,  //︷
331   [perup] = 0xFE35, //︵
332   [perdn] = 0xFE36, //︶
333   //GREEKL
334   [rone] = 0x2170,  // 1:: ⅰ
335         [rtwo] = 0x2171,  // 2:: ⅱ
336         [rthree] = 0x2172,  // 3:: ⅲ
337         [rfour] = 0x2173,  // 4:: ⅳ
338         [rfive] = 0x2174,  // 5:: ⅴ
339         [rsix] = 0x2175,  // 6:: ⅵ
340         [rseven] = 0x2176,  // 7:: ⅶ
341         [reight] = 0x2177,  // 8:: ⅷ
342         [rnine] = 0x2178,  // 9:: ⅸ
343         [rten] = 0x2179,  // 0:: ⅹ
344         [gq] = 0x03B8,  // q:: θ
345         [gw] = 0x03C9,  // w:: ω
346         [ge] = 0x03B5,  // e:: ε
347         [gr] = 0x03C1,  // r:: ρ
348         [gt] = 0x03C4,  // t:: τ
349         [gy] = 0x03C8,  // y:: ψ
350         [gu] = 0x03C5,  // u:: υ
351         [gi] = 0x03B9,  // i:: ι
352         [go] = 0x03BF,  // o:: ο
353         [gp] = 0x03C0,  // p:: π
354         [ga] = 0x03B1,  // a:: α
355         [gs] = 0x03C3,  // s:: σ
356         [gd] = 0x03B4,  // d:: δ
357         [gf] = 0x03C6,  // f:: φ
358         [gg] = 0x03B3,  // g:: γ
359         [gh] = 0x03B7,  // h:: η
360         [gj] = 0x03D1,  // j:: ϑ
361         [gk] = 0x03BA,  // k:: κ
362         [gl] = 0x03BB,  // l:: λ
363         [gz] = 0x03B6,  // z:: ζ
364         [gx] = 0x03BE,  // x:: ξ
365         [gc] = 0x03C7,  // c:: χ
366         [gv] = 0x03C2,  // v:: ς
367         [gb] = 0x03B2,  // b:: β
368         [gn] = 0x03BD,  // n:: ν
369         [gm] = 0x03BC,  // m:: μ
370   //GREEKU
371         [Rone] = 0x2160,  // 1:: Ⅰ
372         [Rtwo] = 0x2161,  // 2:: Ⅱ
373         [Rthree] = 0x2162,  // 3:: Ⅲ
374         [Rfour] = 0x2163,  // 4:: Ⅳ
375         [Rfive] = 0x2164,  // 5:: Ⅴ
376         [Rsix] = 0x2165,  // 6:: Ⅵ
377         [Rseven] = 0x2166,  // 7:: Ⅶ
378         [Reight] = 0x2167,  // 8:: Ⅷ
379         [Rnine] = 0x2168,  // 9:: Ⅸ
380         [Rten] = 0x2169,  // 0:: Ⅹ
381         [Gq] = 0x0398,  // Q:: Θ
382         [Gw] = 0x03A9,  // W:: Ω
383         [Ge] = 0x0395,  // E:: Ε
384         [Gr] = 0x03A1,  // R:: Ρ
385         [Gt] = 0x03A4,  // T:: Τ
386         [Gy] = 0x03A8,  // Y:: Ψ
387         [Gu] = 0x03A5,  // U:: Υ
388         [Gi] = 0x0399,  // I:: Ι
389         [Go] = 0x039F,  // O:: Ο
390         [Gp] = 0x03A0,  // P:: Π
391         [Ga] = 0x0391,  // A:: Α
392         [Gs] = 0x03A3,  // S:: Σ
393         [Gd] = 0x0394,  // D:: Δ
394         [Gf] = 0x03A6,  // F:: Φ
395         [Gg] = 0x0393,  // G:: Γ
396         [Gh] = 0x0397,  // H:: Η
397         [Gj] = 0x004A,  // J:: J
398         [Gk] = 0x039A,  // K:: Κ
399         [Gl] = 0x039B,  // L:: Λ
400         [Gz] = 0x0396,  // Z:: Ζ
401         [Gx] = 0x039E,  // X:: Ξ
402         [Gc] = 0x03A7,  // C:: Χ
403         [Gv] = 0x0056,  // V:: V
404         [Gb] = 0x0392,  // B:: Β
405         [Gn] = 0x039D,  // N:: Ν
406         [Gm] = 0x039C,  // M:: Μ
407 };
408
409 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
410
411 [BASE] = LAYOUT_ergodox(  // layer 0 : default
412         KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV,
413         KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BSLS,
414         KC_EQL, KC_A, KC_O, KC_E, KC_U, KC_I,
415         KC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_AMPR,
416         OSL(FNLR), TT(GREL), TT(MATH), KC_UP, KC_DOWN,
417         KC_LBRC, KC_HOME, KC_INS, KC_SPC, KC_LGUI, KC_DEL,
418
419         OSL(FNLR), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
420         KC_PGUP, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
421         KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
422         KC_PGDN, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC,
423         KC_LEFT, KC_RIGHT, KC_RALT, TT(SYMB), TT(QWER),
424         KC_END, KC_RBRC, KC_PSCR, KC_RALT, KC_RCTL, KC_ENT
425 ),
426
427 [FNLR] = LAYOUT_ergodox(
428        // left hand
429        KC_NO,   KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_NO,
430        KC_NO,KC_F11, KC_F12, KC_F13,KC_F14, KC_F15,  KC_NO,
431        KC_NO,KC_F21, KC_F22, KC_F23,KC_F24, KC_NO,
432        KC_NO,KC_PAUSE,KC_PSCR,KC_SLCK,KC_NO,KC_NO,KC_NO,
433           EEP_RST,TO(BASE),TO(BASE),TO(BASE),TO(BASE),
434                                        KC_NO,KC_NO,
435                                                KC_NO,
436                                KC_NO,KC_NO,KC_NO,
437        // right hand
438        TO(BASE), KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  UC_M_LN,
439        KC_NO, KC_F16,  KC_F17,KC_F18,   KC_F19,  KC_F20,  UC_M_WI,
440                 KC_NO, KC_NO,   KC_NO,    KC_NO,    KC_NO, KC_NO,
441        KC_NO, KC_NO, KC_NO,   KC_NO,    KC_NO,    KC_NO, KC_NO,
442                          KC_NO,KC_NO,  KC_NO,    KC_NO,  KC_NO,
443        KC_NO, KC_NO,
444        KC_NO,
445        KC_NO, KC_RCTL, KC_NO
446 ),
447
448 [QWER] = LAYOUT_ergodox(
449         KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV,
450         KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSLS,
451         KC_AMPR, KC_A, KC_S, KC_D, KC_F, KC_G,
452         KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_QUOT,
453         KC_BSLS, KC_LCTL, KC_LGUI, KC_RALT, KC_APP,
454         KC_LBRC, KC_HOME, KC_PGUP, KC_SPC, KC_LSFT, KC_PGDN,
455
456         OSL(FNLR), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
457         KC_MINS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_SLSH,
458         KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
459         KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
460         KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, TO(BASE),
461         KC_END, KC_INS, KC_DEL, KC_RGHT, KC_ENT, KC_SPC
462 ),
463
464 [MATH] = LAYOUT_ergodox(
465         KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV,
466         KC_TAB, X(Mc),  X(Munion),      X(arwl),        X(or),  X(exists),      KC_BSLASH,
467         X(arwr), X(root), X(and), X(imply), X(nexists), X(forall),
468         KC_LSPO,        KC_SCLN,        X(intgrl),      X(Mn),  X(Mz),  X(member),      X(arwl),
469         KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
470         KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
471
472         TT(FNLR), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
473         KC_PGUP, X(plsminus),   X(infin),       X(neleof),      X(equiv),       X(Mq),  KC_EQL,
474         X(sum), X(emtyset),     X(porp),        X(suprsetof),   X(not), X(neq),
475         KC_PGDN,        X(subsetof),    X(intersection),        X(angl),        X(nmember),     X(eleof),       KC_RSPC,
476         KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
477         KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
478 ),
479
480 [SYMB] = LAYOUT_ergodox(
481         X(Os), X(Oa), X(Ob), X(Oc), X(Od), X(Oe), X(mdot),
482         X(boxemp), X(bbstr), X(bbrtr), X(bbrtl), X(bbstl), X(degree), X(brkdn),
483         X(boxchk), X(bbmbl), X(bbml), X(bbmr), X(bbmbr), X(neteen),
484         X(boxX), X(bbsbr), X(bbrbr), X(bbrbl), X(bbsbl), X(uxclm), X(brkup),
485         X(floppy), TO(BASE), TO(BASE), X(arwu), X(arwd),
486         X(fire), X(lshade), X(mshade), KC_SPC, X(OS), X(dshade),
487
488         X(Ox), X(Of), X(Og), X(Oh), X(Oi), X(OA), X(OB),
489         X(numero), X(trade), X(copy), X(cleft), X(cent), X(OED), X(OC),
490         X(Agrave), X(gnd), X(sqr), X(sine), X(opt), X(OD),
491         X(sect), X(Aacute), X(Acircm), X(Adiaer), X(Abreve), X(Atilde), X(OE),
492         X(arwl), X(arwr), X(geq), X(leq), X(OF),
493         X(rang), X(water), X(perup), X(perdn), X(baster), KC_ENT
494 ),
495
496 [GREL] = LAYOUT_ergodox(
497         KC_ESC, X(Rone), X(Rtwo), X(Rthree), X(Rfour), X(Rfive), KC_GRV,
498         KC_TAB, KC_QUOT, KC_COMM, KC_DOT, X(gp), X(gy), KC_SLSH,
499         KC_SLSH, X(ga), X(go), X(ge), X(gu), X(gi),
500         MO(GREU), KC_SCLN, X(gq), X(gj), X(gk), X(gx), KC_AMPR,
501         KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
502         KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
503
504         TO(BASE), X(Rsix), X(Rseven), X(Reight), X(Rnine), X(Rten), KC_BSPC,
505         KC_PGUP, X(gf), X(gg), X(gc), X(gr), X(gl), KC_EQL,
506         X(gd), X(gh), X(gt), X(gn), X(gs), KC_MINS,
507         KC_PGDN, X(gb), X(gm), X(gw), X(gv), X(gz), MO(GREU),
508         KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
509         KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
510 ),
511
512 [GREU] = LAYOUT_ergodox(
513         KC_ESC, X(Rone), X(Rtwo), X(Rthree), X(Rfour), X(Rfive), KC_GRV,
514         KC_TAB, KC_QUOT, KC_COMM, KC_DOT, X(Gp), X(Gy), KC_SLSH,
515         KC_SLSH, X(Ga), X(Go), X(Ge), X(Gu), X(Gi),
516         KC_TRNS, KC_SCLN, X(Gq), X(Gj), X(Gk), X(Gx), KC_AMPR,
517         KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
518         KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
519
520         TO(BASE), X(Rsix), X(Rseven), X(Reight), X(Rnine), X(Rten), KC_BSPC,
521         KC_PGUP, X(Gf), X(Gg), X(Gc), X(Gr), X(Gl), KC_EQL,
522         X(Gd), X(Gh), X(Gt), X(Gn), X(Gs), KC_MINS,
523         KC_PGDN, X(Gb), X(Gm), X(Gw), X(Gv), X(Gz), KC_TRNS,
524         KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
525         KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
526 ),
527
528 };
529
530 // Runs just one time when the keyboard initializes.
531 void matrix_init_user(void) {
532
533 };
534
535 // Runs constantly in the background, in a loop.
536 void matrix_scan_user(void) {
537     uint8_t layer = biton32(layer_state);
538
539     ergodox_board_led_off();
540     ergodox_right_led_1_off();
541     ergodox_right_led_2_off();
542     ergodox_right_led_3_off();
543     switch (layer) {
544       // TODO: Make this relevant to the ErgoDox EZ.
545         case 1:
546             ergodox_right_led_1_on();
547             break;
548         case 2:
549             ergodox_right_led_2_on();
550             break;
551         default:
552             // none
553             break;
554     }
555 };