aboutsummaryrefslogtreecommitdiff
path: root/layouts
diff options
context:
space:
mode:
Diffstat (limited to 'layouts')
-rw-r--r--layouts/community/ergodox/adnw_k_o_y/keymap.c2
-rw-r--r--layouts/community/ergodox/adnw_p_u_q/keymap.c14
-rw-r--r--layouts/community/ergodox/algernon/keymap.c42
-rw-r--r--layouts/community/ergodox/algernon/rules.mk2
-rw-r--r--layouts/community/ergodox/bepo/keymap.c34
-rw-r--r--layouts/community/ergodox/bepo_alt/keymap.c14
-rw-r--r--layouts/community/ergodox/bepo_csa/keymap.c60
-rw-r--r--layouts/community/ergodox/berfarah/rules.mk2
-rw-r--r--layouts/community/ergodox/coderkun_neo2/keymap.c40
-rw-r--r--layouts/community/ergodox/colemak_code_friendly/rules.mk2
-rw-r--r--layouts/community/ergodox/colemak_osx_pc_no/keymap.c114
-rw-r--r--layouts/community/ergodox/deadcyclo/keymap.c371
-rw-r--r--layouts/community/ergodox/drashna/config.h1
-rw-r--r--layouts/community/ergodox/drashna/keymap.c232
-rw-r--r--layouts/community/ergodox/drashna/rules.mk4
-rw-r--r--layouts/community/ergodox/drashna/visualizer.c_old (renamed from layouts/community/ergodox/drashna/visualizer.c)0
-rw-r--r--layouts/community/ergodox/dvorak_programmer/rules.mk2
-rw-r--r--layouts/community/ergodox/dvorak_programmer_swe/keymap.c10
-rw-r--r--layouts/community/ergodox/dvorak_programmer_swe/readme.md2
-rw-r--r--layouts/community/ergodox/dvorak_svorak_a5/keymap.c12
-rw-r--r--layouts/community/ergodox/french_hacker/keymap.c10
-rw-r--r--layouts/community/ergodox/german-kinergo/keymap.c12
-rw-r--r--layouts/community/ergodox/german-lukas/keymap.c6
-rw-r--r--layouts/community/ergodox/german-manuneo/keymap.c10
-rw-r--r--layouts/community/ergodox/german/keymap.c6
-rw-r--r--layouts/community/ergodox/guni/keymap.c41
-rw-r--r--layouts/community/ergodox/ishigoya-jp/keymap.c2
-rw-r--r--layouts/community/ergodox/issmirnov/keymap.c2
-rw-r--r--layouts/community/ergodox/kejadlen/rules.mk2
-rw-r--r--layouts/community/ergodox/kristian/keymap.c2
-rw-r--r--layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c8
-rw-r--r--layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c118
-rw-r--r--layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c118
-rw-r--r--layouts/community/ergodox/osx_de/keymap.c52
-rw-r--r--layouts/community/ergodox/osx_de_adnw_koy/keymap.c18
-rw-r--r--layouts/community/ergodox/osx_de_experimental/keymap.c60
-rw-r--r--layouts/community/ergodox/osx_fr/keymap.c8
-rw-r--r--layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c6
-rw-r--r--layouts/community/ergodox/qwerty_code_friendly/keymap.c2
-rw-r--r--layouts/community/ergodox/software_neo2/keymap.c20
-rw-r--r--layouts/community/ergodox/supercoder/rules.mk (renamed from layouts/community/ergodox/supercoder/makefile.mk)2
-rw-r--r--layouts/community/ergodox/swedish-lindhe/keymap.c6
-rw-r--r--layouts/community/ergodox/swedish/keymap.c6
-rw-r--r--layouts/community/ergodox/townk_osx/rules.mk (renamed from layouts/community/ergodox/townk_osx/makefile.mk)0
-rw-r--r--layouts/community/ergodox/workman_osx_mdw/keymap.c2
-rw-r--r--layouts/community/numpad_5x6/bjohnson/rules.mk2
-rw-r--r--layouts/community/numpad_5x6/drashna/rules.mk2
-rw-r--r--layouts/community/ortho_4x12/brandonschlack/keymap.c3
-rw-r--r--layouts/community/ortho_4x12/brandonschlack/rules.mk2
-rw-r--r--layouts/community/ortho_4x12/buswerks/rules.mk2
-rw-r--r--layouts/community/ortho_4x12/drashna/config.h2
-rw-r--r--layouts/community/ortho_4x12/drashna/keymap.c146
-rw-r--r--layouts/community/ortho_4x12/drashna/rules.mk16
-rw-r--r--layouts/community/ortho_4x12/juno/keymap.c3
-rw-r--r--layouts/community/ortho_4x12/junonum/keymap.c3
-rw-r--r--layouts/community/ortho_4x12/junonum/rules.mk2
-rw-r--r--layouts/community/ortho_4x12/mguterl/keymap.c3
-rw-r--r--layouts/community/ortho_5x12/brandonschlack/keymap.c3
-rw-r--r--layouts/community/ortho_5x12/brandonschlack/rules.mk2
-rw-r--r--layouts/community/ortho_5x12/drashna/keymap.c44
-rw-r--r--layouts/community/ortho_5x12/drashna/rules.mk2
-rw-r--r--layouts/community/ortho_5x12/xyverz/rules.mk2
-rw-r--r--layouts/community/split_3x6_3/drashna/config.h43
-rw-r--r--layouts/community/split_3x6_3/drashna/keymap.c112
-rw-r--r--layouts/community/split_3x6_3/drashna/rules.mk3
-rw-r--r--layouts/default/60_abnt2/default_60_abnt2/keymap.c2
66 files changed, 775 insertions, 1103 deletions
diff --git a/layouts/community/ergodox/adnw_k_o_y/keymap.c b/layouts/community/ergodox/adnw_k_o_y/keymap.c
index 6ade0001c..589a9ea87 100644
--- a/layouts/community/ergodox/adnw_k_o_y/keymap.c
+++ b/layouts/community/ergodox/adnw_k_o_y/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36 KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, 36 KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
37 KC_DEL, DE_K, DE_DOT, DE_O, DE_COMM,DE_Y, TG(SYMB), 37 KC_DEL, DE_K, DE_DOT, DE_O, DE_COMM,DE_Y, TG(SYMB),
38 KC_BSPC, DE_H, DE_A, DE_E, DE_I, DE_U, 38 KC_BSPC, DE_H, DE_A, DE_E, DE_I, DE_U,
39 KC_LSFT, CTL_T(DE_X), DE_Q, DE_AE, DE_UE, DE_OE, ALL_T(KC_NO), 39 KC_LSFT, CTL_T(DE_X), DE_Q, DE_ADIA,DE_UDIA,DE_ODIA,ALL_T(KC_NO),
40 LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, 40 LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
41 ALT_T(KC_APP), KC_LGUI, 41 ALT_T(KC_APP), KC_LGUI,
42 KC_HOME, 42 KC_HOME,
diff --git a/layouts/community/ergodox/adnw_p_u_q/keymap.c b/layouts/community/ergodox/adnw_p_u_q/keymap.c
index a90fcbc2c..cf2ab9358 100644
--- a/layouts/community/ergodox/adnw_p_u_q/keymap.c
+++ b/layouts/community/ergodox/adnw_p_u_q/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
60 KC_H, KC_J, KC_K, KC_L, KC_RCTRL, 60 KC_H, KC_J, KC_K, KC_L, KC_RCTRL,
61 61
62 // right thumb-cluster 62 // right thumb-cluster
63 DE_QST, DE_DLR, 63 DE_QUES, DE_DLR,
64 LCTL(DE_C), 64 LCTL(DE_C),
65 KC_ESCAPE, KC_ENTER, KC_BSPACE 65 KC_ESCAPE, KC_ENTER, KC_BSPACE
66), 66),
@@ -134,8 +134,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
134// Diakritika 134// Diakritika
135[DIAK] = LAYOUT_ergodox( 135[DIAK] = LAYOUT_ergodox(
136 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 136 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
137 KC_TRNS, KC_TRNS, DE_UE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 137 KC_TRNS, KC_TRNS, DE_UDIA, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
138 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_AE, DE_OE, 138 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_ADIA, DE_ODIA,
139 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 139 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
140 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 140 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
141 KC_TRNS, KC_TRNS, 141 KC_TRNS, KC_TRNS,
@@ -218,8 +218,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
218[SYMBOLS] = LAYOUT_ergodox( 218[SYMBOLS] = LAYOUT_ergodox(
219 // left hand 219 // left hand
220 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, //DE_LBRC, 220 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, //DE_LBRC,
221 KC_TRNS,DE_SQ2, DE_RING, DE_TILD, DE_AT, DE_EXLM, DE_LPRN, 221 KC_TRNS,DE_SUP2,DE_DEG, DE_TILD, DE_AT, DE_EXLM, DE_LPRN,
222 KC_TRNS,DE_ACUT,DE_QUOT, DE_COLN, DE_CIRC, DE_LESS, 222 KC_TRNS,DE_ACUT,DE_QUOT, DE_COLN, DE_CIRC, DE_LABK,
223 KC_TRNS,DE_EURO,DE_PLUS, DE_EQL, DE_ASTR, DE_SLSH, DE_LCBR, 223 KC_TRNS,DE_EURO,DE_PLUS, DE_EQL, DE_ASTR, DE_SLSH, DE_LCBR,
224 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 224 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
225 225
@@ -230,8 +230,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
230 // right hand 230 // right hand
231 //DE_RBRC, 231 //DE_RBRC,
232 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, 232 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
233 DE_RPRN, DE_QST, DE_AMPR, DE_PARA, DE_DQOT, DE_SQ3, KC_TRNS, 233 DE_RPRN, DE_QUES, DE_AMPR, DE_SECT, DE_DQUO, DE_SUP3, KC_TRNS,
234 DE_MORE, DE_DLR, DE_SCLN, DE_PIPE, DE_GRV, KC_TRNS, 234 DE_RABK, DE_DLR, DE_SCLN, DE_PIPE, DE_GRV, KC_TRNS,
235 DE_RCBR, DE_BSLS, DE_PERC, DE_HASH, DE_MINS, DE_UNDS, KC_TRNS, 235 DE_RCBR, DE_BSLS, DE_PERC, DE_HASH, DE_MINS, DE_UNDS, KC_TRNS,
236 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 236 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
237 237
diff --git a/layouts/community/ergodox/algernon/keymap.c b/layouts/community/ergodox/algernon/keymap.c
index e6e9bdaf7..068087095 100644
--- a/layouts/community/ergodox/algernon/keymap.c
+++ b/layouts/community/ergodox/algernon/keymap.c
@@ -47,15 +47,15 @@ enum {
47 APP_SCL2, // Social #2 47 APP_SCL2, // Social #2
48 48
49 // Hungarian layer keys 49 // Hungarian layer keys
50 HU_AA, // Á 50 HU_AACU, // Á
51 HU_OO, // Ó 51 HU_OACU, // Ó
52 HU_EE, // É 52 HU_EACU, // É
53 HU_UU, // Ú 53 HU_UACU, // Ú
54 HU_II, // Í 54 HU_IACU, // Í
55 HU_OE, // Ö 55 HU_ODIA, // Ö
56 HU_UE, // Ü 56 HU_UDIA, // Ü
57 HU_OEE, // Ő 57 HU_ODAC, // Ő
58 HU_UEE, // Ű 58 HU_UDAC, // Ű
59 59
60 // number/symbol keys 60 // number/symbol keys
61 A_1, // 1 61 A_1, // 1
@@ -322,9 +322,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
322[HUN] = LAYOUT_ergodox( 322[HUN] = LAYOUT_ergodox(
323// left hand 323// left hand
324 KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO 324 KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
325,KC_NO ,KC_NO ,M(HU_OEE),KC_NO ,M(HU_UEE),KC_NO ,KC_NO 325,KC_NO ,KC_NO ,M(HU_ODAC),KC_NO ,M(HU_UDAC),KC_NO ,KC_NO
326,KC_NO ,M(HU_AA),M(HU_OO) ,M(HU_EE),M(HU_UU) ,M(HU_II) 326,KC_NO ,M(HU_AACU),M(HU_OACU) ,M(HU_EACU),M(HU_UACU) ,M(HU_IACU)
327,KC_NO ,KC_NO ,M(HU_OE) ,KC_NO ,M(HU_UE) ,KC_NO ,KC_NO 327,KC_NO ,KC_NO ,M(HU_ODIA) ,KC_NO ,M(HU_UDIA) ,KC_NO ,KC_NO
328,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO 328,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
329 329
330 ,KC_NO ,KC_NO 330 ,KC_NO ,KC_NO
@@ -588,23 +588,23 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
588 break; 588 break;
589 589
590 /* Hungarian layer */ 590 /* Hungarian layer */
591 case HU_AA: 591 case HU_AACU:
592 return ang_do_hun (record, KC_QUOT, KC_A); 592 return ang_do_hun (record, KC_QUOT, KC_A);
593 case HU_OO: 593 case HU_OACU:
594 return ang_do_hun (record, KC_QUOT, KC_O); 594 return ang_do_hun (record, KC_QUOT, KC_O);
595 case HU_EE: 595 case HU_EACU:
596 return ang_do_hun (record, KC_QUOT, KC_E); 596 return ang_do_hun (record, KC_QUOT, KC_E);
597 case HU_UU: 597 case HU_UACU:
598 return ang_do_hun (record, KC_QUOT, KC_U); 598 return ang_do_hun (record, KC_QUOT, KC_U);
599 case HU_II: 599 case HU_IACU:
600 return ang_do_hun (record, KC_QUOT, KC_I); 600 return ang_do_hun (record, KC_QUOT, KC_I);
601 case HU_OE: 601 case HU_ODIA:
602 return ang_do_hun (record, KC_DQT, KC_O); 602 return ang_do_hun (record, KC_DQT, KC_O);
603 case HU_UE: 603 case HU_UDIA:
604 return ang_do_hun (record, KC_DQT, KC_U); 604 return ang_do_hun (record, KC_DQT, KC_U);
605 case HU_OEE: 605 case HU_ODAC:
606 return ang_do_hun (record, KC_EQL, KC_O); 606 return ang_do_hun (record, KC_EQL, KC_O);
607 case HU_UEE: 607 case HU_UDAC:
608 return ang_do_hun (record, KC_EQL, KC_U); 608 return ang_do_hun (record, KC_EQL, KC_U);
609 609
610 /* Plover base */ 610 /* Plover base */
diff --git a/layouts/community/ergodox/algernon/rules.mk b/layouts/community/ergodox/algernon/rules.mk
index 1b4c0995f..e8972cf10 100644
--- a/layouts/community/ergodox/algernon/rules.mk
+++ b/layouts/community/ergodox/algernon/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE=no 1BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
2COMMAND_ENABLE=no 2COMMAND_ENABLE=no
3SLEEP_LED_ENABLE=no 3SLEEP_LED_ENABLE=no
4FORCE_NKRO ?= yes 4FORCE_NKRO ?= yes
diff --git a/layouts/community/ergodox/bepo/keymap.c b/layouts/community/ergodox/bepo/keymap.c
index 6ea8cba68..4090721d0 100644
--- a/layouts/community/ergodox/bepo/keymap.c
+++ b/layouts/community/ergodox/bepo/keymap.c
@@ -37,19 +37,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37 */ 37 */
38[BEPO] = LAYOUT_ergodox( 38[BEPO] = LAYOUT_ergodox(
39// Left hand 39// Left hand
40BP_DOLLAR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, KC_DEL, 40BP_DLR, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, KC_DEL,
41BP_PERCENT, BP_B, BP_E_ACUTE, BP_P, BP_O, BP_E_GRAVE, KC_BSPC, 41BP_PERC, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_BSPC,
42BP_W, BP_A, BP_U, BP_I, BP_E, BP_COMMA, 42BP_W, BP_A, BP_U, BP_I, BP_E, BP_COMM,
43BP_ECRC, BP_A_GRAVE, BP_Y, BP_X, BP_DOT, BP_K, KC_TAB, 43BP_ECIR, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_TAB,
44KC_ESC, KC_INS, KC_LGUI, KC_LCTL, KC_LALT, 44KC_ESC, KC_INS, KC_LGUI, KC_LCTL, KC_LALT,
45 DF(BEPO), DF(QW_B), 45 DF(BEPO), DF(QW_B),
46 MO(NUMK), 46 MO(NUMK),
47 KC_SPC, KC_LSHIFT, MO(FNAV), 47 KC_SPC, KC_LSHIFT, MO(FNAV),
48// Right hand 48// Right hand
49 KC_SLCK, BP_AT, BP_PLUS, BP_MINUS, BP_SLASH, BP_ASTR, BP_EQUAL, 49 KC_SLCK, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL,
50 KC_CAPSLOCK, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z, 50 KC_CAPSLOCK, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
51 BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, 51 BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
52 KC_NUMLOCK, BP_APOS, BP_Q, BP_G, BP_H, BP_F, BP_CCED, 52 KC_NUMLOCK, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, BP_CCED,
53 KC_ALGR, KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE, 53 KC_ALGR, KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE,
54DF(AZ_B), DF(BEPO), 54DF(AZ_B), DF(BEPO),
55MO(NUMK), 55MO(NUMK),
@@ -74,7 +74,7 @@ MO(FNAV), KC_RSHIFT, KC_ENTER),
74 */ 74 */
75[QW_B] = LAYOUT_ergodox( 75[QW_B] = LAYOUT_ergodox(
76// Left hand 76// Left hand
77KC_DOLLAR, S(KC_QUOT), S(KC_COMM), S(KC_DOT), KC_LPRN, KC_RPRN, KC_DEL, 77KC_DOLLAR, S(KC_DQUO), S(KC_COMM), S(KC_DOT), KC_LPRN, KC_RPRN, KC_DEL,
78KC_PERCENT, KC_B, KC_E, KC_P, KC_O, KC_E, KC_BSPC, 78KC_PERCENT, KC_B, KC_E, KC_P, KC_O, KC_E, KC_BSPC,
79KC_W, KC_A, KC_U, KC_I, KC_E, KC_COMMA, 79KC_W, KC_A, KC_U, KC_I, KC_E, KC_COMMA,
80KC_E, KC_A, KC_Y, KC_X, KC_DOT, KC_K, KC_TAB, 80KC_E, KC_A, KC_Y, KC_X, KC_DOT, KC_K, KC_TAB,
@@ -86,7 +86,7 @@ KC_ESC, KC_INS, KC_LGUI, KC_LCTL, KC_LALT,
86 KC_SLCK, KC_AT, KC_PLUS, KC_MINUS, KC_SLASH, KC_ASTR, KC_EQUAL, 86 KC_SLCK, KC_AT, KC_PLUS, KC_MINUS, KC_SLASH, KC_ASTR, KC_EQUAL,
87 KC_CAPSLOCK, KC_CIRC, KC_V, KC_D, KC_L, KC_J, KC_Z, 87 KC_CAPSLOCK, KC_CIRC, KC_V, KC_D, KC_L, KC_J, KC_Z,
88 KC_C, KC_T, KC_S, KC_R, KC_N, KC_M, 88 KC_C, KC_T, KC_S, KC_R, KC_N, KC_M,
89 KC_NUMLOCK, KC_QUOT, KC_Q, KC_G, KC_H, KC_F, KC_C, 89 KC_NUMLOCK, KC_DQUO, KC_Q, KC_G, KC_H, KC_F, KC_C,
90 MO(QW_A), KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE, 90 MO(QW_A), KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE,
91KC_TRNS, KC_TRNS, 91KC_TRNS, KC_TRNS,
92KC_TRNS, 92KC_TRNS,
@@ -111,7 +111,7 @@ KC_TRNS, MO(QW_S), KC_ENTER),
111 */ 111 */
112[QW_A] = LAYOUT_ergodox( 112[QW_A] = LAYOUT_ergodox(
113// Left hand 113// Left hand
114KC_DOLLAR, S(KC_QUOT), S(KC_COMM), S(KC_DOT), KC_LBRC, KC_RBRC, KC_DEL, 114KC_DOLLAR, S(KC_DQUO), S(KC_COMM), S(KC_DOT), KC_LBRC, KC_RBRC, KC_DEL,
115KC_PERCENT, KC_PIPE, KC_E, KC_AMPR, KC_O, KC_E, KC_BSPC, 115KC_PERCENT, KC_PIPE, KC_E, KC_AMPR, KC_O, KC_E, KC_BSPC,
116KC_W, KC_A, KC_U, KC_I, RALT(KC_5), KC_COMMA, 116KC_W, KC_A, KC_U, KC_I, RALT(KC_5), KC_COMMA,
117KC_E, KC_BSLASH, KC_LCBR, KC_RCBR, KC_DOT, KC_TILDE, KC_TAB, 117KC_E, KC_BSLASH, KC_LCBR, KC_RCBR, KC_DOT, KC_TILDE, KC_TAB,
@@ -123,7 +123,7 @@ KC_ESC, KC_INS, KC_LGUI, KC_LCTL, KC_LALT,
123 KC_SLCK, KC_AT, KC_PLUS, KC_MINUS, KC_SLASH, KC_ASTR, KC_EQUAL, 123 KC_SLCK, KC_AT, KC_PLUS, KC_MINUS, KC_SLASH, KC_ASTR, KC_EQUAL,
124 KC_CAPSLOCK, KC_CIRC, KC_V, KC_D, KC_L, KC_J, KC_Z, 124 KC_CAPSLOCK, KC_CIRC, KC_V, KC_D, KC_L, KC_J, KC_Z,
125 KC_C, KC_T, KC_S, KC_R, KC_N, KC_M, 125 KC_C, KC_T, KC_S, KC_R, KC_N, KC_M,
126 KC_NUMLOCK, KC_QUOT, KC_Q, KC_G, KC_H, KC_F, KC_C, 126 KC_NUMLOCK, KC_DQUO, KC_Q, KC_G, KC_H, KC_F, KC_C,
127 KC_TRNS, KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE, 127 KC_TRNS, KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE,
128KC_TRNS, KC_TRNS, 128KC_TRNS, KC_TRNS,
129KC_TRNS, 129KC_TRNS,
@@ -185,7 +185,7 @@ KC_TRNS, KC_TRNS, KC_TRNS),
185 */ 185 */
186[AZ_B] = LAYOUT_ergodox( 186[AZ_B] = LAYOUT_ergodox(
187// Left hand 187// Left hand
188FR_DLR, FR_QUOT, FR_LESS, FR_GRTR, FR_LPRN, FR_RPRN, KC_DEL, 188FR_DLR, FR_DQUO, FR_LABK, FR_RABK, FR_LPRN, FR_RPRN, KC_DEL,
189FR_PERC, KC_B, FR_EACU, KC_P, KC_O, FR_EGRV, KC_BSPC, 189FR_PERC, KC_B, FR_EACU, KC_P, KC_O, FR_EGRV, KC_BSPC,
190FR_W, FR_A, KC_U, KC_I, KC_E, FR_COMM, 190FR_W, FR_A, KC_U, KC_I, KC_E, FR_COMM,
191KC_E, FR_AGRV, KC_Y, KC_X, FR_DOT, KC_K, KC_TAB, 191KC_E, FR_AGRV, KC_Y, KC_X, FR_DOT, KC_K, KC_TAB,
@@ -197,7 +197,7 @@ KC_ESC, KC_INS, KC_LGUI, KC_LCTL, KC_LALT,
197 KC_SLCK, FR_AT, FR_PLUS, FR_MINS, FR_SLSH, FR_ASTR, FR_EQL, 197 KC_SLCK, FR_AT, FR_PLUS, FR_MINS, FR_SLSH, FR_ASTR, FR_EQL,
198 KC_CAPSLOCK, KC_LBRC, KC_V, KC_D, KC_L, KC_J, FR_Z, 198 KC_CAPSLOCK, KC_LBRC, KC_V, KC_D, KC_L, KC_J, FR_Z,
199 KC_C, KC_T, KC_S, KC_R, KC_N, FR_M, 199 KC_C, KC_T, KC_S, KC_R, KC_N, FR_M,
200 KC_NUMLOCK, FR_APOS, FR_Q, KC_G, KC_H, KC_F, FR_CCED, 200 KC_NUMLOCK, FR_QUOT, FR_Q, KC_G, KC_H, KC_F, FR_CCED,
201 MO(AZ_A), KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE, 201 MO(AZ_A), KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE,
202KC_TRNS, KC_TRNS, 202KC_TRNS, KC_TRNS,
203KC_TRNS, 203KC_TRNS,
@@ -222,8 +222,8 @@ KC_TRNS, MO(AZ_S), KC_ENTER),
222 */ 222 */
223[AZ_A] = LAYOUT_ergodox( 223[AZ_A] = LAYOUT_ergodox(
224// Left hand 224// Left hand
225FR_DLR, FR_QUOT, FR_LESS, FR_GRTR, FR_LBRC, FR_RBRC, KC_DEL, 225FR_DLR, FR_DQUO, FR_LABK, FR_RABK, FR_LBRC, FR_RBRC, KC_DEL,
226FR_PERC, FR_PIPE, FR_EACU, FR_AMP, KC_O, FR_EGRV, KC_BSPC, 226FR_PERC, FR_PIPE, FR_EACU, FR_AMPR, KC_O, FR_EGRV, KC_BSPC,
227FR_W, FR_A, FR_UGRV, S(KC_LBRC), FR_EURO, FR_COMM, 227FR_W, FR_A, FR_UGRV, S(KC_LBRC), FR_EURO, FR_COMM,
228FR_SLSH, FR_BSLS, FR_LCBR, FR_RCBR, FR_DOT, FR_TILD, KC_TAB, 228FR_SLSH, FR_BSLS, FR_LCBR, FR_RCBR, FR_DOT, FR_TILD, KC_TAB,
229KC_ESC, KC_INS, KC_LGUI, KC_LCTL, KC_LALT, 229KC_ESC, KC_INS, KC_LGUI, KC_LCTL, KC_LALT,
@@ -234,7 +234,7 @@ KC_ESC, KC_INS, KC_LGUI, KC_LCTL, KC_LALT,
234 KC_SLCK, FR_AT, FR_PLUS, FR_MINS, FR_SLSH, FR_ASTR, FR_EQL, 234 KC_SLCK, FR_AT, FR_PLUS, FR_MINS, FR_SLSH, FR_ASTR, FR_EQL,
235 KC_CAPSLOCK, KC_LBRC, KC_V, KC_D, KC_L, KC_J, FR_Z, 235 KC_CAPSLOCK, KC_LBRC, KC_V, KC_D, KC_L, KC_J, FR_Z,
236 KC_C, KC_T, KC_S, KC_R, KC_N, FR_M, 236 KC_C, KC_T, KC_S, KC_R, KC_N, FR_M,
237 KC_NUMLOCK, FR_APOS, FR_Q, KC_G, KC_H, KC_F, FR_CCED, 237 KC_NUMLOCK, FR_QUOT, FR_Q, KC_G, KC_H, KC_F, FR_CCED,
238 KC_TRNS, KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE, 238 KC_TRNS, KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE,
239KC_TRNS, KC_TRNS, 239KC_TRNS, KC_TRNS,
240KC_TRNS, 240KC_TRNS,
@@ -268,7 +268,7 @@ S(KC_ESC), S(KC_INS), S(KC_LGUI), S(KC_LCTL), S(KC_LALT),
268 KC_TRNS, 268 KC_TRNS,
269 KC_TRNS, KC_TRNS, KC_TRNS, 269 KC_TRNS, KC_TRNS, KC_TRNS,
270// Right hand 270// Right hand
271 KC_TRNS, FR_6, FR_7, FR_8, FR_9, FR_0, FR_OVRR, 271 KC_TRNS, FR_6, FR_7, FR_8, FR_9, FR_0, FR_DEG,
272 KC_TRNS, FR_EXLM, S(KC_V), S(KC_D), S(KC_L), S(KC_J), S(FR_Z), 272 KC_TRNS, FR_EXLM, S(KC_V), S(KC_D), S(KC_L), S(KC_J), S(FR_Z),
273 S(KC_C), S(KC_T), S(KC_S), S(KC_R), S(KC_N), S(FR_M), 273 S(KC_C), S(KC_T), S(KC_S), S(KC_R), S(KC_N), S(FR_M),
274 KC_TRNS, FR_QUES, S(FR_Q), S(KC_G), S(KC_H), S(KC_F), S(KC_C), 274 KC_TRNS, FR_QUES, S(FR_Q), S(KC_G), S(KC_H), S(KC_F), S(KC_C),
diff --git a/layouts/community/ergodox/bepo_alt/keymap.c b/layouts/community/ergodox/bepo_alt/keymap.c
index fc40afd87..a3bb955ab 100644
--- a/layouts/community/ergodox/bepo_alt/keymap.c
+++ b/layouts/community/ergodox/bepo_alt/keymap.c
@@ -30,20 +30,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30[BEPO] = LAYOUT_ergodox( 30[BEPO] = LAYOUT_ergodox(
31 31
32/* Left hand */ 32/* Left hand */
33BP_DOLLAR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, 33BP_DLR, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_AT,
34KC_TAB, BP_B, BP_E_ACUTE, BP_P, BP_O, BP_E_GRAVE, KC_BSPC, 34KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_BSPC,
35BP_W, BP_A, BP_U, BP_I, BP_E, BP_COMMA, 35BP_W, BP_A, BP_U, BP_I, BP_E, BP_COMM,
36KC_LSHIFT, BP_ECRC, BP_A_GRAVE, BP_Y, BP_X, BP_DOT, BP_K, 36KC_LSHIFT, BP_ECIR, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K,
37KC_LCTL, KC_LGUI, KC_LGUI, KC_LGUI, KC_LALT, 37KC_LCTL, KC_LGUI, KC_LGUI, KC_LGUI, KC_LALT,
38 KC_PGUP, KC_PGDOWN, 38 KC_PGUP, KC_PGDOWN,
39 KC_INS, 39 KC_INS,
40 KC_SPC, KC_LSHIFT, DF(FNAV), 40 KC_SPC, KC_LSHIFT, DF(FNAV),
41 41
42/* Right hand */ 42/* Right hand */
43 BP_PLUS, BP_MINUS, BP_MINUS, BP_SLASH, BP_ASTR, BP_EQUAL, BP_PERCENT, 43 BP_PLUS, BP_MINS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, BP_PERC,
44 KC_CAPSLOCK, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z, 44 KC_CAPSLOCK, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
45 BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, 45 BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
46 KC_ESC, BP_APOS, BP_Q, BP_G, BP_H, BP_F, BP_CCED, 46 KC_ESC, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, BP_CCED,
47 KC_ALGR, KC_RGUI, KC_RGUI, KC_RCTL, KC_ENTER, 47 KC_ALGR, KC_RGUI, KC_RGUI, KC_RCTL, KC_ENTER,
48DF(BEPO), KC_DEL, 48DF(BEPO), KC_DEL,
49DF(FNAV), 49DF(FNAV),
diff --git a/layouts/community/ergodox/bepo_csa/keymap.c b/layouts/community/ergodox/bepo_csa/keymap.c
index c6d4f628f..d869c5bb9 100644
--- a/layouts/community/ergodox/bepo_csa/keymap.c
+++ b/layouts/community/ergodox/bepo_csa/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
91[LR_BASE] = LAYOUT_ergodox( // layer 0 : default 91[LR_BASE] = LAYOUT_ergodox( // layer 0 : default
92 // left hand 92 // left hand
93 BP_DLR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, 93 BP_DLR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL,
94 KC_TAB, BP_B, BP_ECUT, BP_P, BP_O, BP_EGRV, KC_BSPC, 94 KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_BSPC,
95 BP_EQL, BP_A, BP_U, BP_I, BP_E, BP_COMM, 95 BP_EQL, BP_A, BP_U, BP_I, BP_E, BP_COMM,
96 KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_ENT, 96 KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_ENT,
97 KC_LCTL, M(M_FNLR), KC_LGUI, M(M_NMAL), KC_LALT, 97 KC_LCTL, M(M_FNLR), KC_LGUI, M(M_NMAL), KC_LALT,
@@ -102,9 +102,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
102 102
103 // right hand 103 // right hand
104 KC_DEL, KC_6, KC_7, KC_8, KC_9, KC_0, BP_W, 104 KC_DEL, KC_6, KC_7, KC_8, KC_9, KC_0, BP_W,
105 KC_BSPC, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z, 105 KC_BSPC, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
106 BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, 106 BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
107 KC_ENT, BP_APOS, BP_Q, BP_G, BP_H, BP_F, KC_RSFT, 107 KC_ENT, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KC_RSFT,
108 KC_ALGR, BP_PERC, KC_APP, BP_CCED, KC_RCTL, 108 KC_ALGR, BP_PERC, KC_APP, BP_CCED, KC_RCTL,
109 109
110 KC_LEFT, KC_RGHT, 110 KC_LEFT, KC_RGHT,
@@ -116,10 +116,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
116 */ 116 */
117[LR_CSA] = LAYOUT_ergodox( 117[LR_CSA] = LAYOUT_ergodox(
118 // left hand 118 // left hand
119 KC_DLR, CSA_DQOT, CSA_LGIL, CSA_RGIL, KC_LPRN, KC_RPRN, KC_TRNS, 119 KC_DLR, CA_DQUO, CA_LDAQ, CA_RDAQ, KC_LPRN, KC_RPRN, KC_TRNS,
120 KC_TRNS, KC_B, CSA_ECUT, KC_P, KC_O, CSA_EGRV, KC_TRNS, 120 KC_TRNS, KC_B, CA_EACU, KC_P, KC_O, CA_EGRV, KC_TRNS,
121 KC_EQL, KC_A, KC_U, KC_I, KC_E, KC_COMM, 121 KC_EQL, KC_A, KC_U, KC_I, KC_E, KC_COMM,
122 CSA(SFT), CSA_AGRV, KC_Y, KC_X, KC_DOT, KC_K, KC_TRNS, 122 CSA(SFT), CA_AGRV, KC_Y, KC_X, KC_DOT, KC_K, KC_TRNS,
123 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 123 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
124 124
125 KC_TRNS, KC_TRNS, 125 KC_TRNS, KC_TRNS,
@@ -127,11 +127,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
127 KC_TRNS, KC_TRNS, KC_TRNS, 127 KC_TRNS, KC_TRNS, KC_TRNS,
128 128
129 // right hand 129 // right hand
130 KC_TRNS, KC_AT, KC_PLUS, KC_MINS, CSA_SLSH, KC_ASTR, KC_W, 130 KC_TRNS, KC_AT, KC_PLUS, KC_MINS, CA_SLSH, KC_ASTR, KC_W,
131 KC_TRNS, CSA_DCRC, KC_V, KC_D, KC_L, KC_J, KC_Z, 131 KC_TRNS, CA_CIRC, KC_V, KC_D, KC_L, KC_J, KC_Z,
132 KC_C, KC_T, KC_S, KC_R, KC_N, KC_M, 132 KC_C, KC_T, KC_S, KC_R, KC_N, KC_M,
133 KC_TRNS, CSA_APOS, KC_Q, KC_G, KC_H, KC_F, CSA(SFT), 133 KC_TRNS, CA_QUOT, KC_Q, KC_G, KC_H, KC_F, CSA(SFT),
134 MO(LR_CSA_AGR), KC_PERC, KC_TRNS, CSA_CCED, KC_LCTL, // RCTL has a special behaviour in CSA so use LCTL 134 MO(LR_CSA_AGR), KC_PERC, KC_TRNS, CA_CCED, KC_LCTL, // RCTL has a special behaviour in CSA so use LCTL
135 135
136 KC_TRNS, KC_TRNS, 136 KC_TRNS, KC_TRNS,
137 KC_TRNS, 137 KC_TRNS,
@@ -174,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
174 KC_TRNS, M(M_6), M(M_7), M(M_8), M(M_9), M(M_0), KC_TRNS, 174 KC_TRNS, M(M_6), M(M_7), M(M_8), M(M_9), M(M_0), KC_TRNS,
175 KC_TRNS, KC_EXLM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 175 KC_TRNS, KC_EXLM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
176 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 176 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
177 KC_TRNS, CSA_QEST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 177 KC_TRNS, CA_QUES, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
178 CSA(SFT_AGR), M(M_GRV), KC_TRNS, KC_TRNS, KC_TRNS, 178 CSA(SFT_AGR), M(M_GRV), KC_TRNS, KC_TRNS, KC_TRNS,
179 179
180 KC_TRNS, KC_TRNS, 180 KC_TRNS, KC_TRNS,
@@ -205,10 +205,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
205 */ 205 */
206[LR_CSA_AGR] = LAYOUT_ergodox( 206[LR_CSA_AGR] = LAYOUT_ergodox(
207 // left hand 207 // left hand
208 MUC(NDSH), MUC(MDSH), CSA_LESS, CSA_GRTR, CSA_LBRC, CSA_RBRC, KC_TRNS, 208 MUC(NDSH), MUC(MDSH), CA_LABK, CA_RABK, CA_LBRC, CA_RBRC, KC_TRNS,
209 KC_TRNS, CSA_PIPE, CSA_DACT, KC_AMPR, CSA_OE, CSA_DGRV, KC_TRNS, 209 KC_TRNS, CA_PIPE, CA_ACUT, KC_AMPR, CA_OE, CA_GRV, KC_TRNS,
210 KC_NO, CSA_AE, CSA_UGRV, CSA_DTRM, CSA_EURO, CSA_RQOT, 210 KC_NO, CA_AE, CA_UGRV, CA_DIAE, CA_EURO, CA_RQSU,
211 CSA(AGR_SFT), CSA_BSLS, CSA_LCBR, CSA_RCBR, MUC(ELPS), CSA_TILD, KC_TRNS, 211 CSA(AGR_SFT), CA_BSLS, CA_LCBR, CA_RCBR, MUC(ELPS), CA_TILD, KC_TRNS,
212 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 212 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
213 213
214 KC_TRNS, KC_TRNS, 214 KC_TRNS, KC_TRNS,
@@ -216,11 +216,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
216 KC_UNDS, CSA(AGR_SFT), KC_TRNS, 216 KC_UNDS, CSA(AGR_SFT), KC_TRNS,
217 217
218 // right hand 218 // right hand
219 KC_TRNS, M(M_CRC), CSA_PSMS, KC_NO, CSA_DVSN, CSA_TIMS, CSA_DBRV, 219 KC_TRNS, M(M_CRC), CA_PLMN, KC_NO, CA_DIV, CA_MUL, CA_BREV,
220 KC_TRNS, CSA_IXLM, CSA_DCAR, CSA_ETH, KC_NO, CSA_IJ, KC_NO, 220 KC_TRNS, CA_IEXL, CA_CARN, CA_ETH, KC_NO, CA_IJ, KC_NO,
221 CSA_CPRT, CSA_THRN, CSA_SRPS, CSA_RTM, CSA_DTLD, CSA_DMCR, 221 CA_COPY, CA_THRN, CA_SS, CA_REGD, CA_DTIL, CA_MACR,
222 KC_TRNS, CSA_IQST, CSA_DRNG, CSA_MU, KC_NO, CSA_DOGO, CSA(AGR_SFT), 222 KC_TRNS, CA_IQUE, CA_RNGA, CA_MICR, KC_NO, CA_OGON, CSA(AGR_SFT),
223 KC_TRNS, KC_NO, KC_TRNS, CSA_DCED, KC_TRNS, 223 KC_TRNS, KC_NO, KC_TRNS, CA_CEDL, KC_TRNS,
224 224
225 KC_TRNS, KC_TRNS, 225 KC_TRNS, KC_TRNS,
226 KC_TRNS, 226 KC_TRNS,
@@ -250,10 +250,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
250 */ 250 */
251[LR_CSA_AGR_SFT] = LAYOUT_ergodox( 251[LR_CSA_AGR_SFT] = LAYOUT_ergodox(
252 // left hand 252 // left hand
253 CSA_PARG, KC_NO, CSA_LDQT, CSA_RDQT, KC_NO, KC_NO, KC_TRNS, 253 CA_PARA, KC_NO, CA_LDQU, CA_RDQU, KC_NO, KC_NO, KC_TRNS,
254 KC_TRNS, CSA_BPIP, CSA_DDCT, CSA_SECT, S(CSA_OE), M(M_GRV), KC_TRNS, 254 KC_TRNS, CA_BRKP, CA_DACU, CA_SECT, S(CA_OE), M(M_GRV), KC_TRNS,
255 KC_NO, S(CSA_AE), S(CSA_UGRV), CSA_DDTA, KC_NO, KC_NO, 255 KC_NO, S(CA_AE), S(CA_UGRV), CA_DOTA, KC_NO, KC_NO,
256 CSA(AGR_SFT), KC_NO, CSA_LQOT, CSA_RQOT, KC_NO, KC_NO, KC_TRNS, 256 CSA(AGR_SFT), KC_NO, CA_LSQU, CA_RSQU, KC_NO, KC_NO, KC_TRNS,
257 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 257 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
258 258
259 KC_TRNS, KC_TRNS, 259 KC_TRNS, KC_TRNS,
@@ -261,10 +261,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
261 KC_TRNS, CSA(AGR_SFT), KC_TRNS, 261 KC_TRNS, CSA(AGR_SFT), KC_TRNS,
262 262
263 // right hand 263 // right hand
264 KC_TRNS, KC_NO, CSA_NEGT, CSA_1QRT, CSA_1HLF, CSA_3QRT, KC_NO, 264 KC_TRNS, KC_NO, CA_NOT, CA_QRTR, CA_HALF, CA_TQTR, KC_NO,
265 KC_TRNS, KC_NO, KC_NO, S(CSA_ETH), KC_NO, S(CSA_IJ), KC_NO, 265 KC_TRNS, KC_NO, KC_NO, S(CA_ETH), KC_NO, S(CA_IJ), KC_NO,
266 KC_NO, S(CSA_THRN), S(CSA_SRPS), CSA_TM, KC_NO, CSA_ORDO, 266 KC_NO, S(CA_THRN), S(CA_SS), CA_TM, KC_NO, CA_MORD,
267 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, CSA_ORDA, CSA(AGR_SFT), 267 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, CA_FORD, CSA(AGR_SFT),
268 CSA(SFT_AGR), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 268 CSA(SFT_AGR), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
269 269
270 KC_TRNS, KC_TRNS, 270 KC_TRNS, KC_TRNS,
@@ -450,7 +450,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
450 case M_SCLN: 450 case M_SCLN:
451 return MACRO(D(SCLN), END); 451 return MACRO(D(SCLN), END);
452 case M_GRV: 452 case M_GRV:
453 return MACRO(I(75), DOWN(KC_ALGR), TYPE(CSA_DCRC), UP(KC_ALGR), T(SPACE), END); 453 return MACRO(I(75), DOWN(KC_ALGR), TYPE(CA_CIRC), UP(KC_ALGR), T(SPACE), END);
454 case M_NBSP: 454 case M_NBSP:
455 // use weak mod such that pressing another key will not be affected 455 // use weak mod such that pressing another key will not be affected
456 add_weak_mods(MOD_BIT(KC_ALGR)); 456 add_weak_mods(MOD_BIT(KC_ALGR));
@@ -474,7 +474,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
474 break; 474 break;
475 case M_CRC: 475 case M_CRC:
476 if (record->event.pressed) { 476 if (record->event.pressed) {
477 return MACRO(I(75), TYPE(CSA_DCRC), T(SPACE), END); 477 return MACRO(I(75), TYPE(CA_CIRC), T(SPACE), END);
478 } 478 }
479 break; 479 break;
480 case M_DBL0: 480 case M_DBL0:
diff --git a/layouts/community/ergodox/berfarah/rules.mk b/layouts/community/ergodox/berfarah/rules.mk
index abd95b500..2ad163064 100644
--- a/layouts/community/ergodox/berfarah/rules.mk
+++ b/layouts/community/ergodox/berfarah/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE = no 1BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
2COMMAND_ENABLE = no 2COMMAND_ENABLE = no
3SLEEP_LED_ENABLE = yes 3SLEEP_LED_ENABLE = yes
4FORCE_NKRO ?= yes 4FORCE_NKRO ?= yes
diff --git a/layouts/community/ergodox/coderkun_neo2/keymap.c b/layouts/community/ergodox/coderkun_neo2/keymap.c
index 638442676..b731ab495 100644
--- a/layouts/community/ergodox/coderkun_neo2/keymap.c
+++ b/layouts/community/ergodox/coderkun_neo2/keymap.c
@@ -33,20 +33,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 */ 33 */
34[BASE] = LAYOUT_ergodox( 34[BASE] = LAYOUT_ergodox(
35 // left hand 35 // left hand
36 KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, NEO_GRV, 36 KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, NE_GRV,
37 NEO_Y, NEO_X, NEO_V, NEO_L, NEO_C, NEO_W, KC_HOME, 37 NE_Y, NE_X, NE_V, NE_L, NE_C, NE_W, KC_HOME,
38 NEO_L1_L, NEO_U, NEO_I, NEO_A, NEO_E, NEO_O, 38 NE_L3L, NE_U, NE_I, NE_A, NE_E, NE_O,
39 KC_LSFT, NEO_UE, NEO_OE, NEO_AE, NEO_P, NEO_Z, TG(PMQ), 39 KC_LSFT, NE_UDIA, NE_ODIA, NE_ADIA, NE_P, NE_Z, TG(PMQ),
40 KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,NEO_L2_L, 40 KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,NE_L4L,
41 KC_LEFT, KC_UP, 41 KC_LEFT, KC_UP,
42 KC_MINS, 42 KC_MINS,
43 KC_SPC, KC_ENT, ALL_T(KC_NO), 43 KC_SPC, KC_ENT, ALL_T(KC_NO),
44 // right hand 44 // right hand
45 NEO_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, 45 NE_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
46 KC_END, NEO_K, NEO_H, NEO_G, NEO_F, NEO_Q, NEO_SS, 46 KC_END, NE_K, NE_H, NE_G, NE_F, NE_Q, NE_SS,
47 NEO_S, NEO_N, NEO_R, NEO_T, NEO_D, NEO_L1_R, 47 NE_S, NE_N, NE_R, NE_T, NE_D, NE_L3R,
48 TG(PMN), NEO_B, NEO_M, KC_COMM,KC_DOT, NEO_J, KC_RSFT, 48 TG(PMN), NE_B, NE_M, KC_COMM,KC_DOT, NE_J, KC_RSFT,
49 NEO_L2_R,KC_RGUI,MO(FMU),KC_LALT,KC_RCTL, 49 NE_L4R,KC_RGUI,MO(FMU),KC_LALT,KC_RCTL,
50 KC_DOWN, KC_RGHT, 50 KC_DOWN, KC_RGHT,
51 KC_MINS, 51 KC_MINS,
52 MEH_T(KC_NO),KC_ENT,KC_SPC 52 MEH_T(KC_NO),KC_ENT,KC_SPC
@@ -76,8 +76,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
76 // left hand 76 // left hand
77 KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, 77 KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
78 DE_C, DE_P, DE_T, DE_F, DE_K, DE_L, KC_HOME, 78 DE_C, DE_P, DE_T, DE_F, DE_K, DE_L, KC_HOME,
79 NEO_L1_L, DE_D, DE_H, DE_OE, DE_O, DE_I, 79 NE_L3L, DE_D, DE_H, DE_ODIA,DE_O, DE_I,
80 KC_LSFT, DE_AE, DE_Q, DE_R, DE_W, DE_N, KC_TRNS, 80 KC_LSFT, DE_ADIA,DE_Q, DE_R, DE_W, DE_N, KC_TRNS,
81 KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,MO(NHL), 81 KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,MO(NHL),
82 KC_LEFT, KC_UP, 82 KC_LEFT, KC_UP,
83 KC_MINS, 83 KC_MINS,
@@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
85 // right hand 85 // right hand
86 DE_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, 86 DE_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
87 KC_END, DE_B, DE_A, DE_S, DE_G, DE_V, DE_Y, 87 KC_END, DE_B, DE_A, DE_S, DE_G, DE_V, DE_Y,
88 DE_U, DE_MINS,DE_Z, DE_E, DE_X, NEO_L1_R, 88 DE_U, DE_MINS,DE_Z, DE_E, DE_X, NE_L3R,
89 KC_TRNS, DE_J, DE_M, DE_COMM,DE_DOT, DE_SS, KC_RSFT, 89 KC_TRNS, DE_J, DE_M, DE_COMM,DE_DOT, DE_SS, KC_RSFT,
90 MO(NHL),KC_RGUI,MO(FMU),KC_LALT,KC_RCTL, 90 MO(NHL),KC_RGUI,MO(FMU),KC_LALT,KC_RCTL,
91 KC_DOWN, KC_RGHT, 91 KC_DOWN, KC_RGHT,
@@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
117 KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, 117 KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
118 DE_Y, DE_X, DE_V, DE_L, DE_C, DE_W, KC_HOME, 118 DE_Y, DE_X, DE_V, DE_L, DE_C, DE_W, KC_HOME,
119 KC_NO, DE_U, DE_I, DE_A, DE_E, DE_O, 119 KC_NO, DE_U, DE_I, DE_A, DE_E, DE_O,
120 KC_LSFT, DE_UE, DE_OE, DE_AE, DE_P, DE_Z, KC_TRNS, 120 KC_LSFT, DE_UDIA,DE_ODIA,DE_ADIA,DE_P, DE_Z, KC_TRNS,
121 KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,MO(NHL), 121 KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,MO(NHL),
122 KC_LEFT, KC_UP, 122 KC_LEFT, KC_UP,
123 KC_MINS, 123 KC_MINS,
@@ -215,12 +215,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
215 ), 215 ),
216}; 216};
217 217
218const uint16_t PROGMEM fn_actions[] = {
219 [BASE] = ACTION_FUNCTION(BASE),
220 [PMQ] = ACTION_FUNCTION(PMQ),
221 [PMN] = ACTION_FUNCTION(PMN),
222};
223
224// Runs just one time when the keyboard initializes. 218// Runs just one time when the keyboard initializes.
225void matrix_init_user(void) { 219void matrix_init_user(void) {
226 set_unicode_input_mode(UC_LNX); 220 set_unicode_input_mode(UC_LNX);
@@ -260,12 +254,12 @@ void matrix_scan_user(void)
260}; 254};
261 255
262 256
263// Override Unicode start method to use NEO_U instead of KC_U 257// Override Unicode start method to use NE_U instead of KC_U
264void unicode_input_start (void) { 258void unicode_input_start (void) {
265 register_code(KC_LCTL); 259 register_code(KC_LCTL);
266 register_code(KC_LSFT); 260 register_code(KC_LSFT);
267 register_code(NEO_U); 261 register_code(NE_U);
268 unregister_code(NEO_U); 262 unregister_code(NE_U);
269 unregister_code(KC_LSFT); 263 unregister_code(KC_LSFT);
270 unregister_code(KC_LCTL); 264 unregister_code(KC_LCTL);
271}; 265};
diff --git a/layouts/community/ergodox/colemak_code_friendly/rules.mk b/layouts/community/ergodox/colemak_code_friendly/rules.mk
index 2bff0c5cf..ee89b5486 100644
--- a/layouts/community/ergodox/colemak_code_friendly/rules.mk
+++ b/layouts/community/ergodox/colemak_code_friendly/rules.mk
@@ -1,5 +1,5 @@
1COMMAND_ENABLE = no 1COMMAND_ENABLE = no
2BOOTMAGIC_ENABLE = no 2BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
3MOUSEKEY_ENABLE = no 3MOUSEKEY_ENABLE = no
4CONSOLE_ENABLE = no 4CONSOLE_ENABLE = no
5RGBLIGHT_ENABLE = no 5RGBLIGHT_ENABLE = no
diff --git a/layouts/community/ergodox/colemak_osx_pc_no/keymap.c b/layouts/community/ergodox/colemak_osx_pc_no/keymap.c
index a4a453349..b9986e0e9 100644
--- a/layouts/community/ergodox/colemak_osx_pc_no/keymap.c
+++ b/layouts/community/ergodox/colemak_osx_pc_no/keymap.c
@@ -9,6 +9,18 @@
9#define NUMB_SYMB_MAC 3 // numbers and symbols mac 9#define NUMB_SYMB_MAC 3 // numbers and symbols mac
10#define FUNCTION 4 // function keys 10#define FUNCTION 4 // function keys
11 11
12enum custom_keycodes {
13 TILDE_NO = SAFE_RANGE,
14 LESS_NO,
15 GRTR_NO,
16 CIRC_NO,
17 ACUT_NO,
18 GRV_NO,
19 LESS_NO_MAC,
20 GRTR_NO_MAC,
21 ACUT_NO_MAC
22};
23
12const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13 25
14/* Keymap 0: Basic layer PC 26/* Keymap 0: Basic layer PC
@@ -35,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35[BASE] = LAYOUT_ergodox( 47[BASE] = LAYOUT_ergodox(
36 // left hand 48 // left hand
37 NO_BSLS, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, NO_ASTR, TG(1), 49 NO_BSLS, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, NO_ASTR, TG(1),
38 NO_QUES, KC_Q, KC_W, KC_F, KC_P, KC_G, NO_QUO2, 50 NO_QUES, KC_Q, KC_W, KC_F, KC_P, KC_G, NO_DQUO,
39 NO_COLN, KC_A, KC_R, KC_S, KC_T, KC_D, 51 NO_COLN, KC_A, KC_R, KC_S, KC_T, KC_D,
40 KC_EXLM, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, 52 KC_EXLM, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN,
41 MO(4), KC_BTN1, KC_BTN2, KC_TAB,GUI_T(KC_COMMA), 53 MO(4), KC_BTN1, KC_BTN2, KC_TAB,GUI_T(KC_COMMA),
@@ -43,11 +55,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43 NO_PLUS, 55 NO_PLUS,
44 OSM(MOD_LSFT),CTL_T(KC_DOT),ALT_T(NO_MINS), 56 OSM(MOD_LSFT),CTL_T(KC_DOT),ALT_T(NO_MINS),
45 // right hand 57 // right hand
46 KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, 58 CIRC_NO, NO_DLR, NO_LPRN, NO_RPRN ,LESS_NO, GRTR_NO,NO_AT,
47 NO_APOS, KC_J, KC_L, KC_U, KC_Y, NO_AA, NO_AE , 59 NO_QUOT, KC_J, KC_L, KC_U, KC_Y, NO_ARNG, NO_AE ,
48 KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSLH, 60 KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSTR,
49 NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_UNDS, 61 NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_UNDS,
50 KC_LEFT, KC_ESC, KC_FN7, KC_HASH, MO(2), 62 KC_LEFT, KC_ESC, GRV_NO, KC_HASH, MO(2),
51 KC_INSERT, NO_SLSH, 63 KC_INSERT, NO_SLSH,
52 KC_DEL, 64 KC_DEL,
53 KC_BSPC,KC_ENT,KC_SPC 65 KC_BSPC,KC_ENT,KC_SPC
@@ -74,20 +86,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
74 * `--------------------' `--------------------' 86 * `--------------------' `--------------------'
75 */ 87 */
76[BASE_MAC] = LAYOUT_ergodox( 88[BASE_MAC] = LAYOUT_ergodox(
77 NO_BSLS_MAC, KC_TRNS,KC_TRNS, NO_LCBR_MAC,NO_RCBR_MAC, KC_TRNS, KC_TRNS, 89 S(ALGR(NO_7)), KC_TRNS,KC_TRNS, S(ALGR(NO_8)),S(ALGR(NO_9)), KC_TRNS, KC_TRNS,
78 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, 90 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS,
79 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
80 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 92 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
81 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CTL_T(KC_COMMA), 93 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CTL_T(KC_COMMA),
82 KC_TRNS, NO_PIPE_MAC, 94 KC_TRNS, ALGR(NO_7),
83 KC_TRNS, 95 KC_TRNS,
84 KC_TRNS,GUI_T(KC_DOT) , KC_TRNS, 96 KC_TRNS,GUI_T(KC_DOT) , KC_TRNS,
85 // right hand 97 // right hand
86 KC_TRNS, NO_DLR_MAC, KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_AT_MAC, 98 KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,LESS_NO_MAC, GRTR_NO_MAC,NO_QUOT,
87 NO_APOS_MAC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 99 NO_LABK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
88 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 100 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
89 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 101 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
90 KC_TRNS, KC_TRNS, NO_GRV_MAC, KC_TRNS, MO(3), 102 KC_TRNS, KC_TRNS, ALGR(NO_BSLS), KC_TRNS, MO(3),
91 KC_TRNS, KC_TRNS, 103 KC_TRNS, KC_TRNS,
92 KC_TRNS, 104 KC_TRNS,
93 KC_TRNS, KC_TRNS, KC_TRNS 105 KC_TRNS, KC_TRNS, KC_TRNS
@@ -125,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
125 KC_TRNS, KC_TRNS, KC_TRNS, 137 KC_TRNS, KC_TRNS, KC_TRNS,
126 // right hand 138 // right hand
127 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 139 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
128 KC_TRNS, KC_TRNS, KC_FN2, KC_FN6 , KC_TRNS, KC_TRNS, KC_TRNS, 140 KC_TRNS, KC_TRNS, TILDE_NO, ACUT_NO , KC_TRNS, KC_TRNS, KC_TRNS,
129 KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS, 141 KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS,
130 KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, 142 KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS,
131 KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 143 KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -166,7 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
166 KC_TRNS, KC_TRNS, KC_TRNS, 178 KC_TRNS, KC_TRNS, KC_TRNS,
167 // right hand 179 // right hand
168 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, 180 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS,
169 KC_TRNS, KC_TRNS, KC_FN2, KC_FN10, KC_TRNS, KC_TRNS, KC_TRNS, 181 KC_TRNS, KC_TRNS, TILDE_NO, ACUT_NO_MAC, KC_TRNS, KC_TRNS, KC_TRNS,
170 KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS, 182 KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS,
171 KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, 183 KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS,
172 KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 184 KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -217,47 +229,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
217) 229)
218}; 230};
219 231
220enum macro_id { 232bool process_record_user(uint16_t keycode, keyrecord_t *record) {
221 TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC 233 switch (keycode) {
222};
223
224const uint16_t PROGMEM fn_actions[] = {
225 [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed.
226 [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first.
227 [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first.
228 [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed.
229 [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed.
230 [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed.
231 [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly
232 [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly
233 [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed
234};
235
236
237
238const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
239{
240 keyevent_t event = record->event;
241
242 switch (id) {
243 case TILDE_NO: 234 case TILDE_NO:
244 return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); 235 if (record->event.pressed) {
236 tap_code16(ALGR(KC_RBRC));
237 tap_code(KC_SPC);
238 }
239 return false;
245 case LESS_NO: 240 case LESS_NO:
246 return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); 241 if (record->event.pressed) {
242 tap_code(KC_NUBS);
243 }
244 return false;
247 case GRTR_NO: 245 case GRTR_NO:
248 return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); 246 if (record->event.pressed) {
247 tap_code16(S(KC_NUBS));
248 }
249 return false;
249 case CIRC_NO: 250 case CIRC_NO:
250 return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); 251 if (record->event.pressed) {
252 tap_code16(S(KC_RBRC));
253 tap_code(KC_SPC);
254 }
255 return false;
251 case ACUT_NO: 256 case ACUT_NO:
252 return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); 257 if (record->event.pressed) {
258 tap_code16(ALGR(KC_EQL));
259 tap_code(KC_SPC);
260 }
261 return false;
253 case GRV_NO: 262 case GRV_NO:
254 return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); 263 if (record->event.pressed) {
264 SEND_STRING(SS_LSFT("= "));
265 }
266 return false;
255 case LESS_NO_MAC: 267 case LESS_NO_MAC:
256 return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); 268 if (record->event.pressed) {
269 tap_code(KC_GRV);
270 }
271 return false;
257 case GRTR_NO_MAC: 272 case GRTR_NO_MAC:
258 return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); 273 if (record->event.pressed) {
274 tap_code16(S(KC_GRV));
275 }
276 return false;
259 case ACUT_NO_MAC: 277 case ACUT_NO_MAC:
260 return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); 278 if (record->event.pressed) {
279 tap_code(KC_EQL);
280 tap_code(KC_SPC);
281 }
282 return false;
261 } 283 }
262 return MACRO_NONE; 284 return true;
263}; 285}
diff --git a/layouts/community/ergodox/deadcyclo/keymap.c b/layouts/community/ergodox/deadcyclo/keymap.c
index 0ae1ef7fb..345e25e03 100644
--- a/layouts/community/ergodox/deadcyclo/keymap.c
+++ b/layouts/community/ergodox/deadcyclo/keymap.c
@@ -1,6 +1,4 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "debug.h"
3#include "action_layer.h"
4#include "version.h" 2#include "version.h"
5 3
6#define BASE 0 // default layer 4#define BASE 0 // default layer
@@ -9,45 +7,19 @@
9#define UNI 3 // unicode 1 7#define UNI 3 // unicode 1
10#define UNI2 4 // unicode 2 8#define UNI2 4 // unicode 2
11 9
12enum macros { 10enum custom_keycodes {
13 RUN 11 I3_RUN = SAFE_RANGE,
14};
15
16enum function_ids {
17 EMOJI,
18 EMOJI2,
19 EPRM,
20 VRSN, 12 VRSN,
21 RGB_SLD, 13 I3_GO_GROUP_1,
22 GO_GROUP 14 I3_GO_GROUP_2,
23}; 15 I3_GO_GROUP_3,
24 16 I3_GO_GROUP_4,
25/* opt can only be 0-15 */ 17 I3_GO_GROUP_5,
26enum emojis { 18 I3_GO_GROUP_6,
27 SHRUG, 19 I3_GO_GROUP_7,
28 YAY, 20 I3_GO_GROUP_8,
29 HUG, 21 I3_GO_GROUP_9,
30 SMILE, 22 I3_GO_GROUP_10,
31 SMILE2,
32 HMM1,
33 HMM2,
34 BEAR1,
35 BEAR2,
36 FUU,
37 EGGY1,
38 EGGY2,
39 FACE1,
40 FACE2,
41 UHU,
42 SMRK1
43};
44
45enum emojis2 {
46 SMRK2,
47 LOVE
48};
49
50enum progmem_ids {
51 EMOJI_SHRUG, 23 EMOJI_SHRUG,
52 EMOJI_YAY, 24 EMOJI_YAY,
53 EMOJI_HUG, 25 EMOJI_HUG,
@@ -65,20 +37,7 @@ enum progmem_ids {
65 EMOJI_UHU, 37 EMOJI_UHU,
66 EMOJI_SMRK1, 38 EMOJI_SMRK1,
67 EMOJI_SMRK2, 39 EMOJI_SMRK2,
68 EMOJI_LOVE, 40 EMOJI_LOVE
69 F_EPRM,
70 F_VRSN,
71 F_RGB_SLD,
72 I3_GO_GROUP_10,
73 I3_GO_GROUP_1,
74 I3_GO_GROUP_2,
75 I3_GO_GROUP_3,
76 I3_GO_GROUP_4,
77 I3_GO_GROUP_5,
78 I3_GO_GROUP_6,
79 I3_GO_GROUP_7,
80 I3_GO_GROUP_8,
81 I3_GO_GROUP_9,
82}; 41};
83 42
84// TODO: Finish the macros for i3 (Macros should potentially be own function instead to make things easier? some of them at least, f. ex. the ones that use 1-0 keys so we can have a single switch) 43// TODO: Finish the macros for i3 (Macros should potentially be own function instead to make things easier? some of them at least, f. ex. the ones that use 1-0 keys so we can have a single switch)
@@ -163,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
163 KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, 122 KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
164 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 123 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
165 RGB_TOG,RGB_MOD, 124 RGB_TOG,RGB_MOD,
166 F(F_RGB_SLD), 125 RGB_M_P,
167 RGB_VAD,RGB_VAI,KC_TRNS, 126 RGB_VAD,RGB_VAI,KC_TRNS,
168 // right hand 127 // right hand
169 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 128 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
@@ -173,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
173 KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, 132 KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
174 RGB_HUD, RGB_HUI, 133 RGB_HUD, RGB_HUI,
175 KC_TRNS, 134 KC_TRNS,
176 F(F_EPRM), KC_DEL, KC_TRNS 135 EEP_RST, KC_DEL, KC_TRNS
177), 136),
178/* Keymap 2: Media, mouse and navigation 137/* Keymap 2: Media, mouse and navigation
179 * 138 *
@@ -198,8 +157,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
198 */ 157 */
199// MEDIA , MOUSE and NAVIGATION 158// MEDIA , MOUSE and NAVIGATION
200[MDIA] = LAYOUT_ergodox( 159[MDIA] = LAYOUT_ergodox(
201 KC_TRNS, F(I3_GO_GROUP_1), F(I3_GO_GROUP_2), F(I3_GO_GROUP_3), F(I3_GO_GROUP_4), F(I3_GO_GROUP_5), F(I3_GO_GROUP_6), 160 KC_TRNS, I3_GO_GROUP_1, I3_GO_GROUP_2, I3_GO_GROUP_3, I3_GO_GROUP_4, I3_GO_GROUP_5, I3_GO_GROUP_6,
202KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS, 161KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, I3_RUN, KC_TRNS, KC_TRNS,
203 KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, 162 KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
204 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 163 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
205 KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, 164 KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
@@ -207,7 +166,7 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS,
207 KC_TRNS, 166 KC_TRNS,
208 KC_TRNS, KC_TRNS, KC_TRNS, 167 KC_TRNS, KC_TRNS, KC_TRNS,
209 // right hand 168 // right hand
210 F(I3_GO_GROUP_6), F(I3_GO_GROUP_7), F(I3_GO_GROUP_8), F(I3_GO_GROUP_9), F(I3_GO_GROUP_10), KC_TRNS, KC_TRNS, 169 I3_GO_GROUP_6, I3_GO_GROUP_7, I3_GO_GROUP_8, I3_GO_GROUP_9, I3_GO_GROUP_10, KC_TRNS, KC_TRNS,
211 KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, 170 KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
212 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_MPLY, 171 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_MPLY,
213 KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, 172 KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -241,10 +200,10 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS,
241// Unicode 200// Unicode
242[UNI] = LAYOUT_ergodox( 201[UNI] = LAYOUT_ergodox(
243 KC_TRNS, UC(0x250c), UC(0x2510), UC(0x2514), UC(0x2518), UC(0x2502), UC(0x2500), 202 KC_TRNS, UC(0x250c), UC(0x2510), UC(0x2514), UC(0x2518), UC(0x2502), UC(0x2500),
244 KC_TRNS, F(EMOJI_SHRUG), F(EMOJI_YAY), F(EMOJI_HUG), F(EMOJI_SMILE), F(EMOJI_SMILE2), KC_TRNS, 203 KC_TRNS, EMOJI_SHRUG, EMOJI_YAY, EMOJI_HUG, EMOJI_SMILE, EMOJI_SMILE2, KC_TRNS,
245 KC_TRNS, F(EMOJI_HMM1), F(EMOJI_HMM2), F(EMOJI_BEAR1), F(EMOJI_BEAR2), F(EMOJI_FUU), 204 KC_TRNS, EMOJI_HMM1, EMOJI_HMM2, EMOJI_BEAR1, EMOJI_BEAR2, EMOJI_FUU,
246 KC_TRNS, F(EMOJI_EGGY1), F(EMOJI_EGGY2), F(EMOJI_FACE1), F(EMOJI_FACE2), F(EMOJI_UHU), KC_TRNS, 205 KC_TRNS, EMOJI_EGGY1, EMOJI_EGGY2, EMOJI_FACE1, EMOJI_FACE2, EMOJI_UHU, KC_TRNS,
247 KC_TRNS, F(EMOJI_SMRK1), F(EMOJI_SMRK2), F(EMOJI_LOVE), F(F_VRSN), 206 KC_TRNS, EMOJI_SMRK1, EMOJI_SMRK2, EMOJI_LOVE, VRSN,
248 KC_TRNS, KC_TRNS, 207 KC_TRNS, KC_TRNS,
249 KC_TRNS, 208 KC_TRNS,
250 KC_TRNS, KC_TRNS, KC_TRNS, 209 KC_TRNS, KC_TRNS, KC_TRNS,
@@ -302,220 +261,84 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS,
302), 261),
303}; 262};
304 263
305const uint16_t PROGMEM fn_actions[] = { 264bool process_record_user(uint16_t keycode, keyrecord_t *record) {
306 [EMOJI_SHRUG] = ACTION_FUNCTION_OPT(EMOJI, SHRUG), 265 if (record->event.pressed) {
307 [EMOJI_YAY] = ACTION_FUNCTION_OPT(EMOJI, YAY), 266 switch (keycode) {
308 [EMOJI_HUG] = ACTION_FUNCTION_OPT(EMOJI,HUG), 267 case I3_RUN:
309 [EMOJI_SMILE] = ACTION_FUNCTION_OPT(EMOJI,SMILE), 268 tap_code16(C(KC_I));
310 [EMOJI_SMILE2] = ACTION_FUNCTION_OPT(EMOJI,SMILE2), 269 tap_code(KC_R);
311 [EMOJI_HMM1] = ACTION_FUNCTION_OPT(EMOJI,HMM1), 270 return false;
312 [EMOJI_HMM2] = ACTION_FUNCTION_OPT(EMOJI,HMM2), 271 case VRSN:
313 [EMOJI_BEAR1] = ACTION_FUNCTION_OPT(EMOJI,BEAR1), 272 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
314 [EMOJI_BEAR2] = ACTION_FUNCTION_OPT(EMOJI,BEAR2), 273 return false;
315 [EMOJI_FUU] = ACTION_FUNCTION_OPT(EMOJI,FUU), 274 case I3_GO_GROUP_1 ... I3_GO_GROUP_10:
316 [EMOJI_EGGY1] = ACTION_FUNCTION_OPT(EMOJI,EGGY1), 275 tap_code16(C(KC_I));
317 [EMOJI_EGGY2] = ACTION_FUNCTION_OPT(EMOJI,EGGY2), 276 tap_code(KC_G);
318 [EMOJI_FACE1] = ACTION_FUNCTION_OPT(EMOJI,FACE1), 277 if (keycode == I3_GO_GROUP_10) {
319 [EMOJI_FACE2] = ACTION_FUNCTION_OPT(EMOJI,FACE2), 278 tap_code(KC_0);
320 [EMOJI_UHU] = ACTION_FUNCTION_OPT(EMOJI,UHU), 279 } else {
321 [EMOJI_SMRK1] = ACTION_FUNCTION_OPT(EMOJI,SMRK1), 280 tap_code(KC_1 + (keycode - I3_GO_GROUP_1));
322 [EMOJI_SMRK2] = ACTION_FUNCTION_OPT(EMOJI2,SMRK2), 281 }
323 [EMOJI_LOVE] = ACTION_FUNCTION_OPT(EMOJI2,LOVE), 282 return false;
324 [F_EPRM] = ACTION_FUNCTION(EPRM), 283 case EMOJI_SHRUG:
325 [F_VRSN] = ACTION_FUNCTION(VRSN), 284 send_unicode_string("¯\\_(ツ)_/¯");
326 [F_RGB_SLD] = ACTION_FUNCTION(RGB_SLD), 285 return false;
327 [I3_GO_GROUP_10]= ACTION_FUNCTION_OPT(GO_GROUP,0), 286 case EMOJI_YAY:
328 [I3_GO_GROUP_1] = ACTION_FUNCTION_OPT(GO_GROUP,1), 287 SEND_STRING("\\o/");
329 [I3_GO_GROUP_2] = ACTION_FUNCTION_OPT(GO_GROUP,2), 288 return false;
330 [I3_GO_GROUP_3] = ACTION_FUNCTION_OPT(GO_GROUP,3), 289 case EMOJI_HUG:
331 [I3_GO_GROUP_4] = ACTION_FUNCTION_OPT(GO_GROUP,4), 290 send_unicode_string("༼ つ ◕_◕ ༽つ");
332 [I3_GO_GROUP_5] = ACTION_FUNCTION_OPT(GO_GROUP,5), 291 return false;
333 [I3_GO_GROUP_6] = ACTION_FUNCTION_OPT(GO_GROUP,6), 292 case EMOJI_SMILE:
334 [I3_GO_GROUP_7] = ACTION_FUNCTION_OPT(GO_GROUP,7), 293 send_unicode_string("ʘ‿ʘ");
335 [I3_GO_GROUP_8] = ACTION_FUNCTION_OPT(GO_GROUP,8), 294 return false;
336 [I3_GO_GROUP_9] = ACTION_FUNCTION_OPT(GO_GROUP,9), 295 case EMOJI_SMILE2:
337}; 296 send_unicode_string("(ʘ‿ʘ)");
338 297 return false;
339#define TAP_ONCE(code) \ 298 case EMOJI_HMM1:
340 register_code (code); \ 299 send_unicode_string("ಠ_ಠ");
341 unregister_code (code) 300 return false;
342 301 case EMOJI_HMM2:
343void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { 302 send_unicode_string("(ಠ_ಠ)");
344 if (record->event.pressed) { 303 return false;
345 switch(id) { 304 case EMOJI_BEAR1:
346 case EPRM: 305 send_unicode_string("ʕ•ᴥ•ʔ");
347 eeconfig_init(); 306 return false;
348 break; 307 case EMOJI_BEAR2:
349 case VRSN: 308 send_unicode_string("(ᵔᴥᵔ)");
350 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); 309 return false;
351 break; 310 case EMOJI_FUU:
352 case RGB_SLD: 311 send_unicode_string("╭∩╮(-_-)╭∩╮");
353#ifdef RGBLIGHT_ENABLE 312 return false;
354 rgblight_mode(1); 313 case EMOJI_EGGY1:
355#endif 314 send_unicode_string("(╯°□°)╯");
356 break; 315 return false;
357 case GO_GROUP: 316 case EMOJI_EGGY2:
358 register_code(KC_LCTL); TAP_ONCE(KC_I); unregister_code(KC_LCTL); 317 send_unicode_string("ノ( ゜-゜ノ)");
359 TAP_ONCE(KC_G); 318 return false;
360 if (opt == 0) { 319 case EMOJI_FACE1:
361 TAP_ONCE(39); 320 SEND_STRING("(-_-)");
362 } else { 321 return false;
363 TAP_ONCE(29+opt); 322 case EMOJI_FACE2:
364 } 323 send_unicode_string("(•_•)");
365 break; 324 return false;
366 case EMOJI: 325 case EMOJI_UHU:
367 switch(opt) { 326 send_unicode_string("⊙﹏⊙");
368 case SHRUG: 327 return false;
369 unicode_input_start(); register_hex(0xaf); unicode_input_finish(); 328 case EMOJI_SMRK1:
370 TAP_ONCE (KC_BSLS); 329 send_unicode_string("^̮^");
371 register_code (KC_RSFT); TAP_ONCE (KC_MINS); TAP_ONCE (KC_9); unregister_code (KC_RSFT); 330 return false;
372 unicode_input_start (); register_hex(0x30c4); unicode_input_finish(); 331 case EMOJI_SMRK2:
373 register_code (KC_RSFT); TAP_ONCE (KC_0); TAP_ONCE (KC_MINS); unregister_code (KC_RSFT); 332 send_unicode_string("(^̮^)");
374 TAP_ONCE (KC_SLSH); 333 return false;
375 unicode_input_start (); register_hex(0xaf); unicode_input_finish(); 334 case EMOJI_LOVE:
376 break; 335 send_unicode_string("♥‿♥");
377 case YAY: 336 return false;
378 SEND_STRING ("\\o/"); 337 }
379 break;
380 case HUG:
381 unicode_input_start(); register_hex(0x0f3c); unicode_input_finish();
382 TAP_ONCE (KC_SPC);
383 unicode_input_start(); register_hex(0x3064); unicode_input_finish();
384 TAP_ONCE (KC_SPC);
385 unicode_input_start(); register_hex(0x25d5); unicode_input_finish();
386 unicode_input_start(); register_hex(0x005f); unicode_input_finish();
387 unicode_input_start(); register_hex(0x25d5); unicode_input_finish();
388 TAP_ONCE (KC_SPC);
389 unicode_input_start(); register_hex(0x0f3d); unicode_input_finish();
390 unicode_input_start(); register_hex(0x3064); unicode_input_finish();
391 break;
392 case SMILE:
393 unicode_input_start(); register_hex(0x0298); unicode_input_finish();
394 unicode_input_start(); register_hex(0x203f); unicode_input_finish();
395 unicode_input_start(); register_hex(0x0298); unicode_input_finish();
396 break;
397 case SMILE2:
398 unicode_input_start(); register_hex(0x0028); unicode_input_finish();
399 unicode_input_start(); register_hex(0x0298); unicode_input_finish();
400 unicode_input_start(); register_hex(0x203f); unicode_input_finish();
401 unicode_input_start(); register_hex(0x0298); unicode_input_finish();
402 unicode_input_start(); register_hex(0x0029); unicode_input_finish();
403 break;
404 case HMM1:
405 unicode_input_start(); register_hex(0x0ca0); unicode_input_finish();
406 unicode_input_start(); register_hex(0x005f); unicode_input_finish();
407 unicode_input_start(); register_hex(0x0ca0); unicode_input_finish();
408 break;
409 case HMM2:
410 unicode_input_start(); register_hex(0x0028); unicode_input_finish();
411 unicode_input_start(); register_hex(0x0ca0); unicode_input_finish();
412 unicode_input_start(); register_hex(0x005f); unicode_input_finish();
413 unicode_input_start(); register_hex(0x0ca0); unicode_input_finish();
414 unicode_input_start(); register_hex(0x0029); unicode_input_finish();
415 break;
416 case BEAR1:
417 unicode_input_start(); register_hex(0x0295); unicode_input_finish();
418 unicode_input_start(); register_hex(0x2022); unicode_input_finish();
419 unicode_input_start(); register_hex(0x1d25); unicode_input_finish();
420 unicode_input_start(); register_hex(0x2022); unicode_input_finish();
421 unicode_input_start(); register_hex(0x0294); unicode_input_finish();
422 break;
423 case BEAR2:
424 unicode_input_start(); register_hex(0x0028); unicode_input_finish();
425 unicode_input_start(); register_hex(0x1d54); unicode_input_finish();
426 unicode_input_start(); register_hex(0x1d25); unicode_input_finish();
427 unicode_input_start(); register_hex(0x1d54); unicode_input_finish();
428 unicode_input_start(); register_hex(0x0029); unicode_input_finish();
429 break;
430 case FUU:
431 unicode_input_start(); register_hex(0x256d); unicode_input_finish();
432 unicode_input_start(); register_hex(0x2229); unicode_input_finish();
433 unicode_input_start(); register_hex(0x256e); unicode_input_finish();
434 unicode_input_start(); register_hex(0x0028); unicode_input_finish();
435 unicode_input_start(); register_hex(0x002d); unicode_input_finish();
436 unicode_input_start(); register_hex(0x005f); unicode_input_finish();
437 unicode_input_start(); register_hex(0x002d); unicode_input_finish();
438 unicode_input_start(); register_hex(0x0029); unicode_input_finish();
439 unicode_input_start(); register_hex(0x256d); unicode_input_finish();
440 unicode_input_start(); register_hex(0x2229); unicode_input_finish();
441 unicode_input_start(); register_hex(0x256e); unicode_input_finish();
442 break;
443 case EGGY1:
444 unicode_input_start(); register_hex(0x0028); unicode_input_finish();
445 unicode_input_start(); register_hex(0x256f); unicode_input_finish();
446 unicode_input_start(); register_hex(0x00b0); unicode_input_finish();
447 unicode_input_start(); register_hex(0x25a1); unicode_input_finish();
448 unicode_input_start(); register_hex(0x00b0); unicode_input_finish();
449 unicode_input_start(); register_hex(0xff09); unicode_input_finish();
450 unicode_input_start(); register_hex(0x256f); unicode_input_finish();
451 break;
452 case EGGY2:
453 unicode_input_start(); register_hex(0x30ce); unicode_input_finish();
454 unicode_input_start(); register_hex(0x0028); unicode_input_finish();
455 unicode_input_start(); register_hex(0x0020); unicode_input_finish();
456 unicode_input_start(); register_hex(0x309c); unicode_input_finish();
457 unicode_input_start(); register_hex(0x002d); unicode_input_finish();
458 unicode_input_start(); register_hex(0x309c); unicode_input_finish();
459 unicode_input_start(); register_hex(0x30ce); unicode_input_finish();
460 unicode_input_start(); register_hex(0x0029); unicode_input_finish();
461 break;
462 case FACE1:
463 unicode_input_start(); register_hex(0x0028); unicode_input_finish();
464 unicode_input_start(); register_hex(0x002d); unicode_input_finish();
465 unicode_input_start(); register_hex(0x005f); unicode_input_finish();
466 unicode_input_start(); register_hex(0x002d); unicode_input_finish();
467 unicode_input_start(); register_hex(0x0029); unicode_input_finish();
468 break;
469 case FACE2:
470 unicode_input_start(); register_hex(0x0028); unicode_input_finish();
471 unicode_input_start(); register_hex(0x2022); unicode_input_finish();
472 unicode_input_start(); register_hex(0x005f); unicode_input_finish();
473 unicode_input_start(); register_hex(0x2022); unicode_input_finish();
474 unicode_input_start(); register_hex(0x0029); unicode_input_finish();
475 break;
476 case UHU:
477 unicode_input_start(); register_hex(0x2299); unicode_input_finish();
478 unicode_input_start(); register_hex(0xfe4f); unicode_input_finish();
479 unicode_input_start(); register_hex(0x2299); unicode_input_finish();
480 break;
481 case SMRK1:
482 unicode_input_start(); register_hex(0x005e); unicode_input_finish();
483 unicode_input_start(); register_hex(0x032e); unicode_input_finish();
484 unicode_input_start(); register_hex(0x005e); unicode_input_finish();
485 break;
486 }
487 break;
488 case EMOJI2:
489 switch(opt) {
490 case SMRK2:
491 unicode_input_start(); register_hex(0x0028); unicode_input_finish();
492 unicode_input_start(); register_hex(0x005e); unicode_input_finish();
493 unicode_input_start(); register_hex(0x032e); unicode_input_finish();
494 unicode_input_start(); register_hex(0x005e); unicode_input_finish();
495 unicode_input_start(); register_hex(0x0029); unicode_input_finish();
496 break;
497 case LOVE:
498 unicode_input_start(); register_hex(0x2665); unicode_input_finish();
499 unicode_input_start(); register_hex(0x203f); unicode_input_finish();
500 unicode_input_start(); register_hex(0x2665); unicode_input_finish();
501 break;
502 }
503 break;
504 } 338 }
505 } 339 return true;
506} 340}
507 341
508const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
509 if (record->event.pressed) {
510 switch(id) {
511 case RUN:
512 return MACRO( D(LCTL), T(I), U(LCTL), T(R), END );
513 break;
514 }
515 }
516 return MACRO_NONE;
517};
518
519// Runs just one time when the keyboard initializes. 342// Runs just one time when the keyboard initializes.
520void matrix_init_user(void) { 343void matrix_init_user(void) {
521 set_unicode_input_mode(UC_LNX); 344 set_unicode_input_mode(UC_LNX);
diff --git a/layouts/community/ergodox/drashna/config.h b/layouts/community/ergodox/drashna/config.h
index 4ccba8f04..f9daf277f 100644
--- a/layouts/community/ergodox/drashna/config.h
+++ b/layouts/community/ergodox/drashna/config.h
@@ -47,3 +47,4 @@
47 47
48#define PIMORONI_TRACKBALL_INVERT_X 48#define PIMORONI_TRACKBALL_INVERT_X
49#define PIMORONI_TRACKBALL_INVERT_Y 49#define PIMORONI_TRACKBALL_INVERT_Y
50#define PIMORONI_TRACKBALL_CLICK
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c
index 3e1460606..430328fed 100644
--- a/layouts/community/ergodox/drashna/keymap.c
+++ b/layouts/community/ergodox/drashna/keymap.c
@@ -19,7 +19,7 @@
19#ifdef UNICODEMAP_ENABLE 19#ifdef UNICODEMAP_ENABLE
20# include "drashna_unicode.h" 20# include "drashna_unicode.h"
21#endif // UNICODEMAP_ENABLE 21#endif // UNICODEMAP_ENABLE
22 22#include "drivers/sensors/pimoroni_trackball.h"
23enum more_custom_keycodes { 23enum more_custom_keycodes {
24 KC_SWAP_NUM = NEW_SAFE_RANGE, 24 KC_SWAP_NUM = NEW_SAFE_RANGE,
25 PM_SCROLL, 25 PM_SCROLL,
@@ -56,145 +56,33 @@ bool skip_leds = false;
56 KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \ 56 KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \
57 ) 57 )
58 58
59#define LAYOUT_ergodox_pretty_base_wrapper(...) LAYOUT_ergodox_pretty_base(__VA_ARGS__) 59#define LAYOUT_base_wrapper(...) LAYOUT_ergodox_pretty_base(__VA_ARGS__)
60 60
61 61
62 62
63const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 63const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
64/* Keymap 0: QWERTY Layer 64 [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
65 * 65 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
66 * 66 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
67 * ,--------------------------------------------------. ,--------------------------------------------------. 67 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
68 * | = + | 1 ! | 2 @ | 3 # | 4 $ | 5 % | TG(4)| | TG(4)| 6 ^ | 7 & | 8 * | 9 ( | 0 ) | - _ | 68 ),
69 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 69
70 * | TAB | Q | W | E | R | T | TG(3)| |TG(3) | Y | U | I | O | P | \ | | 70 [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
71 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 71 ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
72 * | Bksp | A | S | D | F | G |------| |------| H | J | K | L | ; | ' " | 72 ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
73 * |--------+------+------+------+------+------| TG(2)| | TG(2)|------+------+------+------+------+--------| 73 ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
74 * | Shift | Z | X | C | V | B | | | | N | M | , < | . > | ? / | Shift | 74 ),
75 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 75 [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
76 * | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB | 76 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
77 * `----------------------------------' `----------------------------------' 77 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
78 * ,--------------. ,--------------. 78 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
79 * |Alt/Ap| Win | | Alt |Ctl/Esc| 79 ),
80 * ,------|------|-------| |------+-------+------. 80
81 * | | | Home | | PgUp | | | 81 [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
82 * | Space| Bksp |-------| |------| DEL |Enter | 82 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
83 * | | | End | | PgDn | | | 83 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
84 * `---------------------' `---------------------' 84 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
85 */ 85 ),
86 [_QWERTY] = LAYOUT_ergodox_pretty_base_wrapper(
87 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
88 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
89 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
90 ),
91/* Keymap 0: COLEMAK layer
92 *
93 * ,--------------------------------------------------. ,--------------------------------------------------.
94 * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
95 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
96 * | Del | Q | W | F | P | G | L1 | | L1 | J | L | U | Y | ; | \ |
97 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
98 * | BkSp | A | R | S | T | D |------| |------| H | N | E | I |O / L2| ' |
99 * |--------+------+------+------+------+------| OVER | | Meh |------+------+------+------+------+--------|
100 * | LShift |Z/Ctrl| X | C | V | B | | | | K | M | , | . |//Ctrl| RShift |
101 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
102 * | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
103 * `----------------------------------' `----------------------------------'
104 * ,-------------. ,-------------.
105 * | App | LGui | | Alt |Ctrl/Esc|
106 * ,------|------|------| |------+--------+------.
107 * | | | Home | | PgUp | | |
108 * | Space|Backsp|------| |------| Tab |Enter |
109 * | |ace | End | | PgDn | | |
110 * `--------------------' `----------------------'
111 */
112// If it accepts an argument (i.e, is a function), it doesn't need KC_.
113// Otherwise, it needs KC_*
114 [_COLEMAK] = LAYOUT_ergodox_pretty_base_wrapper(
115 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
116 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
117 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
118 ),
119/* Keymap 0: DVORAK Layout
120 *
121 * ,--------------------------------------------------. ,--------------------------------------------------.
122 * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | \ |
123 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
124 * | Del | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / |
125 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
126 * | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - |
127 * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
128 * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift |
129 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
130 * | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
131 * `----------------------------------' `----------------------------------'
132 * ,-------------. ,-------------.
133 * | App | LGui | | Alt |Ctrl/Esc|
134 * ,------|------|------| |------+--------+------.
135 * | | | Home | | PgUp | | |
136 * | Space|Backsp|------| |------| Tab |Enter |
137 * | |ace | End | | PgDn | | |
138 * `--------------------' `----------------------'
139 */
140// If it accepts an argument (i.e, is a function), it doesn't need KC_.
141// Otherwise, it needs KC_*
142 [_DVORAK] = LAYOUT_ergodox_pretty_base_wrapper(
143 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
144 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
145 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
146 ),
147/* Keymap 0: WORKMAN layer
148 *
149 * ,--------------------------------------------------. ,--------------------------------------------------.
150 * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
151 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
152 * | Del | Q | D | R | W | B | L1 | | L1 | J | F | U | P | ; | \ |
153 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
154 * | BkSp | A | S | H | T | D |------| |------| Y | N | E | O | I | ' |
155 * |--------+------+------+------+------+------| OVER | | Meh |------+------+------+------+------+--------|
156 * | LShift |Z/Ctrl| X | M | C | V | | | | K | L | , | . |//Ctrl| RShift |
157 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
158 * | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
159 * `----------------------------------' `----------------------------------'
160 * ,-------------. ,-------------.
161 * | App | LGui | | Alt |Ctrl/Esc|
162 * ,------|------|------| |------+--------+------.
163 * | | | Home | | PgUp | | |
164 * | Space|Backsp|------| |------| Tab |Enter |
165 * | |ace | End | | PgDn | | |
166 * `--------------------' `----------------------'
167 */
168
169 [_WORKMAN] = LAYOUT_ergodox_pretty_base_wrapper(
170 _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
171 _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
172 _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
173 ),
174
175 [_NORMAN] = LAYOUT_ergodox_pretty_base_wrapper(
176 _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
177 _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
178 _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
179 ),
180
181 [_MALTRON] = LAYOUT_ergodox_pretty_base_wrapper(
182 _________________MALTRON_L1________________, _________________MALTRON_R1________________,
183 _________________MALTRON_L2________________, _________________MALTRON_R2________________,
184 _________________MALTRON_L3________________, _________________MALTRON_R3________________
185 ),
186
187 [_EUCALYN] = LAYOUT_ergodox_pretty_base_wrapper(
188 _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
189 _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
190 _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
191 ),
192
193 [_CARPLAX] = LAYOUT_ergodox_pretty_base_wrapper(
194 _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
195 _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
196 _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
197 ),
198 86
199/* Keymap 4: Customized Overwatch Layout 87/* Keymap 4: Customized Overwatch Layout
200 * 88 *
@@ -311,24 +199,21 @@ void keyboard_post_init_keymap(void) {
311 // trackball_set_precision(1.5); 199 // trackball_set_precision(1.5);
312 trackball_set_rgbw(RGB_MAGENTA, 0x00); 200 trackball_set_rgbw(RGB_MAGENTA, 0x00);
313} 201}
314void shutdown_keymap(void) { 202void shutdown_keymap(void) { trackball_set_rgbw(RGB_RED, 0x00); }
315 trackball_set_rgbw(RGB_RED, 0x00);
316}
317 203
318static bool mouse_button_one, trackball_button_one; 204static bool mouse_button_one, trackball_button_one;
319 205
320void trackball_check_click(bool pressed, report_mouse_t* mouse) { 206void trackball_register_button(bool pressed, enum mouse_buttons button) {
321 if (mouse_button_one | pressed) { 207 report_mouse_t currentReport = pointing_device_get_report();
322 mouse->buttons |= MOUSE_BTN1; 208 if (pressed) {
209 currentReport.buttons |= button;
323 } else { 210 } else {
324 mouse->buttons &= ~MOUSE_BTN1; 211 currentReport.buttons &= ~button;
325 } 212 }
326 trackball_button_one = pressed; 213 pointing_device_set_report(currentReport);
327} 214}
328#endif 215#endif
329 216
330
331
332bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { 217bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
333 switch (keycode) { 218 switch (keycode) {
334 case KC_1: 219 case KC_1:
@@ -370,17 +255,17 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
370 } 255 }
371 run_trackball_cleanup(); 256 run_trackball_cleanup();
372 break; 257 break;
373#if !defined(MOUSEKEY_ENABLE) 258# if !defined(MOUSEKEY_ENABLE)
374 case KC_MS_BTN1: 259 case KC_MS_BTN1:
375 mouse_button_one = record->event.pressed; 260 mouse_button_one = record->event.pressed;
376 trackball_register_button(mouse_button_one | trackball_button_one, MOUSE_BTN1); 261 trackball_register_button(mouse_button_one | trackball_button_one, MOUSE_BTN1);
377 break; 262 break;
378 case KC_MS_BTN2: 263 case KC_MS_BTN2:
379 trackball_register_button(record->event.pressed, MOUSE_BTN2); 264 trackball_register_button(record->event.pressed, MOUSE_BTN2);
380 break; 265 break;
381 case KC_MS_BTN3: 266 case KC_MS_BTN3:
382 trackball_register_button(record->event.pressed, MOUSE_BTN3); 267 trackball_register_button(record->event.pressed, MOUSE_BTN3);
383 break; 268 break;
384# endif 269# endif
385#endif 270#endif
386 } 271 }
@@ -433,7 +318,6 @@ void suspend_power_down_keymap(void) { rgb_matrix_set_suspend_state(true); }
433void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); } 318void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); }
434 319
435void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { 320void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
436
437 if (layer_state_is(_GAMEPAD)) { 321 if (layer_state_is(_GAMEPAD)) {
438 RGB_MATRIX_INDICATOR_SET_COLOR(32, 0x00, 0xFF, 0x00); // Q 322 RGB_MATRIX_INDICATOR_SET_COLOR(32, 0x00, 0xFF, 0x00); // Q
439 RGB_MATRIX_INDICATOR_SET_COLOR(31, 0x00, 0xFF, 0xFF); // W 323 RGB_MATRIX_INDICATOR_SET_COLOR(31, 0x00, 0xFF, 0xFF); // W
@@ -446,7 +330,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
446 330
447 RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 26 : 27), 0xFF, 0xFF, 0xFF); // 1 331 RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 26 : 27), 0xFF, 0xFF, 0xFF); // 1
448 RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 27 : 26), 0x00, 0xFF, 0x00); // 2 332 RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 27 : 26), 0x00, 0xFF, 0x00); // 2
449 RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x7A, 0x00, 0xFF); // 3 333 RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x7A, 0x00, 0xFF); // 3
450 } 334 }
451 335
452# if defined(RGBLIGHT_ENABLE) 336# if defined(RGBLIGHT_ENABLE)
@@ -455,7 +339,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
455 if (userspace_config.rgb_layer_change) 339 if (userspace_config.rgb_layer_change)
456# endif 340# endif
457 { 341 {
458 switch (get_highest_layer(layer_state|default_layer_state)) { 342 switch (get_highest_layer(layer_state | default_layer_state)) {
459 case _GAMEPAD: 343 case _GAMEPAD:
460 rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 344 rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
461 break; 345 break;
@@ -471,29 +355,17 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
471 case _ADJUST: 355 case _ADJUST:
472 rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 356 rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
473 break; 357 break;
474 case _QWERTY: 358 case _DEFAULT_LAYER_1:
475 rgb_matrix_layer_helper(HSV_CYAN, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 359 rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
476 break; 360 break;
477 case _COLEMAK: 361 case _DEFAULT_LAYER_2:
478 rgb_matrix_layer_helper(HSV_MAGENTA, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 362 rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
479 break;
480 case _DVORAK:
481 rgb_matrix_layer_helper(HSV_SPRINGGREEN, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
482 break;
483 case _WORKMAN:
484 rgb_matrix_layer_helper(HSV_GOLDENROD, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
485 break;
486 case _NORMAN:
487 rgb_matrix_layer_helper(HSV_CORAL, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
488 break;
489 case _MALTRON:
490 rgb_matrix_layer_helper(HSV_YELLOW, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
491 break; 363 break;
492 case _EUCALYN: 364 case _DEFAULT_LAYER_3:
493 rgb_matrix_layer_helper(HSV_PINK, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 365 rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
494 break; 366 break;
495 case _CARPLAX: 367 case _DEFAULT_LAYER_4:
496 rgb_matrix_layer_helper(HSV_BLUE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 368 rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
497 break; 369 break;
498 } 370 }
499 } 371 }
diff --git a/layouts/community/ergodox/drashna/rules.mk b/layouts/community/ergodox/drashna/rules.mk
index 31f4788fa..96a102700 100644
--- a/layouts/community/ergodox/drashna/rules.mk
+++ b/layouts/community/ergodox/drashna/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE = lite 1BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
2TAP_DANCE_ENABLE = no 2TAP_DANCE_ENABLE = no
3COMMAND_ENABLE = no # Commands for debug and configuration 3COMMAND_ENABLE = no # Commands for debug and configuration
4CONSOLE_ENABLE = no 4CONSOLE_ENABLE = no
@@ -18,4 +18,4 @@ UNICODE_ENABLE = no
18UNICDOEMAP_ENABLE = no 18UNICDOEMAP_ENABLE = no
19 19
20 20
21DEBOUNCE_TYPE = eager_pr 21DEBOUNCE_TYPE = sym_eager_pr
diff --git a/layouts/community/ergodox/drashna/visualizer.c b/layouts/community/ergodox/drashna/visualizer.c_old
index 6b1c3ff49..6b1c3ff49 100644
--- a/layouts/community/ergodox/drashna/visualizer.c
+++ b/layouts/community/ergodox/drashna/visualizer.c_old
diff --git a/layouts/community/ergodox/dvorak_programmer/rules.mk b/layouts/community/ergodox/dvorak_programmer/rules.mk
index 44d702209..a3ac8ed6f 100644
--- a/layouts/community/ergodox/dvorak_programmer/rules.mk
+++ b/layouts/community/ergodox/dvorak_programmer/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE=no 1BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
2COMMAND_ENABLE=no 2COMMAND_ENABLE=no
3SLEEP_LED_ENABLE=no 3SLEEP_LED_ENABLE=no
4FORCE_NKRO = yes 4FORCE_NKRO = yes
diff --git a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c
index bb27f18e8..a8a428a04 100644
--- a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c
+++ b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c
@@ -69,8 +69,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
69 KC_SPC,KC_BSPC,KC_END, 69 KC_SPC,KC_BSPC,KC_END,
70 // right hand 70 // right hand
71 KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLASH, 71 KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLASH,
72 TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, SE_AM, 72 TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, SE_ARNG,
73 KC_D, KC_H, KC_T, KC_N, KC_S, SE_AE, 73 KC_D, KC_H, KC_T, KC_N, KC_S, SE_ADIA,
74 TG(MDIA),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT, 74 TG(MDIA),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT,
75 KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB), 75 KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB),
76 LALT(KC_LSFT), CTL_T(KC_ESC), 76 LALT(KC_LSFT), CTL_T(KC_ESC),
@@ -111,8 +111,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
111 KC_TRNS,KC_TRNS,KC_TRNS, 111 KC_TRNS,KC_TRNS,KC_TRNS,
112 // right hand 112 // right hand
113 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 113 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
114 KC_TRNS, SE_LESS, KC_7, KC_8, KC_9, KC_KP_ASTERISK, KC_F12, 114 KC_TRNS, SE_LABK, KC_7, KC_8, KC_9, KC_KP_ASTERISK, KC_F12,
115 LSFT(SE_LESS), KC_4, KC_5, KC_6, KC_KP_PLUS, KC_TRNS, 115 SE_RABK, KC_4, KC_5, KC_6, KC_KP_PLUS, KC_TRNS,
116 KC_TRNS, SE_QUES, KC_1, KC_2, KC_3, LSFT(KC_5), KC_TRNS, 116 KC_TRNS, SE_QUES, KC_1, KC_2, KC_3, LSFT(KC_5), KC_TRNS,
117 KC_DOT,KC_0, LSFT(KC_0), KC_TRNS, KC_TRNS, 117 KC_DOT,KC_0, LSFT(KC_0), KC_TRNS, KC_TRNS,
118 KC_TRNS, KC_TRNS, 118 KC_TRNS, KC_TRNS,
@@ -186,7 +186,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
186[DEVL] = LAYOUT_ergodox( 186[DEVL] = LAYOUT_ergodox(
187 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 187 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
188 KC_TRNS, M(MACRO_SAVE), M(MACRO_BUILD), M(MACRO_DEBUG), KC_PSCR, ALGR(KC_4), KC_TRNS, 188 KC_TRNS, M(MACRO_SAVE), M(MACRO_BUILD), M(MACRO_DEBUG), KC_PSCR, ALGR(KC_4), KC_TRNS,
189 KC_TRNS, SE_ACUT, SE_APOS, SE_PIPE, KC_TRNS, ALGR(KC_3), 189 KC_TRNS, SE_ACUT, SE_QUOT, SE_PIPE, KC_TRNS, ALGR(KC_3),
190 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ALGR(KC_5), KC_TRNS, 190 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ALGR(KC_5), KC_TRNS,
191 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 191 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
192 KC_TRNS, KC_TRNS, 192 KC_TRNS, KC_TRNS,
diff --git a/layouts/community/ergodox/dvorak_programmer_swe/readme.md b/layouts/community/ergodox/dvorak_programmer_swe/readme.md
index 3bedf50d7..78d872ab5 100644
--- a/layouts/community/ergodox/dvorak_programmer_swe/readme.md
+++ b/layouts/community/ergodox/dvorak_programmer_swe/readme.md
@@ -25,7 +25,7 @@ Known issues:
25 * Switched position on Alt and Alt-shift 25 * Switched position on Alt and Alt-shift
26 * Added tilde character to symbol layer 26 * Added tilde character to symbol layer
27 * Added Print Screen to keymap 3 27 * Added Print Screen to keymap 3
28 * Added ' (NO_APOS) to keymap 3 28 * Added ' (NO_QUOT) to keymap 3
29 * Added how to install help in this readme 29 * Added how to install help in this readme
30 30
31* 2017-05-16 31* 2017-05-16
diff --git a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c
index 4ca20bd48..3ecef9d9b 100644
--- a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c
+++ b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33[BASE] = LAYOUT_ergodox( // layer 0 : default 33[BASE] = LAYOUT_ergodox( // layer 0 : default
34 // left hand 34 // left hand
35 KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, MO(MOUS), 35 KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, MO(MOUS),
36 KC_TAB, SE_AA, SE_AE, SE_OSLH, KC_P, KC_Y, KC_NO, 36 KC_TAB, SE_ARNG,SE_ADIA, SE_ODIA, KC_P, KC_Y, KC_NO,
37 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, 37 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I,
38 KC_LSFT, KC_DOT, KC_Q, KC_J, KC_K, KC_X, KC_NO, 38 KC_LSFT, KC_DOT, KC_Q, KC_J, KC_K, KC_X, KC_NO,
39 KC_LCTRL, KC_NO, KC_NO, KC_LALT, KC_LCMD, 39 KC_LCTRL, KC_NO, KC_NO, KC_LALT, KC_LCMD,
@@ -84,9 +84,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
84 KC_TRNS, KC_NO, KC_NO, 84 KC_TRNS, KC_NO, KC_NO,
85 // right hand 85 // right hand
86 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 86 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
87 KC_NO, LSFT(KC_2), SE_QUES, LSFT(KC_6), SE_LESS, SE_GRTR, KC_NO, 87 KC_NO, LSFT(KC_2), SE_QUES, LSFT(KC_6), SE_LABK, SE_RABK, KC_NO,
88 KC_HASH, SE_CIRC, KC_HASH, LSFT(KC_2), SE_TILD, KC_NO, 88 KC_HASH, SE_CIRC, KC_HASH, LSFT(KC_2), SE_TILD, KC_NO,
89 KC_NO, KC_PERC, SE_ACUT, SE_APOS, SE_ASTR, SE_GRV, KC_NO, 89 KC_NO, KC_PERC, SE_ACUT, SE_QUOT, SE_ASTR, SE_GRV, KC_NO,
90 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 90 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
91 KC_NO, KC_NO, 91 KC_NO, KC_NO,
92 KC_NO, 92 KC_NO,
@@ -162,14 +162,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
162 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, 162 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS,
163 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, 163 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
164 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SE_ACUT, 164 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SE_ACUT,
165 CTL_T(SE_APOS), SE_CIRC, SE_ASTR, KC_LALT, KC_LGUI, 165 CTL_T(SE_QUOT), SE_CIRC, SE_ASTR, KC_LALT, KC_LGUI,
166 KC_LCTRL, KC_LALT, 166 KC_LCTRL, KC_LALT,
167 SE_TILD, 167 SE_TILD,
168 KC_BSPC, KC_TAB, KC_ESC, 168 KC_BSPC, KC_TAB, KC_ESC,
169 // right hand 169 // right hand
170 KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, 170 KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,
171 KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, 171 KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
172 KC_H, KC_J, KC_K, KC_L, SE_OSLH, SE_AE, 172 KC_H, KC_J, KC_K, KC_L, SE_ODIA, SE_ADIA,
173 KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT, 173 KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT,
174 KC_ALGR, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, 174 KC_ALGR, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT,
175 KC_HOME, KC_END, 175 KC_HOME, KC_END,
diff --git a/layouts/community/ergodox/french_hacker/keymap.c b/layouts/community/ergodox/french_hacker/keymap.c
index 731d917fd..b4c8e37bd 100644
--- a/layouts/community/ergodox/french_hacker/keymap.c
+++ b/layouts/community/ergodox/french_hacker/keymap.c
@@ -96,8 +96,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
96[SYMB] = LAYOUT_ergodox( 96[SYMB] = LAYOUT_ergodox(
97 // left hand 97 // left hand
98 M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, 98 M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
99 KC_TRNS,FR_SECT,FR_LESS, FR_LCBR,FR_BSLS,FR_TILD,KC_TRNS, 99 KC_TRNS,FR_SECT,FR_LABK, FR_LCBR,FR_BSLS,FR_TILD,KC_TRNS,
100 KC_TRNS,FR_APOS,FR_EQL, FR_MINS,FR_LPRN,FR_PLUS, 100 KC_TRNS,FR_QUOT,FR_EQL, FR_MINS,FR_LPRN,FR_PLUS,
101 KC_TRNS,FR_GRV,FR_QUES,FR_HASH,FR_LBRC,FR_PIPE,KC_TRNS, 101 KC_TRNS,FR_GRV,FR_QUES,FR_HASH,FR_LBRC,FR_PIPE,KC_TRNS,
102 FR_EURO,FR_PND,FR_DLR,KC_TRNS,KC_TRNS, 102 FR_EURO,FR_PND,FR_DLR,KC_TRNS,KC_TRNS,
103 KC_TRNS,KC_TRNS, 103 KC_TRNS,KC_TRNS,
@@ -105,9 +105,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
105 KC_TRNS,KC_TRNS,KC_TRNS, 105 KC_TRNS,KC_TRNS,KC_TRNS,
106 // right hand 106 // right hand
107 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 107 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
108 KC_TRNS, FR_PERC, FR_AT, FR_RCBR, FR_GRTR, FR_MU, KC_F12, 108 KC_TRNS, FR_PERC, FR_AT, FR_RCBR, FR_RABK, FR_MICR, KC_F12,
109 FR_ASTR, FR_RPRN, FR_UNDS, FR_SLSH, FR_QUOT, KC_TRNS, 109 FR_ASTR, FR_RPRN, FR_UNDS, FR_SLSH, FR_DQUO, KC_TRNS,
110 KC_TRNS, FR_AMP, FR_RBRC, FR_DLR, FR_EXLM, FR_CIRC, KC_TRNS, 110 KC_TRNS, FR_AMPR, FR_RBRC, FR_DLR, FR_EXLM, FR_CIRC, KC_TRNS,
111 KC_TRNS, KC_TRNS, KC_TRNS, ALGR(KC_S), KC_TRNS, 111 KC_TRNS, KC_TRNS, KC_TRNS, ALGR(KC_S), KC_TRNS,
112 KC_TRNS, KC_TRNS, 112 KC_TRNS, KC_TRNS,
113 KC_TRNS, 113 KC_TRNS,
diff --git a/layouts/community/ergodox/german-kinergo/keymap.c b/layouts/community/ergodox/german-kinergo/keymap.c
index d9c297814..9f8b72596 100644
--- a/layouts/community/ergodox/german-kinergo/keymap.c
+++ b/layouts/community/ergodox/german-kinergo/keymap.c
@@ -43,14 +43,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(1), 43 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(1),
44 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, 44 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
45 KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, MO(2), 45 KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, MO(2),
46 KC_LGUI, DE_CIRC, DE_LESS, KC_LEFT, KC_RIGHT, 46 KC_LGUI, DE_CIRC, DE_LABK, KC_LEFT, KC_RIGHT,
47 KC_LCTRL, KC_LALT, 47 KC_LCTRL, KC_LALT,
48 KC_HOME, 48 KC_HOME,
49 KC_BSPC,KC_DEL,KC_END, 49 KC_BSPC,KC_DEL,KC_END,
50 // right hand 50 // right hand
51 KC_PSCREEN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 51 KC_PSCREEN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
52 MO(1), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, 52 MO(1), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA,
53 KC_H, KC_J, KC_K, KC_L, DE_OE, LT(MDIA,DE_AE), 53 KC_H, KC_J, KC_K, KC_L, DE_ODIA, LT(MDIA,DE_ADIA),
54 MO(2), KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, 54 MO(2), KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT,
55 KC_DOWN, KC_UP, DE_HASH, DE_PLUS, KC_RGUI, 55 KC_DOWN, KC_UP, DE_HASH, DE_PLUS, KC_RGUI,
56 KC_RALT, KC_RCTRL, 56 KC_RALT, KC_RCTRL,
@@ -63,14 +63,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
63// KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), 63// KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),
64// KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, 64// KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
65// KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), 65// KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
66// LT(SYMB,DE_LESS),CTL_T(DE_HASH), DE_ACUT, DE_MINS, DE_PLUS, 66// LT(SYMB,DE_LABK),CTL_T(DE_HASH), DE_ACUT, DE_MINS, DE_PLUS,
67// ALT_T(KC_APP), KC_LGUI, 67// ALT_T(KC_APP), KC_LGUI,
68// KC_HOME, 68// KC_HOME,
69// KC_SPC,KC_BSPC,KC_END, 69// KC_SPC,KC_BSPC,KC_END,
70// // right hand 70// // right hand
71// KC_MNXT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 71// KC_MNXT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
72// TG(2), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, 72// TG(2), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA,
73// KC_H, KC_J, KC_K, KC_L, DE_OE, LT(MDIA,DE_AE), 73// KC_H, KC_J, KC_K, KC_L, DE_ODIA, LT(MDIA,DE_ADIA),
74// MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(DE_MINS), KC_RSFT, 74// MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(DE_MINS), KC_RSFT,
75// KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TT(SYMB), 75// KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TT(SYMB),
76// KC_LALT,CTL_T(KC_ESC), 76// KC_LALT,CTL_T(KC_ESC),
diff --git a/layouts/community/ergodox/german-lukas/keymap.c b/layouts/community/ergodox/german-lukas/keymap.c
index cbc51c695..76a77acdb 100644
--- a/layouts/community/ergodox/german-lukas/keymap.c
+++ b/layouts/community/ergodox/german-lukas/keymap.c
@@ -40,14 +40,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 40 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
41 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, 41 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
42 KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), 42 KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
43 KC_LGUI, DE_CIRC, DE_LESS, KC_LEFT, KC_RIGHT, 43 KC_LGUI, DE_CIRC, DE_LABK, KC_LEFT, KC_RIGHT,
44 KC_LCTRL, KC_LALT, 44 KC_LCTRL, KC_LALT,
45 KC_HOME, 45 KC_HOME,
46 KC_SPC ,KC_DEL,KC_END, 46 KC_SPC ,KC_DEL,KC_END,
47 // right hand 47 // right hand
48 KC_PSCREEN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 48 KC_PSCREEN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
49 TG(MDIA), DE_Z, KC_U, KC_I, KC_O, KC_P, LT(SHRT,DE_UE), 49 TG(MDIA), DE_Z, KC_U, KC_I, KC_O, KC_P, LT(SHRT,DE_UDIA),
50 KC_H, KC_J, KC_K, KC_L, DE_OE, LT(MDIA,DE_AE), 50 KC_H, KC_J, KC_K, KC_L, DE_ODIA, LT(MDIA,DE_ADIA),
51 MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, 51 MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT,
52 KC_UP, KC_DOWN, DE_HASH, DE_PLUS, LCA_T(KC_NO), 52 KC_UP, KC_DOWN, DE_HASH, DE_PLUS, LCA_T(KC_NO),
53 KC_RALT, KC_RCTRL, 53 KC_RALT, KC_RCTRL,
diff --git a/layouts/community/ergodox/german-manuneo/keymap.c b/layouts/community/ergodox/german-manuneo/keymap.c
index d1e48e110..9b24df83d 100644
--- a/layouts/community/ergodox/german-manuneo/keymap.c
+++ b/layouts/community/ergodox/german-manuneo/keymap.c
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
132 MO(5), DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, 132 MO(5), DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT,
133 MO(4), DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME, 133 MO(4), DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME,
134 MO(1), DE_U, DE_I, DE_A, DE_E, DE_O, 134 MO(1), DE_U, DE_I, DE_A, DE_E, DE_O,
135 MO(3), DE_UE, DE_OE, DE_AE, DE_C, DE_V, KC_END, 135 MO(3), DE_UDIA, DE_ODIA, DE_ADIA, DE_C, DE_V, KC_END,
136 KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL, 136 KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL,
137 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_INS, TG(2), 137 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_INS, TG(2),
138 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_APP, 138 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_APP,
@@ -167,7 +167,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
167 * '-----------------' '-----------------' 167 * '-----------------' '-----------------'
168 */ 168 */
169[L1] = LAYOUT_ergodox( 169[L1] = LAYOUT_ergodox(
170 KC_TRNS, DE_EXLM, DE_DQOT, DE_PARA, KC_TRNS, KC_TRNS, KC_TRNS, 170 KC_TRNS, DE_EXLM, DE_DQUO, DE_SECT, KC_TRNS, KC_TRNS, KC_TRNS,
171 KC_TRNS, DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS, 171 KC_TRNS, DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS,
172 KC_TRNS, DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC, 172 KC_TRNS, DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC,
173 KC_TRNS, KC_TRNS, DE_PLUS, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS, 173 KC_TRNS, KC_TRNS, DE_PLUS, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -175,9 +175,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
175 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, 175 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
176 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, 176 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
177 /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, 177 /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
178 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_RING, KC_TRNS, 178 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DEG, KC_TRNS,
179 KC_TRNS, DE_HASH, DE_LESS, DE_MORE, KC_TRNS, DE_DQOT, KC_TRNS, 179 KC_TRNS, DE_HASH, DE_LABK, DE_RABK, KC_TRNS, DE_DQUO, KC_TRNS,
180 /*-*/ DE_DLR, DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QST, 180 /*-*/ DE_DLR, DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QUES,
181 KC_TRNS, DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS, 181 KC_TRNS, DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS,
182 /*-*/ /*-*/ KC_TRNS, KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW), 182 /*-*/ /*-*/ KC_TRNS, KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW),
183 KC_TRNS, KC_TRNS, 183 KC_TRNS, KC_TRNS,
diff --git a/layouts/community/ergodox/german/keymap.c b/layouts/community/ergodox/german/keymap.c
index c64057dc4..99dda5185 100644
--- a/layouts/community/ergodox/german/keymap.c
+++ b/layouts/community/ergodox/german/keymap.c
@@ -38,14 +38,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38 KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), 38 KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),
39 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, 39 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
40 KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), 40 KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
41 LT(SYMB,DE_LESS),CTL_T(DE_HASH), DE_ACUT, DE_MINS, DE_PLUS, 41 LT(SYMB,DE_LABK),CTL_T(DE_HASH), DE_ACUT, DE_MINS, DE_PLUS,
42 ALT_T(KC_APP), KC_LGUI, 42 ALT_T(KC_APP), KC_LGUI,
43 KC_HOME, 43 KC_HOME,
44 KC_SPC,KC_BSPC,KC_END, 44 KC_SPC,KC_BSPC,KC_END,
45 // right hand 45 // right hand
46 KC_MNXT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 46 KC_MNXT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
47 TG(2), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, 47 TG(2), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA,
48 KC_H, KC_J, KC_K, KC_L, DE_OE, LT(MDIA,DE_AE), 48 KC_H, KC_J, KC_K, KC_L, DE_ODIA, LT(MDIA,DE_ADIA),
49 MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(DE_MINS), KC_RSFT, 49 MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(DE_MINS), KC_RSFT,
50 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TT(SYMB), 50 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TT(SYMB),
51 KC_LALT,CTL_T(KC_ESC), 51 KC_LALT,CTL_T(KC_ESC),
diff --git a/layouts/community/ergodox/guni/keymap.c b/layouts/community/ergodox/guni/keymap.c
index 0707bcf77..cc67fbdea 100644
--- a/layouts/community/ergodox/guni/keymap.c
+++ b/layouts/community/ergodox/guni/keymap.c
@@ -1,7 +1,4 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "debug.h"
3#include "action_layer.h"
4#include "bootloader.h"
5 2
6const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7 LAYOUT_ergodox( // layer 0 : default 4 LAYOUT_ergodox( // layer 0 : default
@@ -13,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13 KC_LGUI , KC_GRV,KC_LEFT,KC_RGHT,KC_LALT, 10 KC_LGUI , KC_GRV,KC_LEFT,KC_RGHT,KC_LALT,
14 KC_NO , KC_NO , 11 KC_NO , KC_NO ,
15 KC_NO , 12 KC_NO ,
16 KC_BSPC,KC_DEL ,KC_FN23, 13 KC_BSPC,KC_DEL ,TO(3),
17 // right hand 14 // right hand
18 KC_RBRC , KC_6, KC_7 , KC_8, KC_9, KC_0, KC_MINS, 15 KC_RBRC , KC_6, KC_7 , KC_8, KC_9, KC_0, KC_MINS,
19 KC_END , KC_Y, KC_U , KC_I, KC_O, KC_P, MT(MOD_RCTL, KC_BSLS), 16 KC_END , KC_Y, KC_U , KC_I, KC_O, KC_P, MT(MOD_RCTL, KC_BSLS),
@@ -34,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 31 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
35 KC_TRNS,KC_TRNS, 32 KC_TRNS,KC_TRNS,
36 KC_TRNS, 33 KC_TRNS,
37 KC_TRNS,KC_TRNS,KC_FN1, 34 KC_TRNS,KC_TRNS,TO(0),
38 // right hand 35 // right hand
39 KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, 36 KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
40 KC_TRNS,KC_EXLM,LSFT(KC_COMM),LSFT(KC_DOT),KC_EQL,KC_AMPR, KC_TRNS, 37 KC_TRNS,KC_EXLM,LSFT(KC_COMM),LSFT(KC_DOT),KC_EQL,KC_AMPR, KC_TRNS,
@@ -55,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
55 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 52 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
56 KC_TRNS,KC_TRNS, 53 KC_TRNS,KC_TRNS,
57 KC_TRNS, 54 KC_TRNS,
58 KC_TRNS,KC_TRNS,KC_FN1 , 55 KC_TRNS,KC_TRNS,TO(0) ,
59 // right hand 56 // right hand
60 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 57 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
61 KC_TRNS ,KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_END ,KC_TRNS, 58 KC_TRNS ,KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_END ,KC_TRNS,
@@ -68,14 +65,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
68 ), 65 ),
69 LAYOUT_ergodox( // layer 3 : teensy bootloader functions 66 LAYOUT_ergodox( // layer 3 : teensy bootloader functions
70 // left hand 67 // left hand
71 KC_FN0, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 68 RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
72 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 69 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
73 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 70 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
74 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 71 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
75 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 72 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
76 KC_TRNS,KC_TRNS, 73 KC_TRNS,KC_TRNS,
77 KC_TRNS, 74 KC_TRNS,
78 KC_TRNS,KC_TRNS,KC_FN1 , 75 KC_TRNS,KC_TRNS,TO(0) ,
79 // right hand 76 // right hand
80 KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 77 KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
81 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 78 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
@@ -110,31 +107,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
110 ), 107 ),
111 108
112}; 109};
113
114/* id for user defined functions */
115enum function_id {
116 TEENSY_KEY,
117};
118
119/*
120 * Fn action definition
121 */
122const uint16_t PROGMEM fn_actions[] = {
123 [0] = ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key
124 [1] = ACTION_LAYER_SET(0, ON_PRESS),
125 [23] = ACTION_LAYER_SET(3, ON_PRESS),
126 [24] = ACTION_LAYER_SET(2, ON_PRESS),
127 [26] = ACTION_LAYER_SET(1, ON_PRESS),
128};
129
130void action_function(keyrecord_t *event, uint8_t id, uint8_t opt)
131{
132
133 if (id == TEENSY_KEY) {
134 clear_keyboard();
135 print("\n\nJump to bootloader... ");
136 wait_ms(250);
137 bootloader_jump(); // should not return
138 print("not supported.\n");
139 }
140}
diff --git a/layouts/community/ergodox/ishigoya-jp/keymap.c b/layouts/community/ergodox/ishigoya-jp/keymap.c
index 59040cd50..c70cbba81 100644
--- a/layouts/community/ergodox/ishigoya-jp/keymap.c
+++ b/layouts/community/ergodox/ishigoya-jp/keymap.c
@@ -396,7 +396,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
396[NUM] = LAYOUT_ergodox( 396[NUM] = LAYOUT_ergodox(
397 // left hand 397 // left hand
398 KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, 398 KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
399 KC_NO, KC_NO, KC_NO, JP_DQT, KC_RBRACKET, KC_BSPC, KC_SCLN, 399 KC_NO, KC_NO, KC_NO, JP_DQUO, KC_RBRACKET, KC_BSPC, KC_SCLN,
400 KC_NO, KC_NO, KC_SLSH, JP_PLUS, LSFT(KC_RBRACKET), JP_RCBR, 400 KC_NO, KC_NO, KC_SLSH, JP_PLUS, LSFT(KC_RBRACKET), JP_RCBR,
401 KC_NO, KC_NO, JP_ASTR, KC_MINS, LSFT(KC_8), LSFT(KC_9), JP_COLN, 401 KC_NO, KC_NO, JP_ASTR, KC_MINS, LSFT(KC_8), LSFT(KC_9), JP_COLN,
402 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_HASH, 402 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_HASH,
diff --git a/layouts/community/ergodox/issmirnov/keymap.c b/layouts/community/ergodox/issmirnov/keymap.c
index ce853f3d3..b129148b0 100644
--- a/layouts/community/ergodox/issmirnov/keymap.c
+++ b/layouts/community/ergodox/issmirnov/keymap.c
@@ -201,7 +201,7 @@ void matrix_scan_user(void) {
201} 201}
202 202
203// only runs when when the layer is changed, good for updating LED's and clearing sticky state 203// only runs when when the layer is changed, good for updating LED's and clearing sticky state
204uint32_t layer_state_set_user(uint32_t state) { 204layer_state_t layer_state_set_user(layer_state_t state) {
205 uint8_t layer = biton32(state); 205 uint8_t layer = biton32(state);
206 206
207 ergodox_board_led_off(); 207 ergodox_board_led_off();
diff --git a/layouts/community/ergodox/kejadlen/rules.mk b/layouts/community/ergodox/kejadlen/rules.mk
index 8e8684828..ceee16687 100644
--- a/layouts/community/ergodox/kejadlen/rules.mk
+++ b/layouts/community/ergodox/kejadlen/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 1BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
2MOUSEKEY_ENABLE = no # Mouse keys(+4700) 2MOUSEKEY_ENABLE = no # Mouse keys(+4700)
3EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 3EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
4CONSOLE_ENABLE = no # Console for debug(+400) 4CONSOLE_ENABLE = no # Console for debug(+400)
diff --git a/layouts/community/ergodox/kristian/keymap.c b/layouts/community/ergodox/kristian/keymap.c
index b56e880c0..c3bb9e047 100644
--- a/layouts/community/ergodox/kristian/keymap.c
+++ b/layouts/community/ergodox/kristian/keymap.c
@@ -13,7 +13,7 @@
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14 14
15 15
16[0] = LAYOUT_ergodox(NO_LESS,KC_1,KC_2,KC_3,KC_4,KC_5,KC_BSPACE,KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,TG(1),KC_BSPACE,KC_A,KC_S,KC_D,KC_F,KC_G,SFT_T(NO_APOS),CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,SFT_T(KC_EQUAL),MO(1),CTL_T(KC_GRAVE),KC_LGUI,KC_LEFT,KC_RIGHT,KC_ESCAPE,KC_CAPSLOCK,KC_HOME,KC_SPACE,KC_LGUI,KC_LALT,KC_DELETE,KC_6,KC_7,KC_8,KC_9,KC_0,NO_PLUS,TG(1),KC_Y,KC_U,KC_I,KC_O,KC_P,NO_AM,KC_H,KC_J,KC_K,KC_L,LT(2,NO_OSLH),NO_AE,SFT_T(KC_RBRC),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SFT_T(NO_APOS),KC_DOWN,KC_UP,NO_LPRN,NO_RPRN,MO(1),NO_QUOT,CTL_T(KC_ESCAPE),NO_APOS,KC_LALT,KC_LGUI,KC_ENTER), 16[0] = LAYOUT_ergodox(NO_LABK,KC_1,KC_2,KC_3,KC_4,KC_5,KC_BSPACE,KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,TG(1),KC_BSPACE,KC_A,KC_S,KC_D,KC_F,KC_G,SFT_T(NO_QUOT),CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,SFT_T(KC_EQUAL),MO(1),CTL_T(KC_GRAVE),KC_LGUI,KC_LEFT,KC_RIGHT,KC_ESCAPE,KC_CAPSLOCK,KC_HOME,KC_SPACE,KC_LGUI,KC_LALT,KC_DELETE,KC_6,KC_7,KC_8,KC_9,KC_0,NO_PLUS,TG(1),KC_Y,KC_U,KC_I,KC_O,KC_P,NO_ARNG,KC_H,KC_J,KC_K,KC_L,LT(2,NO_OSTR),NO_AE,SFT_T(KC_RBRC),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SFT_T(NO_QUOT),KC_DOWN,KC_UP,NO_LPRN,NO_RPRN,MO(1),NO_QUOT,CTL_T(KC_ESCAPE),NO_QUOT,KC_LALT,KC_LGUI,KC_ENTER),
17 17
18[1] = LAYOUT_ergodox(M(0),KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_BSPACE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_BSPACE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LSHIFT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LCTL,KC_LGUI,KC_LEFT,KC_RIGHT,KC_ESCAPE,KC_TRANSPARENT,KC_HOME,KC_SPACE,KC_LGUI,KC_LALT,KC_DELETE,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_TRANSPARENT,KC_7,KC_8,KC_9,KC_TRANSPARENT,KC_TRANSPARENT,KC_F12,KC_4,KC_5,KC_6,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_0,KC_1,KC_2,KC_3,NO_LBRC,NO_RBRC,KC_LSHIFT,KC_COMMA,KC_DOT,LSFT(NO_LBRC),LSFT(NO_RBRC),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LALT,KC_LGUI,KC_ENTER), 18[1] = LAYOUT_ergodox(M(0),KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_BSPACE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_BSPACE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LSHIFT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LCTL,KC_LGUI,KC_LEFT,KC_RIGHT,KC_ESCAPE,KC_TRANSPARENT,KC_HOME,KC_SPACE,KC_LGUI,KC_LALT,KC_DELETE,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_TRANSPARENT,KC_7,KC_8,KC_9,KC_TRANSPARENT,KC_TRANSPARENT,KC_F12,KC_4,KC_5,KC_6,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_0,KC_1,KC_2,KC_3,NO_LBRC,NO_RBRC,KC_LSHIFT,KC_COMMA,KC_DOT,LSFT(NO_LBRC),LSFT(NO_RBRC),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LALT,KC_LGUI,KC_ENTER),
19 19
diff --git a/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c b/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c
index 85782dda7..7c91b3fbb 100644
--- a/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c
+++ b/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38 KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, 38 KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT,
39 KC_TAB, DE_X, DE_V, DE_L, DE_C, DE_W, KC_PSCR, 39 KC_TAB, DE_X, DE_V, DE_L, DE_C, DE_W, KC_PSCR,
40 MO(1), DE_U, DE_I, DE_A, DE_E, DE_O, 40 MO(1), DE_U, DE_I, DE_A, DE_E, DE_O,
41 KC_LSFT, DE_UE, DE_OE, DE_AE, DE_P, DE_Z, KC_SPACE, 41 KC_LSFT, DE_UDIA, DE_ODIA, DE_ADIA, DE_P, DE_Z, KC_SPACE,
42 KC_LCTL, KC_LGUI, KC_LALT, MO(3), MO(2), 42 KC_LCTL, KC_LGUI, KC_LALT, MO(3), MO(2),
43 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLD, KC_VOLU, 43 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLD, KC_VOLU,
44 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, 44 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
@@ -82,9 +82,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
82 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, 82 /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
83 /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, 83 /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
84 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 84 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
85 KC_TRNS, DE_EXLM, DE_LESS, DE_MORE, DE_EQL, DE_AMPR, KC_TRNS, 85 KC_TRNS, DE_EXLM, DE_LABK, DE_RABK, DE_EQL, DE_AMPR, KC_TRNS,
86 /*-*/ DE_QST, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, DE_AT, 86 /*-*/ DE_QUES, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, DE_AT,
87 KC_TRNS, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, KC_TRNS, 87 KC_TRNS, DE_PLUS, DE_PERC, DE_DQUO, DE_QUOT, DE_SCLN, KC_TRNS,
88 /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 88 /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
89 KC_TRNS, KC_TRNS, 89 KC_TRNS, KC_TRNS,
90 KC_TRNS, 90 KC_TRNS,
diff --git a/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c b/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c
index ee9a9d180..2ddd7ab20 100644
--- a/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c
+++ b/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c
@@ -7,6 +7,18 @@
7#define BASE_MAC 1 // default layer mac 7#define BASE_MAC 1 // default layer mac
8#define NUMB_FUNC 2 // numbers and function keys 8#define NUMB_FUNC 2 // numbers and function keys
9 9
10enum custom_keycodes {
11 TILDE_NO = SAFE_RANGE,
12 LESS_NO,
13 GRTR_NO,
14 CIRC_NO,
15 ACUT_NO,
16 GRV_NO,
17 LESS_NO_MAC,
18 GRTR_NO_MAC,
19 ACUT_NO_MAC
20};
21
10const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
11 23
12/* Keymap 0: Basic layer PC 24/* Keymap 0: Basic layer PC
@@ -32,18 +44,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 */ 44 */
33[BASE] = LAYOUT_ergodox( 45[BASE] = LAYOUT_ergodox(
34 // left hand 46 // left hand
35 KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, KC_FN2, TG(1), 47 KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, TILDE_NO, TG(1),
36 KC_PPLS, KC_Q, KC_W, KC_E, KC_R, KC_T, NO_QUO2, 48 KC_PPLS, KC_Q, KC_W, KC_E, KC_R, KC_T, NO_DQUO,
37 KC_PSLS, KC_A, KC_S, KC_D, KC_F, KC_G, 49 KC_PSLS, KC_A, KC_S, KC_D, KC_F, KC_G,
38 KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, 50 KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN,
39 ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB, 51 ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB,
40 KC_HASH, KC_FN7, 52 KC_HASH, GRV_NO,
41 KC_FN6, 53 ACUT_NO,
42 OSM(MOD_LSFT),CTL_T(KC_DOT),GUI_T(KC_COMMA), 54 OSM(MOD_LSFT),CTL_T(KC_DOT),GUI_T(KC_COMMA),
43 // right hand 55 // right hand
44 KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, 56 CIRC_NO, NO_DLR, NO_LPRN, NO_RPRN ,LESS_NO, GRTR_NO,NO_AT,
45 NO_APOS, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AA , 57 NO_QUOT, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_ARNG,
46 KC_H, KC_J, KC_K, KC_L, NO_OSLH, NO_AE, 58 KC_H, KC_J, KC_K, KC_L, NO_OSTR, NO_AE,
47 NO_EQL, KC_N, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, 59 NO_EQL, KC_N, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS,
48 KC_LEFT, NO_UNDS, NO_AMPR, NO_PIPE, OSL(2), 60 KC_LEFT, NO_UNDS, NO_AMPR, NO_PIPE, OSL(2),
49 KC_INSERT, KC_PERC, 61 KC_INSERT, KC_PERC,
@@ -72,20 +84,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
72 * `--------------------' `--------------------' 84 * `--------------------' `--------------------'
73 */ 85 */
74[BASE_MAC] = LAYOUT_ergodox( 86[BASE_MAC] = LAYOUT_ergodox(
75 KC_TRNS, KC_TRNS,KC_TRNS, NO_LCBR_MAC,NO_RCBR_MAC, KC_TRNS, KC_TRNS, 87 KC_TRNS, KC_TRNS,KC_TRNS, S(ALGR(NO_8)),S(ALGR(NO_9)), KC_TRNS, KC_TRNS,
76 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, 88 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS,
77 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 89 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
78 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 90 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
79 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
80 KC_TRNS, NO_GRV_MAC, 92 KC_TRNS, ALGR(NO_BSLS),
81 KC_FN10, 93 ACUT_NO_MAC,
82 KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA), 94 KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA),
83 // right hand 95 // right hand
84 KC_TRNS, NO_DLR_MAC, KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_AT_MAC, 96 KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,LESS_NO_MAC, GRTR_NO_MAC,NO_QUOT,
85 NO_APOS_MAC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 97 NO_LABK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
86 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 98 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
87 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NO_BSLS_MAC, 99 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(ALGR(NO_7)),
88 KC_TRNS, KC_TRNS, KC_TRNS, NO_PIPE_MAC, OSL(2), 100 KC_TRNS, KC_TRNS, KC_TRNS, ALGR(NO_7), OSL(2),
89 KC_TRNS, KC_TRNS, 101 KC_TRNS, KC_TRNS,
90 KC_TRNS, 102 KC_TRNS,
91 KC_TRNS, KC_TRNS, KC_TRNS 103 KC_TRNS, KC_TRNS, KC_TRNS
@@ -133,47 +145,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
133) 145)
134}; 146};
135 147
136enum macro_id { 148bool process_record_user(uint16_t keycode, keyrecord_t *record) {
137 TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC 149 switch (keycode) {
138};
139
140const uint16_t PROGMEM fn_actions[] = {
141 [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed.
142 [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first.
143 [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first.
144 [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed.
145 [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed.
146 [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed.
147 [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly
148 [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly
149 [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed
150};
151
152
153
154const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
155{
156 keyevent_t event = record->event;
157
158 switch (id) {
159 case TILDE_NO: 150 case TILDE_NO:
160 return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); 151 if (record->event.pressed) {
152 tap_code16(ALGR(KC_RBRC));
153 tap_code(KC_SPC);
154 }
155 return false;
161 case LESS_NO: 156 case LESS_NO:
162 return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); 157 if (record->event.pressed) {
158 tap_code(KC_NUBS);
159 }
160 return false;
163 case GRTR_NO: 161 case GRTR_NO:
164 return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); 162 if (record->event.pressed) {
163 tap_code16(S(KC_NUBS));
164 }
165 return false;
165 case CIRC_NO: 166 case CIRC_NO:
166 return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); 167 if (record->event.pressed) {
168 tap_code16(S(KC_RBRC));
169 tap_code(KC_SPC);
170 }
171 return false;
167 case ACUT_NO: 172 case ACUT_NO:
168 return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); 173 if (record->event.pressed) {
174 tap_code16(ALGR(KC_EQL));
175 tap_code(KC_SPC);
176 }
177 return false;
169 case GRV_NO: 178 case GRV_NO:
170 return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); 179 if (record->event.pressed) {
180 SEND_STRING(SS_LSFT("= "));
181 }
182 return false;
171 case LESS_NO_MAC: 183 case LESS_NO_MAC:
172 return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); 184 if (record->event.pressed) {
185 tap_code(KC_GRV);
186 }
187 return false;
173 case GRTR_NO_MAC: 188 case GRTR_NO_MAC:
174 return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); 189 if (record->event.pressed) {
190 tap_code16(S(KC_GRV));
191 }
192 return false;
175 case ACUT_NO_MAC: 193 case ACUT_NO_MAC:
176 return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); 194 if (record->event.pressed) {
195 tap_code(KC_EQL);
196 tap_code(KC_SPC);
197 }
198 return false;
177 } 199 }
178 return MACRO_NONE; 200 return true;
179}; 201}
diff --git a/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c b/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c
index af1d268bd..5ca8d40db 100644
--- a/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c
+++ b/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c
@@ -7,6 +7,18 @@
7#define BASE_MAC 1 // default layer mac 7#define BASE_MAC 1 // default layer mac
8#define NUMB_FUNC 2 // numbers and function keys 8#define NUMB_FUNC 2 // numbers and function keys
9 9
10enum custom_keycodes {
11 TILDE_NO = SAFE_RANGE,
12 LESS_NO,
13 GRTR_NO,
14 CIRC_NO,
15 ACUT_NO,
16 GRV_NO,
17 LESS_NO_MAC,
18 GRTR_NO_MAC,
19 ACUT_NO_MAC
20};
21
10const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
11 23
12/* Keymap 0: Basic layer PC 24/* Keymap 0: Basic layer PC
@@ -32,18 +44,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 */ 44 */
33[BASE] = LAYOUT_ergodox( 45[BASE] = LAYOUT_ergodox(
34 // left hand 46 // left hand
35 KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, KC_FN2, TG(1), 47 KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, TILDE_NO, TG(1),
36 KC_PPLS, KC_Q, KC_W, KC_F, KC_P, KC_G, NO_QUO2, 48 KC_PPLS, KC_Q, KC_W, KC_F, KC_P, KC_G, NO_DQUO,
37 KC_PSLS, KC_A, KC_R, KC_S, KC_T, KC_D, 49 KC_PSLS, KC_A, KC_R, KC_S, KC_T, KC_D,
38 KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, 50 KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN,
39 ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB, 51 ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB,
40 KC_HASH, KC_FN7, 52 KC_HASH, GRV_NO,
41 KC_FN6, 53 ACUT_NO,
42 OSM(MOD_LSFT),CTL_T(KC_DOT),GUI_T(KC_COMMA), 54 OSM(MOD_LSFT),CTL_T(KC_DOT),GUI_T(KC_COMMA),
43 // right hand 55 // right hand
44 KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, 56 CIRC_NO, NO_DLR, NO_LPRN, NO_RPRN ,LESS_NO, GRTR_NO,NO_AT,
45 NO_APOS, KC_J, KC_L, KC_U, KC_Y, NO_AA, NO_AE , 57 NO_QUOT, KC_J, KC_L, KC_U, KC_Y, NO_ARNG, NO_AE ,
46 KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSLH, 58 KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSTR,
47 NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, 59 NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS,
48 KC_LEFT, NO_UNDS, NO_AMPR, NO_PIPE, OSL(2), 60 KC_LEFT, NO_UNDS, NO_AMPR, NO_PIPE, OSL(2),
49 KC_INSERT, KC_PERC, 61 KC_INSERT, KC_PERC,
@@ -72,20 +84,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
72 * `--------------------' `--------------------' 84 * `--------------------' `--------------------'
73 */ 85 */
74[BASE_MAC] = LAYOUT_ergodox( 86[BASE_MAC] = LAYOUT_ergodox(
75 KC_TRNS, KC_TRNS,KC_TRNS, NO_LCBR_MAC,NO_RCBR_MAC, KC_TRNS, KC_TRNS, 87 KC_TRNS, KC_TRNS,KC_TRNS, S(ALGR(NO_8)),S(ALGR(NO_9)), KC_TRNS, KC_TRNS,
76 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, 88 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS,
77 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 89 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
78 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 90 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
79 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
80 KC_TRNS, NO_GRV_MAC, 92 KC_TRNS, ALGR(NO_BSLS),
81 KC_FN10, 93 ACUT_NO_MAC,
82 KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA), 94 KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA),
83 // right hand 95 // right hand
84 KC_TRNS, NO_DLR_MAC, KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_AT_MAC, 96 KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,LESS_NO_MAC, GRTR_NO_MAC,NO_QUOT,
85 NO_APOS_MAC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 97 NO_LABK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
86 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 98 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
87 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NO_BSLS_MAC, 99 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(ALGR(NO_7)),
88 KC_TRNS, KC_TRNS, KC_TRNS, NO_PIPE_MAC, OSL(2), 100 KC_TRNS, KC_TRNS, KC_TRNS, ALGR(NO_7), OSL(2),
89 KC_TRNS, KC_TRNS, 101 KC_TRNS, KC_TRNS,
90 KC_TRNS, 102 KC_TRNS,
91 KC_TRNS, KC_TRNS, KC_TRNS 103 KC_TRNS, KC_TRNS, KC_TRNS
@@ -133,47 +145,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
133) 145)
134}; 146};
135 147
136enum macro_id { 148bool process_record_user(uint16_t keycode, keyrecord_t *record) {
137 TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC 149 switch (keycode) {
138};
139
140const uint16_t PROGMEM fn_actions[] = {
141 [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed.
142 [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first.
143 [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first.
144 [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed.
145 [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed.
146 [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed.
147 [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly
148 [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly
149 [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed
150};
151
152
153
154const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
155{
156 keyevent_t event = record->event;
157
158 switch (id) {
159 case TILDE_NO: 150 case TILDE_NO:
160 return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); 151 if (record->event.pressed) {
152 tap_code16(ALGR(KC_RBRC));
153 tap_code(KC_SPC);
154 }
155 return false;
161 case LESS_NO: 156 case LESS_NO:
162 return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); 157 if (record->event.pressed) {
158 tap_code(KC_NUBS);
159 }
160 return false;
163 case GRTR_NO: 161 case GRTR_NO:
164 return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); 162 if (record->event.pressed) {
163 tap_code16(S(KC_NUBS));
164 }
165 return false;
165 case CIRC_NO: 166 case CIRC_NO:
166 return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); 167 if (record->event.pressed) {
168 tap_code16(S(KC_RBRC));
169 tap_code(KC_SPC);
170 }
171 return false;
167 case ACUT_NO: 172 case ACUT_NO:
168 return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); 173 if (record->event.pressed) {
174 tap_code16(ALGR(KC_EQL));
175 tap_code(KC_SPC);
176 }
177 return false;
169 case GRV_NO: 178 case GRV_NO:
170 return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); 179 if (record->event.pressed) {
180 SEND_STRING(SS_LSFT("= "));
181 }
182 return false;
171 case LESS_NO_MAC: 183 case LESS_NO_MAC:
172 return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); 184 if (record->event.pressed) {
185 tap_code(KC_GRV);
186 }
187 return false;
173 case GRTR_NO_MAC: 188 case GRTR_NO_MAC:
174 return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); 189 if (record->event.pressed) {
190 tap_code16(S(KC_GRV));
191 }
192 return false;
175 case ACUT_NO_MAC: 193 case ACUT_NO_MAC:
176 return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); 194 if (record->event.pressed) {
195 tap_code(KC_EQL);
196 tap_code(KC_SPC);
197 }
198 return false;
177 } 199 }
178 return MACRO_NONE; 200 return true;
179}; 201}
diff --git a/layouts/community/ergodox/osx_de/keymap.c b/layouts/community/ergodox/osx_de/keymap.c
index cd9a35e21..581aecf2d 100644
--- a/layouts/community/ergodox/osx_de/keymap.c
+++ b/layouts/community/ergodox/osx_de/keymap.c
@@ -15,8 +15,8 @@
15#define M_MEH_SH_ACUT 2 15#define M_MEH_SH_ACUT 2
16#define M_LGUI_SHFT 3 16#define M_LGUI_SHFT 3
17#define M_CTL_SFT_HASH 4 17#define M_CTL_SFT_HASH 4
18#define M_DE_OSX_CIRC_CTRLCMD 5 18#define M_DE_CIRC_CTRLCMD 5
19#define M_DE_OSX_PLUS_CTRLALT 6 19#define M_DE_PLUS_CTRLALT 6
20#define SM_SMILE 7 20#define SM_SMILE 7
21#define SM_SMIRK 8 21#define SM_SMIRK 8
22#define SM_CRY 9 22#define SM_CRY 9
@@ -31,39 +31,39 @@
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32[BASE]=LAYOUT_ergodox( 32[BASE]=LAYOUT_ergodox(
33//left half 33//left half
34 KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, M(M_CTL_SFT_HASH), 34 KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTL_SFT_HASH),
35 KC_TAB, DE_OSX_Q, DE_OSX_W, DE_OSX_E, DE_OSX_R, DE_OSX_T, KC_LGUI, 35 KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI,
36 KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, 36 KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G,
37 KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, 37 KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT,
38 LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), KC_UP, KC_DOWN, 38 LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), KC_UP, KC_DOWN,
39 M(M_MEH_SH_ACUT), TG(MDIA), 39 M(M_MEH_SH_ACUT), TG(MDIA),
40 KC_HOME, 40 KC_HOME,
41 KC_BSPC, KC_DEL, LT(SMLY,KC_END), 41 KC_BSPC, KC_DEL, LT(SMLY,KC_END),
42 //right half 42 //right half
43 M(M_CTL_SFT_HASH), DE_OSX_6, DE_OSX_7, DE_OSX_8, DE_OSX_9, DE_OSX_0, DE_OSX_SS, 43 M(M_CTL_SFT_HASH), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS,
44 KC_RGUI, DE_OSX_Z, DE_OSX_U, DE_OSX_I, DE_OSX_O, DE_OSX_P, DE_OSX_UE, 44 KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA,
45 DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), 45 DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA),
46 KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM, DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, 46 KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT,
47 KC_LEFT, KC_RIGHT, LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), 47 KC_LEFT, KC_RIGHT, LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS),
48 TG(NUMB), ALL_T(DE_OSX_ACUT), 48 TG(NUMB), ALL_T(DE_ACUT),
49 KC_PGUP, 49 KC_PGUP,
50 KC_PGDN, KC_ENT, KC_SPC), 50 KC_PGDN, KC_ENT, KC_SPC),
51[SYMB]=LAYOUT_ergodox( 51[SYMB]=LAYOUT_ergodox(
52//left half 52//left half
53 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, 53 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
54 KC_TRNS, DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, DE_OSX_QST, KC_TRNS, KC_TRNS, 54 KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS,
55 KC_TRNS, DE_OSX_HASH, DE_OSX_DLR, DE_OSX_BSLS, DE_OSX_SLSH, KC_DOT, 55 KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT,
56 KC_TRNS, KC_TRNS, DE_OSX_LESS, DE_OSX_PERC, DE_OSX_PIPE, DE_OSX_TILD, KC_TRNS, 56 KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, 58 KC_TRNS, KC_TRNS,
59 KC_TRNS, 59 KC_TRNS,
60 KC_TRNS, KC_DEL, KC_TRNS, 60 KC_TRNS, KC_DEL, KC_TRNS,
61 //right half 61 //right half
62 M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 62 M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
63 KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, 63 KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_LABK, DE_RABK, DE_EXLM,
64 DE_OSX_SLSH, DE_OSX_LPRN, DE_OSX_RPRN, LALT(KC_8), LALT(KC_9), DE_OSX_HASH, 64 DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), DE_HASH,
65 KC_TRNS, DE_OSX_PIPE, DE_OSX_TILD, DE_OSX_CIRC, KC_UP, DE_OSX_MINS, LSFT(KC_4), 65 KC_TRNS, DE_PIPE, DE_TILD, DE_CIRC, KC_UP, DE_MINS, LSFT(KC_4),
66 DE_OSX_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, 66 DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
67 KC_F13, KC_F12, 67 KC_F13, KC_F12,
68 KC_F14, 68 KC_F14,
69 KC_F15, KC_TRNS, KC_TRNS), 69 KC_F15, KC_TRNS, KC_TRNS),
@@ -118,9 +118,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
118 //right half 118 //right half
119 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 119 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
120 KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, 120 KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12,
121 KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_OSX_MINS, 121 KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS,
122 KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, 122 KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS,
123 KC_0, KC_DOT, KC_COMM, DE_OSX_EQL, KC_TRNS, 123 KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS,
124 KC_TRNS, KC_TRNS, 124 KC_TRNS, KC_TRNS,
125 KC_TRNS, 125 KC_TRNS,
126 KC_TRNS, KC_TRNS, KC_TRNS), 126 KC_TRNS, KC_TRNS, KC_TRNS),
@@ -171,8 +171,8 @@ if (record->event.pressed) {
171 } 171 }
172 172
173break; 173break;
174case M_DE_OSX_PLUS_CTRLALT: 174case M_DE_PLUS_CTRLALT:
175//Macro: M_DE_OSX_PLUS_CTRLALT//----------------------- 175//Macro: M_DE_PLUS_CTRLALT//-----------------------
176if (record->event.pressed) { 176if (record->event.pressed) {
177 start = timer_read(); 177 start = timer_read();
178 return MACRO(D(LCTRL),D(LALT),END); 178 return MACRO(D(LCTRL),D(LALT),END);
@@ -264,8 +264,8 @@ if (record->event.pressed) {
264 } 264 }
265 265
266break; 266break;
267case M_DE_OSX_CIRC_CTRLCMD: 267case M_DE_CIRC_CTRLCMD:
268//Macro: M_DE_OSX_CIRC_CTRLCMD//----------------------- 268//Macro: M_DE_CIRC_CTRLCMD//-----------------------
269if (record->event.pressed) { 269if (record->event.pressed) {
270 start = timer_read(); 270 start = timer_read();
271 return MACRO(D(LCTRL),D(LGUI),END); 271 return MACRO(D(LCTRL),D(LGUI),END);
diff --git a/layouts/community/ergodox/osx_de_adnw_koy/keymap.c b/layouts/community/ergodox/osx_de_adnw_koy/keymap.c
index 08b11cccd..18335652f 100644
--- a/layouts/community/ergodox/osx_de_adnw_koy/keymap.c
+++ b/layouts/community/ergodox/osx_de_adnw_koy/keymap.c
@@ -30,13 +30,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL, 30 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL,
31 KC_TAB, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_LGUI, 31 KC_TAB, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_LGUI,
32 TG(QWERTZ), KC_H, KC_A, KC_E, KC_I, KC_U, 32 TG(QWERTZ), KC_H, KC_A, KC_E, KC_I, KC_U,
33 KC_LSFT, CTL_T(KC_X), KC_Q, DE_AE, DE_UE, DE_OE, KC_LALT, 33 KC_LSFT, CTL_T(KC_X), KC_Q, DE_ADIA, DE_UDIA, DE_ODIA, KC_LALT,
34 LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT, KC_RGHT, 34 LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
35 TG(MDIA), MEH_T(LSFT(DE_ACUT)), 35 TG(MDIA), MEH_T(LSFT(DE_ACUT)),
36 KC_HOME, 36 KC_HOME,
37 KC_BSPC, KC_DEL, KC_END, 37 KC_BSPC, KC_DEL, KC_END,
38 //right half 38 //right half
39 KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, DE_OSX_MINS, 39 KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, DE_MINS,
40 KC_RGUI, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y, 40 KC_RGUI, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y,
41 KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F), 41 KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F),
42 KC_RALT, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_RSFT, 42 KC_RALT, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_RSFT,
@@ -47,9 +47,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47[SYMB]=LAYOUT_ergodox( 47[SYMB]=LAYOUT_ergodox(
48//left half 48//left half
49 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, 49 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
50 KC_TRNS, KC_GRV, LSFT(KC_GRV), DE_EXLM, DE_QST, KC_TRNS, KC_TRNS, 50 KC_TRNS, KC_GRV, LSFT(KC_GRV), DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS,
51 KC_TRNS, DE_HASH, DE_DLR, LALT(LSFT(KC_7)), DE_SLSH, KC_DOT, 51 KC_TRNS, DE_HASH, DE_DLR, LALT(LSFT(KC_7)), DE_SLSH, KC_DOT,
52 KC_TRNS, KC_TRNS, DE_LESS, DE_PERC, LALT(KC_7), LALT(KC_N), KC_TRNS, 52 KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, LALT(KC_7), LALT(KC_N), KC_TRNS,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
54 KC_TRNS, KC_TRNS, 54 KC_TRNS, KC_TRNS,
55 KC_TRNS, 55 KC_TRNS,
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
58 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 58 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
59 KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, 59 KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12,
60 DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, 60 DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS,
61 KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST, 61 KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQUO, DE_QUOT, DE_QUES,
62 KC_TRNS, KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, 62 KC_TRNS, KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS,
63 KC_TRNS, KC_TRNS, 63 KC_TRNS, KC_TRNS,
64 KC_TRNS, 64 KC_TRNS,
@@ -88,14 +88,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
88 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI, 88 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,
89 KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, 89 KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G,
90 KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, 90 KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT,
91 LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT, KC_RGHT, 91 LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
92 KC_TRNS, MEH_T(LSFT(DE_ACUT)), 92 KC_TRNS, MEH_T(LSFT(DE_ACUT)),
93 KC_HOME, 93 KC_HOME,
94 KC_BSPC, KC_DEL, KC_END, 94 KC_BSPC, KC_DEL, KC_END,
95 //right half 95 //right half
96 LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 96 LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
97 KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE, 97 KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UDIA,
98 KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(MDIA,DE_AE), 98 KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(MDIA,DE_ADIA),
99 KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, 99 KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
100 KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS), 100 KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS),
101 ALL_T(DE_ACUT), KC_TRNS, 101 ALL_T(DE_ACUT), KC_TRNS,
diff --git a/layouts/community/ergodox/osx_de_experimental/keymap.c b/layouts/community/ergodox/osx_de_experimental/keymap.c
index cedecd45c..17ca4362e 100644
--- a/layouts/community/ergodox/osx_de_experimental/keymap.c
+++ b/layouts/community/ergodox/osx_de_experimental/keymap.c
@@ -35,7 +35,7 @@
35 35
36#define TGH_NUM 2 36#define TGH_NUM 2
37 37
38#define M_DE_OSX_PLUS_CTRLALT 3 38#define M_DE_PLUS_CTRLALT 3
39 39
40#define SM_KISS 4 40#define SM_KISS 4
41 41
@@ -57,7 +57,7 @@
57 57
58#define SM_SAD 13 58#define SM_SAD 13
59 59
60#define M_DE_OSX_CIRC_CTRLCMD 14 60#define M_DE_CIRC_CTRLCMD 14
61 61
62#define M_MEH_SH_ACUT 15 62#define M_MEH_SH_ACUT 15
63 63
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
83* 83*
84* /-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------/ 84* /-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------/
85* | < | LongPress / Type | LongPress / Type | Shift+Ctrl | Type | | # | ACUT | CMD+Shift | ALT+Shift | + | 85* | < | LongPress / Type | LongPress / Type | Shift+Ctrl | Type | | # | ACUT | CMD+Shift | ALT+Shift | + |
86* | SYMB | DE_OSX_CIRC_CTRLCMD| DE_OSX_PLUS_CTRAlt | | Toggle SMLY | | Meh | Hyper | | | SYMB | 86* | SYMB | DE_CIRC_CTRLCMD | DE_PLUS_CTRAlt | | Toggle SMLY | | Meh | Hyper | | | SYMB |
87* \-------------------\\-------------------\\-------------------\\-------------------\/-------------------//-------------------/ /-------------------//-------------------/ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ 87* \-------------------\\-------------------\\-------------------\\-------------------\/-------------------//-------------------/ /-------------------//-------------------/ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\
88* | HOME | END | | LEFT | RIGHT | 88* | HOME | END | | LEFT | RIGHT |
89* | | | | | | 89* | | | | | |
@@ -99,20 +99,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
99**/ 99**/
100[BASE]=LAYOUT_ergodox( 100[BASE]=LAYOUT_ergodox(
101//left half 101//left half
102 KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, M(TGH_NUM), 102 KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(TGH_NUM),
103 KC_TAB, DE_OSX_Q, DE_OSX_W, DE_OSX_E, DE_OSX_R, DE_OSX_T, KC_LGUI, 103 KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI,
104 KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, 104 KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G,
105 KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, 105 KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT,
106 LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), LSFT(KC_LCTRL), M(SMLY_TOG_QUOT), 106 LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), LSFT(KC_LCTRL), M(SMLY_TOG_QUOT),
107 KC_HOME, KC_END, 107 KC_HOME, KC_END,
108 KC_PGUP, 108 KC_PGUP,
109 KC_BSPC, KC_DEL, KC_PGDN, 109 KC_BSPC, KC_DEL, KC_PGDN,
110 //right half 110 //right half
111 M(TOG_HLD_MDIA), DE_OSX_6, DE_OSX_7, DE_OSX_8, DE_OSX_9, DE_OSX_0, DE_OSX_SS, 111 M(TOG_HLD_MDIA), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS,
112 KC_RGUI, DE_OSX_Z, DE_OSX_U, DE_OSX_I, DE_OSX_O, DE_OSX_P, DE_OSX_UE, 112 KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA,
113 DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), 113 DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA),
114 KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM, DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, 114 KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT,
115 MEH_T(DE_OSX_HASH), ALL_T(DE_OSX_ACUT), LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), 115 MEH_T(DE_HASH), ALL_T(DE_ACUT), LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS),
116 KC_LEFT, KC_RIGHT, 116 KC_LEFT, KC_RIGHT,
117 KC_UP, 117 KC_UP,
118 KC_DOWN, KC_ENT, KC_SPC), 118 KC_DOWN, KC_ENT, KC_SPC),
@@ -152,19 +152,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
152[SYMB]=LAYOUT_ergodox( 152[SYMB]=LAYOUT_ergodox(
153//left half 153//left half
154 KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, 154 KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5,
155 KC_TRNS, DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, DE_OSX_QST, KC_TRNS, KC_TRNS, 155 KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QST, KC_TRNS, KC_TRNS,
156 KC_TRNS, DE_OSX_HASH, DE_OSX_DLR, DE_OSX_BSLS, DE_OSX_SLSH, KC_DOT, 156 KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT,
157 KC_TRNS, KC_TRNS, DE_OSX_LESS, DE_OSX_PERC, DE_OSX_PIPE, DE_OSX_TILD, KC_TRNS, 157 KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS,
158 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 158 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
159 KC_TRNS, KC_TRNS, 159 KC_TRNS, KC_TRNS,
160 KC_TRNS, 160 KC_TRNS,
161 KC_TRNS, KC_DEL, KC_TRNS, 161 KC_TRNS, KC_DEL, KC_TRNS,
162 //right half 162 //right half
163 KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 163 KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
164 KC_TRNS, DE_OSX_BSLS, DE_OSX_LBRC, DE_OSX_RBRC, DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, 164 KC_TRNS, DE_BSLS, DE_LBRC, DE_RBRC, DE_LABK, DE_RABK, DE_EXLM,
165 DE_OSX_SLSH, DE_OSX_LPRN, DE_OSX_RPRN, DE_OSX_LCBR, DE_OSX_RCBR, DE_OSX_HASH, 165 DE_SLSH, DE_LPRN, DE_RPRN, DE_LCBR, DE_RCBR, DE_HASH,
166 KC_TRNS, DE_OSX_PIPE, DE_OSX_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 166 KC_TRNS, DE_PIPE, DE_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
167 DE_OSX_QUOT, DE_OSX_DQOT, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, 167 DE_QUOT, DE_DQUO, KC_TRNS, M(M_TOGGLE_5), KC_TRNS,
168 KC_F13, KC_F12, 168 KC_F13, KC_F12,
169 KC_F14, 169 KC_F14,
170 KC_F15, KC_TRNS, KC_TRNS), 170 KC_F15, KC_TRNS, KC_TRNS),
@@ -317,10 +317,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
317 KC_TRNS, KC_TRNS, KC_TRNS, 317 KC_TRNS, KC_TRNS, KC_TRNS,
318 //right half 318 //right half
319 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 319 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
320 KC_TRNS, DE_OSX_SLSH, KC_7, KC_8, KC_9, DE_OSX_ASTR, KC_F12, 320 KC_TRNS, DE_SLSH, KC_7, KC_8, KC_9, DE_ASTR, KC_F12,
321 DE_OSX_SLSH, KC_4, KC_5, KC_6, DE_OSX_PLUS, DE_OSX_MINS, 321 DE_SLSH, KC_4, KC_5, KC_6, DE_PLUS, DE_MINS,
322 KC_TRNS, DE_OSX_PERC, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, 322 KC_TRNS, DE_PERC, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS,
323 KC_0, KC_DOT, KC_COMM, DE_OSX_EQL, KC_TRNS, 323 KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS,
324 KC_TRNS, KC_TRNS, 324 KC_TRNS, KC_TRNS,
325 KC_TRNS, 325 KC_TRNS,
326 KC_TRNS, KC_TRNS, KC_TRNS), 326 KC_TRNS, KC_TRNS, KC_TRNS),
@@ -394,7 +394,7 @@ if (record->event.pressed) {
394 if (timer_elapsed(start) >150) { 394 if (timer_elapsed(start) >150) {
395 return MACRO_NONE; 395 return MACRO_NONE;
396 } else { 396 } else {
397 return MACRO(DOWN(KC_LSFT),TYPE(DE_OSX_HASH),UP(KC_LSFT),END); 397 return MACRO(DOWN(KC_LSFT),TYPE(DE_HASH),UP(KC_LSFT),END);
398 } 398 }
399 } 399 }
400 400
@@ -422,8 +422,8 @@ if (record->event.pressed){
422return MACRO_NONE; 422return MACRO_NONE;
423 423
424break; 424break;
425case M_DE_OSX_PLUS_CTRLALT: 425case M_DE_PLUS_CTRLALT:
426//Macro: M_DE_OSX_PLUS_CTRLALT//----------------------- 426//Macro: M_DE_PLUS_CTRLALT//-----------------------
427if (record->event.pressed) { 427if (record->event.pressed) {
428 start = timer_read(); 428 start = timer_read();
429 return MACRO(DOWN(KC_LCTRL),DOWN(KC_LALT),END); 429 return MACRO(DOWN(KC_LCTRL),DOWN(KC_LALT),END);
@@ -516,8 +516,8 @@ if (record->event.pressed) {
516 } 516 }
517 517
518break; 518break;
519case M_DE_OSX_CIRC_CTRLCMD: 519case M_DE_CIRC_CTRLCMD:
520//Macro: M_DE_OSX_CIRC_CTRLCMD//----------------------- 520//Macro: M_DE_CIRC_CTRLCMD//-----------------------
521if (record->event.pressed) { 521if (record->event.pressed) {
522 start = timer_read(); 522 start = timer_read();
523 return MACRO(DOWN(KC_LCTRL),DOWN(KC_LGUI),END); 523 return MACRO(DOWN(KC_LCTRL),DOWN(KC_LGUI),END);
@@ -539,7 +539,7 @@ if (record->event.pressed) {
539 if (timer_elapsed(start) >150) { 539 if (timer_elapsed(start) >150) {
540 return MACRO(U(LCTRL),U(LSFT),U(LALT),END); 540 return MACRO(U(LCTRL),U(LSFT),U(LALT),END);
541 } else { 541 } else {
542 return MACRO(UP(KC_LCTRL),UP(KC_LALT),TYPE(DE_OSX_ACUT),UP(KC_LSFT),END); 542 return MACRO(UP(KC_LCTRL),UP(KC_LALT),TYPE(DE_ACUT),UP(KC_LSFT),END);
543 } 543 }
544 } 544 }
545 545
diff --git a/layouts/community/ergodox/osx_fr/keymap.c b/layouts/community/ergodox/osx_fr/keymap.c
index 09ef0edb6..924e9ee8a 100644
--- a/layouts/community/ergodox/osx_fr/keymap.c
+++ b/layouts/community/ergodox/osx_fr/keymap.c
@@ -34,17 +34,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34// Otherwise, it needs KC_* 34// Otherwise, it needs KC_*
35[BASE] = LAYOUT_ergodox( // layer 0 : default 35[BASE] = LAYOUT_ergodox( // layer 0 : default
36 // left hand 36 // left hand
37 FR_MINS, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_LEFT, 37 FR_MINS, FR_AMPR, FR_LEAC, FR_DQUO, FR_QUOT, FR_LPRN, KC_LEFT,
38 KC_DEL, FR_A, FR_Z, KC_E, KC_R, KC_T, TG(1), 38 KC_DEL, FR_A, FR_Z, KC_E, KC_R, KC_T, TG(1),
39 KC_BSPC, FR_Q, KC_S, KC_D, KC_F, KC_G, 39 KC_BSPC, FR_Q, KC_S, KC_D, KC_F, KC_G,
40 KC_LSFT, CTL_T(FR_W), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), 40 KC_LSFT, CTL_T(FR_W), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
41 LT(SYMB,FR_UGRV), FR_LESS, LALT(KC_LSFT), KC_LEFT, KC_RGHT, 41 LT(SYMB,FR_LUGR), FR_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
42 ALT_T(KC_APP), KC_LGUI, 42 ALT_T(KC_APP), KC_LGUI,
43 KC_HOME, 43 KC_HOME,
44 KC_SPC, KC_BSPC, KC_END, 44 KC_SPC, KC_BSPC, KC_END,
45 45
46 // right hand 46 // right hand
47 KC_RGHT, FR_SECT, FR_EGRV, FR_EXLM, FR_CCED, FR_AGRV, FR_RPRN, 47 KC_RGHT, FR_SECT, FR_LEGR, FR_EXLM, FR_LCCE, FR_LAGR, FR_RPRN,
48 TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, FR_GRV, 48 TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, FR_GRV,
49 KC_H, KC_J, KC_K, KC_L, FR_M, KC_LGUI, 49 KC_H, KC_J, KC_K, KC_L, FR_M, KC_LGUI,
50 MEH_T(KC_NO), KC_N, FR_COMM, LT(MDIA, FR_SCLN), FR_COLN, CTL_T(FR_EQL), KC_RSFT, 50 MEH_T(KC_NO), KC_N, FR_COMM, LT(MDIA, FR_SCLN), FR_COLN, CTL_T(FR_EQL), KC_RSFT,
@@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
89 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 89 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
90 KC_TRNS, KC_UP, FR_7, FR_8, FR_9, FR_ASTR, KC_F12, 90 KC_TRNS, KC_UP, FR_7, FR_8, FR_9, FR_ASTR, KC_F12,
91 KC_DOWN, FR_4, FR_5, FR_6, FR_PLUS, KC_TRNS, 91 KC_DOWN, FR_4, FR_5, FR_6, FR_PLUS, KC_TRNS,
92 KC_TRNS, FR_AMP, FR_1, FR_2, FR_3, FR_BSLS, KC_TRNS, 92 KC_TRNS, FR_AMPR, FR_1, FR_2, FR_3, FR_BSLS, KC_TRNS,
93 KC_TRNS,FR_COMM, FR_0, FR_EQL, KC_TRNS, 93 KC_TRNS,FR_COMM, FR_0, FR_EQL, KC_TRNS,
94 KC_TRNS, KC_TRNS, 94 KC_TRNS, KC_TRNS,
95 KC_TRNS, 95 KC_TRNS,
diff --git a/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c
index 729810705..6bf0285ab 100644
--- a/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c
+++ b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49 M(KC_CAPS), M(KC_A), M(KC_S), M(KC_D), M(KC_F), M(KC_G), 49 M(KC_CAPS), M(KC_A), M(KC_S), M(KC_D), M(KC_F), M(KC_G),
50 KC_LSFT, M(KC_Z), M(KC_X), M(KC_C), M(KC_V), M(KC_B), MO(SYMB), 50 KC_LSFT, M(KC_Z), M(KC_X), M(KC_C), M(KC_V), M(KC_B), MO(SYMB),
51 KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT, KC_RGHT, 51 KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT, KC_RGHT,
52 KC_TRNS, KC_FN1, 52 KC_TRNS, F(1),
53 KC_HOME, 53 KC_HOME,
54 KC_BSPC, KC_DEL, KC_END, 54 KC_BSPC, KC_DEL, KC_END,
55 // right hand 55 // right hand
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
91 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 91 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
92 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 92 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
93 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 93 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
94 KC_FN3, KC_FN2, 94 F(3), F(2),
95 KC_TRNS, 95 KC_TRNS,
96 KC_TRNS,KC_TRNS,KC_TRNS, 96 KC_TRNS,KC_TRNS,KC_TRNS,
97 // right hand 97 // right hand
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
132 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 132 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
133 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 133 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
134 KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, 134 KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO,
135 KC_FN4, KC_NO, 135 F(4), KC_NO,
136 KC_TRNS, 136 KC_TRNS,
137 KC_TRNS, KC_TRNS, KC_TRNS, 137 KC_TRNS, KC_TRNS, KC_TRNS,
138 // right hand 138 // right hand
diff --git a/layouts/community/ergodox/qwerty_code_friendly/keymap.c b/layouts/community/ergodox/qwerty_code_friendly/keymap.c
index bf20e76a5..6e285d561 100644
--- a/layouts/community/ergodox/qwerty_code_friendly/keymap.c
+++ b/layouts/community/ergodox/qwerty_code_friendly/keymap.c
@@ -490,7 +490,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
490), 490),
491}; 491};
492 492
493uint32_t layer_state_set_user(uint32_t state) { 493layer_state_t layer_state_set_user(layer_state_t state) {
494 /* Use layer 3 when 1 & 2 are pressed. */ 494 /* Use layer 3 when 1 & 2 are pressed. */
495 state = update_tri_layer_state(state, LAYER_KPAD, LAYER_FKEY, LAYER_WORD); 495 state = update_tri_layer_state(state, LAYER_KPAD, LAYER_FKEY, LAYER_WORD);
496 return state; 496 return state;
diff --git a/layouts/community/ergodox/software_neo2/keymap.c b/layouts/community/ergodox/software_neo2/keymap.c
index 8f7337601..5f600a5ab 100644
--- a/layouts/community/ergodox/software_neo2/keymap.c
+++ b/layouts/community/ergodox/software_neo2/keymap.c
@@ -34,20 +34,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34// Otherwise, it needs KC_* 34// Otherwise, it needs KC_*
35[BASE] = LAYOUT_ergodox( // layer 0 : default 35[BASE] = LAYOUT_ergodox( // layer 0 : default
36 // left hand 36 // left hand
37 KC_DEL, NEO_1, NEO_2, NEO_3, NEO_4, NEO_5, KC_MPLY, 37 KC_DEL, NE_1, NE_2, NE_3, NE_4, NE_5, KC_MPLY,
38 KC_TAB, NEO_X, NEO_V, NEO_L, NEO_C, NEO_W, KC_ESC, 38 KC_TAB, NE_X, NE_V, NE_L, NE_C, NE_W, KC_ESC,
39 NEO_L1_L, NEO_U, NEO_I, NEO_A, NEO_E, NEO_O, 39 NE_L3L, NE_U, NE_I, NE_A, NE_E, NE_O,
40 KC_LSFT, CTL_T(NEO_UE), GUI_T(NEO_OE), ALT_T(NEO_AE), NEO_P, NEO_Z, TG(1), 40 KC_LSFT, CTL_T(NE_UDIA), GUI_T(NE_ODIA), ALT_T(NE_ADIA), NE_P, NE_Z, TG(1),
41 NEO_L2_L, KC_HOME, KC_PGDN, KC_PGUP, KC_END, 41 NE_L4L, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
42 C_S_T(KC_ESC),KC_LGUI, 42 C_S_T(KC_ESC),KC_LGUI,
43 KC_ENT, 43 KC_ENT,
44 KC_SPC,KC_BSPC,KC_TAB, 44 KC_SPC,KC_BSPC,KC_TAB,
45 // right hand 45 // right hand
46 KC_MNXT, NEO_6, NEO_7, NEO_8, NEO_9, NEO_0, NEO_SS, 46 KC_MNXT, NE_6, NE_7, NE_8, NE_9, NE_0, NE_SS,
47 KC_ESC, NEO_K, NEO_H, NEO_G, NEO_F, NEO_Q, NEO_Y, 47 KC_ESC, NE_K, NE_H, NE_G, NE_F, NE_Q, NE_Y,
48 NEO_S, NEO_N, NEO_R, NEO_T, NEO_D, NEO_L1_R, 48 NE_S, NE_N, NE_R, NE_T, NE_D, NE_L3R,
49 TG(1), NEO_B, NEO_M, NEO_COMM, NEO_DOT, NEO_J, KC_RSFT, 49 TG(1), NE_B, NE_M, NE_COMM, NE_DOT, NE_J, KC_RSFT,
50 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, NEO_L2_R, 50 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, NE_L4R,
51 KC_LALT,KC_RGUI, 51 KC_LALT,KC_RGUI,
52 KC_DEL, 52 KC_DEL,
53 KC_ESC,KC_ENT, KC_SPC 53 KC_ESC,KC_ENT, KC_SPC
diff --git a/layouts/community/ergodox/supercoder/makefile.mk b/layouts/community/ergodox/supercoder/rules.mk
index 41a195d9c..61b6dae84 100644
--- a/layouts/community/ergodox/supercoder/makefile.mk
+++ b/layouts/community/ergodox/supercoder/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE=no 1BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
2COMMAND_ENABLE=no 2COMMAND_ENABLE=no
3SLEEP_LED_ENABLE=no 3SLEEP_LED_ENABLE=no
4UNICODE_ENABLE=no 4UNICODE_ENABLE=no
diff --git a/layouts/community/ergodox/swedish-lindhe/keymap.c b/layouts/community/ergodox/swedish-lindhe/keymap.c
index 1b16c31d4..368e216cd 100644
--- a/layouts/community/ergodox/swedish-lindhe/keymap.c
+++ b/layouts/community/ergodox/swedish-lindhe/keymap.c
@@ -54,14 +54,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
54 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(SYMB), 54 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(SYMB),
55 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, 55 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
56 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SE_ACUT, 56 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SE_ACUT,
57 CTL_T(SE_APOS), SE_CIRC, SE_ASTR, KC_LALT, KC_LGUI, 57 CTL_T(SE_QUOT), SE_CIRC, SE_ASTR, KC_LALT, KC_LGUI,
58 KC_LCTRL, KC_LALT, 58 KC_LCTRL, KC_LALT,
59 SE_TILD, 59 SE_TILD,
60 KC_SPC, KC_BSPC, KC_ESC, 60 KC_SPC, KC_BSPC, KC_ESC,
61 // right hand 61 // right hand
62 KC_MS_BTN3, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, 62 KC_MS_BTN3, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,
63 TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, 63 TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
64 KC_H, KC_J, KC_K, KC_L, SE_OSLH, SE_AE, 64 KC_H, KC_J, KC_K, KC_L, SE_ODIA, SE_ADIA,
65 KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT, 65 KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT,
66 KC_ALGR, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, 66 KC_ALGR, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT,
67 KC_HOME, KC_END, 67 KC_HOME, KC_END,
diff --git a/layouts/community/ergodox/swedish/keymap.c b/layouts/community/ergodox/swedish/keymap.c
index 8ef15d097..90218aa88 100644
--- a/layouts/community/ergodox/swedish/keymap.c
+++ b/layouts/community/ergodox/swedish/keymap.c
@@ -66,14 +66,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
66 KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 66 KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
67 KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, 67 KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
68 KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), 68 KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
69 LT(SYMB,SE_APOS), SE_ACUT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, 69 LT(SYMB,SE_QUOT), SE_ACUT, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
70 ALT_T(KC_APP), KC_LGUI, 70 ALT_T(KC_APP), KC_LGUI,
71 KC_HOME, 71 KC_HOME,
72 KC_SPC,KC_BSPC,KC_END, 72 KC_SPC,KC_BSPC,KC_END,
73 // right hand 73 // right hand
74 KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, 74 KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,
75 TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, 75 TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
76 KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_OSLH), GUI_T(SE_AE), 76 KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_ODIA), GUI_T(SE_ADIA),
77 MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(SE_MINS), KC_RSFT, 77 MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(SE_MINS), KC_RSFT,
78 KC_UP, KC_DOWN, SE_CIRC, SE_ASTR, TT(SYMB), 78 KC_UP, KC_DOWN, SE_CIRC, SE_ASTR, TT(SYMB),
79 KC_ALGR, CTL_T(KC_ESC), 79 KC_ALGR, CTL_T(KC_ESC),
diff --git a/layouts/community/ergodox/townk_osx/makefile.mk b/layouts/community/ergodox/townk_osx/rules.mk
index c06021b9f..c06021b9f 100644
--- a/layouts/community/ergodox/townk_osx/makefile.mk
+++ b/layouts/community/ergodox/townk_osx/rules.mk
diff --git a/layouts/community/ergodox/workman_osx_mdw/keymap.c b/layouts/community/ergodox/workman_osx_mdw/keymap.c
index 81fd3984b..f14d9cf4c 100644
--- a/layouts/community/ergodox/workman_osx_mdw/keymap.c
+++ b/layouts/community/ergodox/workman_osx_mdw/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
55 TG(1), KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSLS, 55 TG(1), KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSLS,
56 KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, 56 KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT,
57 MEH_T(KC_NO),KC_K, KC_L, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, 57 MEH_T(KC_NO),KC_K, KC_L, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
58 KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, KC_FN4, 58 KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, F(4),
59 KC_NO, KC_NO, 59 KC_NO, KC_NO,
60 KC_PGUP, 60 KC_PGUP,
61 KC_PGDN,KC_SPC,KC_ENT 61 KC_PGDN,KC_SPC,KC_ENT
diff --git a/layouts/community/numpad_5x6/bjohnson/rules.mk b/layouts/community/numpad_5x6/bjohnson/rules.mk
index d370da7f1..d85826165 100644
--- a/layouts/community/numpad_5x6/bjohnson/rules.mk
+++ b/layouts/community/numpad_5x6/bjohnson/rules.mk
@@ -2,4 +2,4 @@ AUDIO_ENABLE = no
2RGBLIGHT_ENABLE = yes 2RGBLIGHT_ENABLE = yes
3BACKLIGHT_ENABLE = no 3BACKLIGHT_ENABLE = no
4NO_SECRETS = yes 4NO_SECRETS = yes
5BOOTMAGIC_ENABLE = lite 5BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
diff --git a/layouts/community/numpad_5x6/drashna/rules.mk b/layouts/community/numpad_5x6/drashna/rules.mk
index 0bdf97bae..6de3056dd 100644
--- a/layouts/community/numpad_5x6/drashna/rules.mk
+++ b/layouts/community/numpad_5x6/drashna/rules.mk
@@ -2,7 +2,7 @@ AUDIO_ENABLE = no
2RGBLIGHT_ENABLE = yes 2RGBLIGHT_ENABLE = yes
3BACKLIGHT_ENABLE = no 3BACKLIGHT_ENABLE = no
4NO_SECRETS = yes 4NO_SECRETS = yes
5BOOTMAGIC_ENABLE = lite 5BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
6INDICATOR_LIGHTS = no 6INDICATOR_LIGHTS = no
7RGBLIGHT_TWINKLE = yes 7RGBLIGHT_TWINKLE = yes
8MAKE_BOOTLOADER = yes 8MAKE_BOOTLOADER = yes
diff --git a/layouts/community/ortho_4x12/brandonschlack/keymap.c b/layouts/community/ortho_4x12/brandonschlack/keymap.c
index ea9d29506..4877a0b44 100644
--- a/layouts/community/ortho_4x12/brandonschlack/keymap.c
+++ b/layouts/community/ortho_4x12/brandonschlack/keymap.c
@@ -154,7 +154,7 @@ bool encoder_update_keymap(uint8_t index, bool clockwise) {
154 return true; 154 return true;
155} 155}
156 156
157void dip_switch_update_user(uint8_t index, bool active) { 157bool dip_switch_update_user(uint8_t index, bool active) {
158 switch (index) { 158 switch (index) {
159 case 0: { 159 case 0: {
160#ifdef AUDIO_ENABLE 160#ifdef AUDIO_ENABLE
@@ -183,6 +183,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
183 muse_mode = false; 183 muse_mode = false;
184 } 184 }
185 } 185 }
186 return true;
186} 187}
187 188
188void matrix_scan_keymap(void) { 189void matrix_scan_keymap(void) {
diff --git a/layouts/community/ortho_4x12/brandonschlack/rules.mk b/layouts/community/ortho_4x12/brandonschlack/rules.mk
index e36b073d2..d27ef6420 100644
--- a/layouts/community/ortho_4x12/brandonschlack/rules.mk
+++ b/layouts/community/ortho_4x12/brandonschlack/rules.mk
@@ -6,5 +6,5 @@ MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
6BACKLIGHT_ENABLE = no # No backlights installed 6BACKLIGHT_ENABLE = no # No backlights installed
7 7
8ifeq ($(strip $(KEYBOARD)), jnao) 8ifeq ($(strip $(KEYBOARD)), jnao)
9 BOOTMAGIC_ENABLE = lite 9 BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
10endif 10endif
diff --git a/layouts/community/ortho_4x12/buswerks/rules.mk b/layouts/community/ortho_4x12/buswerks/rules.mk
index 72f825732..d08db7130 100644
--- a/layouts/community/ortho_4x12/buswerks/rules.mk
+++ b/layouts/community/ortho_4x12/buswerks/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 1BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
2MOUSEKEY_ENABLE = yes # Mouse keys(+4700) 2MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
3EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 3EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
4CONSOLE_ENABLE = no # Console for debug(+400) 4CONSOLE_ENABLE = no # Console for debug(+400)
diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h
index f4abd64f5..43143c3a3 100644
--- a/layouts/community/ortho_4x12/drashna/config.h
+++ b/layouts/community/ortho_4x12/drashna/config.h
@@ -37,7 +37,7 @@
37# define RGB_MATRIX_FRAMEBUFFER_EFFECTS 37# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
38// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects 38// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
39// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 39// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
40# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended 40# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
41# undef RGB_MATRIX_LED_PROCESS_LIMIT 41# undef RGB_MATRIX_LED_PROCESS_LIMIT
42# undef RGB_MATRIX_LED_FLUSH_LIMIT 42# undef RGB_MATRIX_LED_FLUSH_LIMIT
43# ifdef KEYBOARD_planck_rev6 43# ifdef KEYBOARD_planck_rev6
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index 82594b9fd..9ef2317f4 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -16,7 +16,6 @@
16 16
17#include "drashna.h" 17#include "drashna.h"
18 18
19
20#ifdef BACKLIGHT_ENABLE 19#ifdef BACKLIGHT_ENABLE
21enum planck_keycodes { 20enum planck_keycodes {
22 BACKLIT = NEW_SAFE_RANGE, 21 BACKLIT = NEW_SAFE_RANGE,
@@ -62,58 +61,32 @@ enum planck_keycodes {
62 KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \ 61 KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \
63 BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ 62 BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
64 ) 63 )
65#define LAYOUT_ortho_4x12_base_wrapper(...) LAYOUT_ortho_4x12_base(__VA_ARGS__) 64#define LAYOUT_base_wrapper(...) LAYOUT_ortho_4x12_base(__VA_ARGS__)
66 65
67 66
68const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 67const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
69 68 [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
70 [_QWERTY] = LAYOUT_ortho_4x12_base_wrapper( 69 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
71 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, 70 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
72 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, 71 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
73 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ 72 ),
74 ), 73
75 74 [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
76 [_COLEMAK] = LAYOUT_ortho_4x12_base_wrapper( 75 ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
77 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, 76 ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
78 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, 77 ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
79 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ 78 ),
80 ), 79 [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
81 80 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
82 [_DVORAK] = LAYOUT_ortho_4x12_base_wrapper( 81 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
83 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, 82 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
84 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, 83 ),
85 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ 84
86 ), 85 [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
87 86 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
88 [_WORKMAN] = LAYOUT_ortho_4x12_base_wrapper( 87 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
89 _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, 88 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
90 _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, 89 ),
91 _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
92 ),
93
94 [_NORMAN] = LAYOUT_ortho_4x12_base_wrapper(
95 _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
96 _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
97 _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
98 ),
99
100 [_MALTRON] = LAYOUT_ortho_4x12_base_wrapper(
101 _________________MALTRON_L1________________, _________________MALTRON_R1________________,
102 _________________MALTRON_L2________________, _________________MALTRON_R2________________,
103 _________________MALTRON_L3________________, _________________MALTRON_R3________________
104 ),
105
106 [_EUCALYN] = LAYOUT_ortho_4x12_base_wrapper(
107 _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
108 _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
109 _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
110 ),
111
112 [_CARPLAX] = LAYOUT_ortho_4x12_base_wrapper(
113 _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
114 _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
115 _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
116 ),
117 90
118 [_LOWER] = LAYOUT_ortho_4x12_wrapper( 91 [_LOWER] = LAYOUT_ortho_4x12_wrapper(
119 KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC, 92 KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC,
@@ -137,6 +110,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
137 ) 110 )
138 111
139}; 112};
113
114#ifdef ENCODER_MAP_ENABLE
115const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
116 [_DEFAULT_LAYER_1] = { { KC_DOWN, KC_UP } },
117 [_DEFAULT_LAYER_2] = { { _______, _______ } },
118 [_DEFAULT_LAYER_3] = { { _______, _______ } },
119 [_DEFAULT_LAYER_4] = { { _______, _______ } },
120 [_GAMEPAD] = { { _______, _______ } },
121 [_DIABLO] = { { _______, _______ } },
122 [_MOUSE] = { { KC_WH_D, KC_WH_U } },
123 [_MEDIA] = { { _______, _______ } },
124 [_RAISE] = { { KC_VOLD, KC_VOLU } },
125 [_LOWER] = { { RGB_MOD, RGB_RMOD} },
126 [_ADJUST] = { { CK_DOWN, CK_UP } },
127};
128#endif
140// clang-format on 129// clang-format on
141 130
142bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { 131bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
@@ -222,7 +211,6 @@ void suspend_wakeup_init_keymap(void) {
222} 211}
223// clang-format on 212// clang-format on
224 213
225
226void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { 214void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
227 uint8_t this_mod = get_mods(); 215 uint8_t this_mod = get_mods();
228 uint8_t this_led = host_keyboard_leds(); 216 uint8_t this_led = host_keyboard_leds();
@@ -254,49 +242,38 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
254 case _ADJUST: 242 case _ADJUST:
255 rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 243 rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
256 break; 244 break;
257 default: { 245 default:
258 switch (get_highest_layer(default_layer_state)) { 246 {
259 case _QWERTY: 247 switch (get_highest_layer(default_layer_state)) {
260 rgb_matrix_layer_helper(HSV_CYAN, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 248 case _DEFAULT_LAYER_1:
261 break; 249 rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
262 case _COLEMAK: 250 break;
263 rgb_matrix_layer_helper(HSV_MAGENTA, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 251 case _DEFAULT_LAYER_2:
264 break; 252 rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
265 case _DVORAK: 253 break;
266 rgb_matrix_layer_helper(HSV_SPRINGGREEN, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 254 case _DEFAULT_LAYER_3:
267 break; 255 rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
268 case _WORKMAN: 256 break;
269 rgb_matrix_layer_helper(HSV_GOLDENROD, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 257 case _DEFAULT_LAYER_4:
270 break; 258 rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
271 case _NORMAN: 259 break;
272 rgb_matrix_layer_helper(HSV_CORAL, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); 260 }
273 break; 261 break;
274 case _MALTRON:
275 rgb_matrix_layer_helper(HSV_YELLOW, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
276 break;
277 case _EUCALYN:
278 rgb_matrix_layer_helper(HSV_PINK, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
279 break;
280 case _CARPLAX:
281 rgb_matrix_layer_helper(HSV_BLUE, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
282 break;
283 } 262 }
284 break;
285 }
286 } 263 }
287 } 264 }
288 265
289 switch (get_highest_layer(default_layer_state)) { 266 switch (get_highest_layer(default_layer_state)) {
290 case _QWERTY: 267 case _DEFAULT_LAYER_1:
291 RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0x00, 0xFF, 0xFF); 268 RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0x00, 0xFF, 0xFF);
292 break; 269 break;
293 case _COLEMAK: 270 case _DEFAULT_LAYER_2:
294 RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0xFF, 0x00, 0xFF); 271 RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0xFF, 0x00, 0xFF);
295 break; 272 break;
296 case _DVORAK: 273 case _DEFAULT_LAYER_3:
297 RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0x00, 0xFF, 0x00); 274 RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0x00, 0xFF, 0x00);
298 break; 275 break;
299 case _WORKMAN: 276 case _DEFAULT_LAYER_4:
300 RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0xD9, 0xA5, 0x21); 277 RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0xD9, 0xA5, 0x21);
301 break; 278 break;
302 } 279 }
@@ -368,7 +345,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
368#endif // ENCODER_ENABLE 345#endif // ENCODER_ENABLE
369 346
370#ifdef KEYBOARD_planck_rev6 347#ifdef KEYBOARD_planck_rev6
371void dip_update(uint8_t index, bool active) { 348bool dip_switch_update_user(uint8_t index, bool active) {
372 switch (index) { 349 switch (index) {
373 case 0: 350 case 0:
374 if (active) { 351 if (active) {
@@ -391,6 +368,7 @@ void dip_update(uint8_t index, bool active) {
391 userspace_config.nuke_switch = active; 368 userspace_config.nuke_switch = active;
392 break; 369 break;
393 } 370 }
371 return true;
394} 372}
395#endif // KEYBOARD_planck_rev6 373#endif // KEYBOARD_planck_rev6
396 374
diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk
index 06a250ee7..dc64fe63b 100644
--- a/layouts/community/ortho_4x12/drashna/rules.mk
+++ b/layouts/community/ortho_4x12/drashna/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000) 1BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
2MOUSEKEY_ENABLE = no # Mouse keys(+4700) 2MOUSEKEY_ENABLE = no # Mouse keys(+4700)
3EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 3EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
4TAP_DANCE_ENABLE = no 4TAP_DANCE_ENABLE = no
@@ -22,6 +22,7 @@ else
22 RGB_MATRIX_ENABLE = no 22 RGB_MATRIX_ENABLE = no
23 AUDIO_ENABLE = yes 23 AUDIO_ENABLE = yes
24 EEPROM_DRIVER = i2c 24 EEPROM_DRIVER = i2c
25 ENCODER_MAP_ENABLE = yes
25endif 26endif
26ifeq ($(strip $(KEYBOARD)), planck/light) 27ifeq ($(strip $(KEYBOARD)), planck/light)
27 RGB_MATRIX_ENABLE = yes 28 RGB_MATRIX_ENABLE = yes
@@ -31,13 +32,14 @@ ifeq ($(strip $(KEYBOARD)), planck/light)
31 # HAPTIC_ENABLE += SOLENOID 32 # HAPTIC_ENABLE += SOLENOID
32endif 33endif
33ifeq ($(strip $(KEYBOARD)), planck/ez) 34ifeq ($(strip $(KEYBOARD)), planck/ez)
34 RGBLIGHT_ENABLE = no 35 RGBLIGHT_ENABLE = no
35 ENCODER_ENABLE = yes 36 ENCODER_ENABLE = yes
36 RGB_MATRIX_ENABLE = yes 37 ENCODER_MAP_ENABLE = yes
38 RGB_MATRIX_ENABLE = yes
37 INDICATOR_LIGHTS = yes 39 INDICATOR_LIGHTS = yes
38 RGBLIGHT_TWINKLE = yes 40 RGBLIGHT_TWINKLE = yes
39 RGBLIGHT_STARTUP_ANIMATION = yes 41 RGBLIGHT_STARTUP_ANIMATION = yes
40 CONSOLE_ENABLE = yes 42 CONSOLE_ENABLE = yes
41 COMMAND_ENABLE = yes 43 COMMAND_ENABLE = yes
42 AUDIO_ENABLE = yes 44 AUDIO_ENABLE = yes
43endif 45endif
diff --git a/layouts/community/ortho_4x12/juno/keymap.c b/layouts/community/ortho_4x12/juno/keymap.c
index b3ef8fce5..344759ed1 100644
--- a/layouts/community/ortho_4x12/juno/keymap.c
+++ b/layouts/community/ortho_4x12/juno/keymap.c
@@ -395,7 +395,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
395 return true; 395 return true;
396} 396}
397 397
398void dip_update(uint8_t index, bool active) { 398bool dip_switch_update_user(uint8_t index, bool active) {
399 switch (index) { 399 switch (index) {
400 case 0: 400 case 0:
401 if (active) { 401 if (active) {
@@ -420,6 +420,7 @@ void dip_update(uint8_t index, bool active) {
420 #endif 420 #endif
421 } 421 }
422 } 422 }
423 return true;
423} 424}
424 425
425void matrix_scan_user(void) { 426void matrix_scan_user(void) {
diff --git a/layouts/community/ortho_4x12/junonum/keymap.c b/layouts/community/ortho_4x12/junonum/keymap.c
index 463ad600a..0b0bdc36b 100644
--- a/layouts/community/ortho_4x12/junonum/keymap.c
+++ b/layouts/community/ortho_4x12/junonum/keymap.c
@@ -293,7 +293,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
293 return true; 293 return true;
294} 294}
295 295
296void dip_update(uint8_t index, bool active) { 296bool dip_switch_update_user(uint8_t index, bool active) {
297 switch (index) { 297 switch (index) {
298 case 0: 298 case 0:
299 if (active) { 299 if (active) {
@@ -318,6 +318,7 @@ void dip_update(uint8_t index, bool active) {
318#endif 318#endif
319 } 319 }
320 } 320 }
321 return true;
321} 322}
322 323
323void matrix_scan_user(void) { 324void matrix_scan_user(void) {
diff --git a/layouts/community/ortho_4x12/junonum/rules.mk b/layouts/community/ortho_4x12/junonum/rules.mk
index 9f5d7e986..72e6214d2 100644
--- a/layouts/community/ortho_4x12/junonum/rules.mk
+++ b/layouts/community/ortho_4x12/junonum/rules.mk
@@ -17,4 +17,4 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
17CONSOLE_ENABLE = no # Console for debug 17CONSOLE_ENABLE = no # Console for debug
18COMMAND_ENABLE = no # Commands for debug and configuration 18COMMAND_ENABLE = no # Commands for debug and configuration
19 19
20BOOTMAGIC_ENABLE = no # mainly to save space \ No newline at end of file 20BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite \ No newline at end of file
diff --git a/layouts/community/ortho_4x12/mguterl/keymap.c b/layouts/community/ortho_4x12/mguterl/keymap.c
index 66039b61e..f18ae14d4 100644
--- a/layouts/community/ortho_4x12/mguterl/keymap.c
+++ b/layouts/community/ortho_4x12/mguterl/keymap.c
@@ -290,7 +290,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
290 return true; 290 return true;
291} 291}
292 292
293void dip_switch_update_user(uint8_t index, bool active) { 293bool dip_switch_update_user(uint8_t index, bool active) {
294 switch (index) { 294 switch (index) {
295 case 0: { 295 case 0: {
296#ifdef AUDIO_ENABLE 296#ifdef AUDIO_ENABLE
@@ -319,6 +319,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
319 muse_mode = false; 319 muse_mode = false;
320 } 320 }
321 } 321 }
322 return true;
322} 323}
323 324
324void matrix_scan_user(void) { 325void matrix_scan_user(void) {
diff --git a/layouts/community/ortho_5x12/brandonschlack/keymap.c b/layouts/community/ortho_5x12/brandonschlack/keymap.c
index c9c94fc96..1b423157b 100644
--- a/layouts/community/ortho_5x12/brandonschlack/keymap.c
+++ b/layouts/community/ortho_5x12/brandonschlack/keymap.c
@@ -149,7 +149,7 @@ bool encoder_update_keymap(uint8_t index, bool clockwise) {
149 return true; 149 return true;
150} 150}
151 151
152void dip_switch_update_user(uint8_t index, bool active) { 152bool dip_switch_update_user(uint8_t index, bool active) {
153 switch (index) { 153 switch (index) {
154 case 0: { 154 case 0: {
155#ifdef AUDIO_ENABLE 155#ifdef AUDIO_ENABLE
@@ -178,6 +178,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
178 muse_mode = false; 178 muse_mode = false;
179 } 179 }
180 } 180 }
181 return true;
181} 182}
182 183
183 184
diff --git a/layouts/community/ortho_5x12/brandonschlack/rules.mk b/layouts/community/ortho_5x12/brandonschlack/rules.mk
index dacfc28b2..0035209d3 100644
--- a/layouts/community/ortho_5x12/brandonschlack/rules.mk
+++ b/layouts/community/ortho_5x12/brandonschlack/rules.mk
@@ -6,5 +6,5 @@ MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
6BACKLIGHT_ENABLE = no # No backlights installed 6BACKLIGHT_ENABLE = no # No backlights installed
7 7
8ifeq ($(strip $(KEYBOARD)), jnao) 8ifeq ($(strip $(KEYBOARD)), jnao)
9 BOOTMAGIC_ENABLE = lite 9 BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
10endif 10endif
diff --git a/layouts/community/ortho_5x12/drashna/keymap.c b/layouts/community/ortho_5x12/drashna/keymap.c
index f882ead17..01b06d627 100644
--- a/layouts/community/ortho_5x12/drashna/keymap.c
+++ b/layouts/community/ortho_5x12/drashna/keymap.c
@@ -38,34 +38,32 @@
38 KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ 38 KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
39 ) 39 )
40 40
41#define LAYOUT_ortho_5x12_base_wrapper(...) LAYOUT_ortho_5x12_base(__VA_ARGS__) 41#define LAYOUT_base_wrapper(...) LAYOUT_ortho_5x12_base(__VA_ARGS__)
42 42
43 43
44const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 44const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
45 [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
46 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
47 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
48 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
49 ),
45 50
46[_QWERTY] = LAYOUT_ortho_5x12_base_wrapper( 51 [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
47 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, 52 ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
48 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, 53 ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
49 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ 54 ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
50), 55 ),
51 56 [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
52[_COLEMAK] = LAYOUT_ortho_5x12_base_wrapper( 57 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
53 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, 58 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
54 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, 59 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
55 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ 60 ),
56),
57 61
58[_DVORAK] = LAYOUT_ortho_5x12_base_wrapper( 62 [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
59 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, 63 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
60 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, 64 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
61 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ 65 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
62), 66 ),
63
64[_WORKMAN] = LAYOUT_ortho_5x12_base_wrapper(
65 _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
66 _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
67 _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
68),
69 67
70/* Lower 68/* Lower
71 * ,-----------------------------------------------------------------------------------. 69 * ,-----------------------------------------------------------------------------------.
diff --git a/layouts/community/ortho_5x12/drashna/rules.mk b/layouts/community/ortho_5x12/drashna/rules.mk
index af68e04c0..0c2858e5e 100644
--- a/layouts/community/ortho_5x12/drashna/rules.mk
+++ b/layouts/community/ortho_5x12/drashna/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 1BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
2MOUSEKEY_ENABLE = no # Mouse keys(+4700) 2MOUSEKEY_ENABLE = no # Mouse keys(+4700)
3EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 3EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
4CONSOLE_ENABLE = no # Console for debug(+400) 4CONSOLE_ENABLE = no # Console for debug(+400)
diff --git a/layouts/community/ortho_5x12/xyverz/rules.mk b/layouts/community/ortho_5x12/xyverz/rules.mk
index c77748325..94b076ece 100644
--- a/layouts/community/ortho_5x12/xyverz/rules.mk
+++ b/layouts/community/ortho_5x12/xyverz/rules.mk
@@ -2,7 +2,7 @@
2# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
4# 4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
6MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6MOUSEKEY_ENABLE = no # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400) 8CONSOLE_ENABLE = no # Console for debug(+400)
diff --git a/layouts/community/split_3x6_3/drashna/config.h b/layouts/community/split_3x6_3/drashna/config.h
index dd950ce7b..b86448c67 100644
--- a/layouts/community/split_3x6_3/drashna/config.h
+++ b/layouts/community/split_3x6_3/drashna/config.h
@@ -31,11 +31,11 @@
31 31
32#ifdef RGBLIGHT_ENABLE 32#ifdef RGBLIGHT_ENABLE
33# undef RGBLED_NUM 33# undef RGBLED_NUM
34# define RGBLED_NUM 27 34# define RGBLED_NUM 27
35 35
36# define RGBLIGHT_HUE_STEP 8 36# define RGBLIGHT_HUE_STEP 8
37# define RGBLIGHT_SAT_STEP 8 37# define RGBLIGHT_SAT_STEP 8
38# define RGBLIGHT_VAL_STEP 5 38# define RGBLIGHT_VAL_STEP 5
39# define RGBLIGHT_LIMIT_VAL 120 39# define RGBLIGHT_LIMIT_VAL 120
40#endif 40#endif
41 41
@@ -44,37 +44,38 @@
44# undef RGB_DI_PIN 44# undef RGB_DI_PIN
45# define RGB_DI_PIN A3 45# define RGB_DI_PIN A3
46# endif 46# endif
47# define RGB_MATRIX_KEYPRESSES // reacts to keypresses 47# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
48// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) 48// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
49// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects 49// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
50# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended 50# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
51// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) 51// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
52// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) 52// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
53# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 53# ifndef RGB_MATRIX_MAXIMUM_BRIGHTNESS
54# define RGB_MATRIX_HUE_STEP 8 54# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
55# define RGB_MATRIX_SAT_STEP 8 55# endif
56# define RGB_MATRIX_VAL_STEP 5 56# define RGB_MATRIX_HUE_STEP 8
57# define RGB_MATRIX_SPD_STEP 10 57# define RGB_MATRIX_SAT_STEP 8
58# define RGB_MATRIX_VAL_STEP 5
59# define RGB_MATRIX_SPD_STEP 10
58#endif 60#endif
59 61
60#ifdef CONVERT_TO_PROTON_C 62#ifdef CONVERT_TO_PROTON_C
61# define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 63# define WS2812_PWM_DRIVER PWMD2 // default: PWMD2
62# define WS2812_PWM_CHANNEL 4 // default: 2 64# define WS2812_PWM_CHANNEL 4 // default: 2
63# define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 65# define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
64# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. 66# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
65# define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. 67# define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
66# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. 68# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU.
67 69
68# undef SOFT_SERIAL_PIN 70# undef SOFT_SERIAL_PIN
69# define SOFT_SERIAL_PIN D3 71# define SOFT_SERIAL_PIN D3
70# define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 72# define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1
71# define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 73# define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
72 74
73// #define INIT_EE_HANDS_LEFT 75// #define INIT_EE_HANDS_LEFT
74// #define INIT_EE_HANDS_RIGHT 76// #define INIT_EE_HANDS_RIGHT
75#endif 77#endif
76 78
77
78#if defined(AUDIO_ENABLE) && !defined(CONVERT_TO_PROTON_C) 79#if defined(AUDIO_ENABLE) && !defined(CONVERT_TO_PROTON_C)
79# define AUDIO_PIN B6 80# define AUDIO_PIN B6
80# define NO_MUSIC_MODE 81# define NO_MUSIC_MODE
diff --git a/layouts/community/split_3x6_3/drashna/keymap.c b/layouts/community/split_3x6_3/drashna/keymap.c
index 5a2d2f2e2..6e71527a4 100644
--- a/layouts/community/split_3x6_3/drashna/keymap.c
+++ b/layouts/community/split_3x6_3/drashna/keymap.c
@@ -37,58 +37,34 @@ enum crkbd_keycodes { RGBRST = NEW_SAFE_RANGE };
37 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ 37 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \
38 ALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ 38 ALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \
39 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ 39 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
40 RGB_MOD, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \ 40 OS_LGUI, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \
41 ) 41 )
42#define LAYOUT_split_3x6_3_base_wrapper(...) LAYOUT_split_3x6_3_base(__VA_ARGS__) 42#define LAYOUT_base_wrapper(...) LAYOUT_split_3x6_3_base(__VA_ARGS__)
43 43
44const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 44const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
45 [_QWERTY] = LAYOUT_split_3x6_3_base_wrapper( 45 [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
46 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, 46 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
47 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, 47 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
48 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ 48 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
49 ), 49 ),
50 50
51 [_COLEMAK] = LAYOUT_split_3x6_3_base_wrapper( 51 [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
52 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, 52 ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
53 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, 53 ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
54 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ 54 ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
55 ), 55 ),
56 56
57 [_DVORAK] = LAYOUT_split_3x6_3_base_wrapper( 57 [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
58 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, 58 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
59 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, 59 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
60 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ 60 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
61 ), 61 ),
62 62
63 [_WORKMAN] = LAYOUT_split_3x6_3_base_wrapper( 63 [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
64 _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, 64 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
65 _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, 65 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
66 _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ 66 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
67 ), 67 ),
68
69 [_NORMAN] = LAYOUT_split_3x6_3_base_wrapper(
70 _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
71 _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
72 _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
73 ),
74
75 [_MALTRON] = LAYOUT_split_3x6_3_base_wrapper(
76 _________________MALTRON_L1________________, _________________MALTRON_R1________________,
77 _________________MALTRON_L2________________, _________________MALTRON_R2________________,
78 _________________MALTRON_L3________________, _________________MALTRON_R3________________
79 ),
80
81 [_EUCALYN] = LAYOUT_split_3x6_3_base_wrapper(
82 _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
83 _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
84 _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
85 ),
86
87 [_CARPLAX] = LAYOUT_split_3x6_3_base_wrapper(
88 _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
89 _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
90 _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
91 ),
92 68
93 [_LOWER] = LAYOUT_split_3x6_3_wrapper( 69 [_LOWER] = LAYOUT_split_3x6_3_wrapper(
94 KC_F11, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, 70 KC_F11, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11,
@@ -114,9 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
114// clang-format on 90// clang-format on
115 91
116#ifdef OLED_DRIVER_ENABLE 92#ifdef OLED_DRIVER_ENABLE
117oled_rotation_t oled_init_user(oled_rotation_t rotation) { 93oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return OLED_ROTATION_270; }
118 return OLED_ROTATION_270;
119}
120#endif 94#endif
121 95
122#ifdef TAPPING_TERM_PER_KEY 96#ifdef TAPPING_TERM_PER_KEY
@@ -130,7 +104,6 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
130} 104}
131#endif 105#endif
132 106
133
134void matrix_slave_scan_user(void) { 107void matrix_slave_scan_user(void) {
135#ifdef RGB_MATRIX_ENABLE 108#ifdef RGB_MATRIX_ENABLE
136 rgb_matrix_task(); 109 rgb_matrix_task();
@@ -145,28 +118,16 @@ void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); }
145void check_default_layer(uint8_t mode, uint8_t type, uint8_t led_min, uint8_t led_max) { 118void check_default_layer(uint8_t mode, uint8_t type, uint8_t led_min, uint8_t led_max) {
146 switch (get_highest_layer(default_layer_state)) { 119 switch (get_highest_layer(default_layer_state)) {
147 case _QWERTY: 120 case _QWERTY:
148 rgb_matrix_layer_helper(HSV_CYAN, mode, rgb_matrix_config.speed, type, led_min, led_max); 121 rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, mode, rgb_matrix_config.speed, type, led_min, led_max);
122 break;
123 case _COLEMAK_DH:
124 rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, mode, rgb_matrix_config.speed, type, led_min, led_max);
149 break; 125 break;
150 case _COLEMAK: 126 case _COLEMAK:
151 rgb_matrix_layer_helper(HSV_MAGENTA, mode, rgb_matrix_config.speed, type, led_min, led_max); 127 rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, mode, rgb_matrix_config.speed, type, led_min, led_max);
152 break; 128 break;
153 case _DVORAK: 129 case _DVORAK:
154 rgb_matrix_layer_helper(HSV_SPRINGGREEN, mode, rgb_matrix_config.speed, type, led_min, led_max); 130 rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, mode, rgb_matrix_config.speed, type, led_min, led_max);
155 break;
156 case _WORKMAN:
157 rgb_matrix_layer_helper(HSV_GOLDENROD, mode, rgb_matrix_config.speed, type, led_min, led_max);
158 break;
159 case _NORMAN:
160 rgb_matrix_layer_helper(HSV_CORAL, mode, rgb_matrix_config.speed, type, led_min, led_max);
161 break;
162 case _MALTRON:
163 rgb_matrix_layer_helper(HSV_YELLOW, mode, rgb_matrix_config.speed, type, led_min, led_max);
164 break;
165 case _EUCALYN:
166 rgb_matrix_layer_helper(HSV_PINK, mode, rgb_matrix_config.speed, type, led_min, led_max);
167 break;
168 case _CARPLAX:
169 rgb_matrix_layer_helper(HSV_BLUE, mode, rgb_matrix_config.speed, type, led_min, led_max);
170 break; 131 break;
171 } 132 }
172} 133}
@@ -189,10 +150,11 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
189 case _ADJUST: 150 case _ADJUST:
190 rgb_matrix_layer_helper(HSV_RED, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW, led_min, led_max); 151 rgb_matrix_layer_helper(HSV_RED, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW, led_min, led_max);
191 break; 152 break;
192 default: { 153 default:
193 check_default_layer(0, LED_FLAG_UNDERGLOW, led_min, led_max); 154 {
194 break; 155 check_default_layer(0, LED_FLAG_UNDERGLOW, led_min, led_max);
195 } 156 break;
157 }
196 } 158 }
197 check_default_layer(0, LED_FLAG_MODIFIER, led_min, led_max); 159 check_default_layer(0, LED_FLAG_MODIFIER, led_min, led_max);
198 } 160 }
diff --git a/layouts/community/split_3x6_3/drashna/rules.mk b/layouts/community/split_3x6_3/drashna/rules.mk
index cbb0b1c11..e0ac86d69 100644
--- a/layouts/community/split_3x6_3/drashna/rules.mk
+++ b/layouts/community/split_3x6_3/drashna/rules.mk
@@ -3,7 +3,7 @@
3# change to "no" to disable the options, or define them in the Makefile in 3# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 4# the appropriate keymap folder that will get included automatically
5# 5#
6BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration 6BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
7MOUSEKEY_ENABLE = no # Mouse keys 7MOUSEKEY_ENABLE = no # Mouse keys
8EXTRAKEY_ENABLE = yes # Audio control and System control 8EXTRAKEY_ENABLE = yes # Audio control and System control
9CONSOLE_ENABLE = no # Console for debug 9CONSOLE_ENABLE = no # Console for debug
@@ -31,4 +31,5 @@ ifeq ($(strip $(CTPC)), yes)
31 WS2812_DRIVER = pwm # won't work without a patch to the ctpc mk file 31 WS2812_DRIVER = pwm # won't work without a patch to the ctpc mk file
32 SERIAL_DRIVER = usart 32 SERIAL_DRIVER = usart
33 SWAP_HANDS_ENABLE = yes 33 SWAP_HANDS_ENABLE = yes
34 WPM_ENABLE = yes
34endif 35endif
diff --git a/layouts/default/60_abnt2/default_60_abnt2/keymap.c b/layouts/default/60_abnt2/default_60_abnt2/keymap.c
index 919a972f6..00b9a8de2 100644
--- a/layouts/default/60_abnt2/default_60_abnt2/keymap.c
+++ b/layouts/default/60_abnt2/default_60_abnt2/keymap.c
@@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_60_abnt2( 19 [0] = LAYOUT_60_abnt2(
20 KC_ESC, 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, 20 KC_ESC, 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,
21 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_ACUT, BR_LBRC, 21 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_ACUT, BR_LBRC,
22 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCDL, BR_TILD, BR_RBRC, KC_ENT, 22 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_TILD, BR_RBRC, KC_ENT,
23 KC_LSFT, BR_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, BR_SCLN, BR_SLSH, KC_RSFT, 23 KC_LSFT, BR_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, BR_SCLN, BR_SLSH, KC_RSFT,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL 24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
25 ), 25 ),