diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index 52d4fb30fc..0661d7c605 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -12,6 +12,8 @@ #define M_CTRL_CMDV 1 #define M_CTRL_CMDC 2 #define M_MEH_SH_ACUT 3 +#define M_DE_PLUS_CTRLALT 12 +#define M_DE_CIRC_CTRLCMD 13 #define SM_SMILE 4 #define SM_SMIRK 5 @@ -53,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, - LT(SYMB,DE_LESS), DE_CIRC, DE_PLUS, LALT(KC_LSFT), LGUI(KC_LSFT), + LT(SYMB,DE_LESS), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), LALT(KC_LSFT), LGUI(KC_LSFT), M(M_MEH_SH_ACUT), TG(2), KC_HOME, KC_BSPC,KC_DEL, LT(SMLY,KC_END), @@ -267,6 +269,30 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } } break; + case M_DE_CIRC_CTRLCMD: + if (record->event.pressed) { + start = timer_read(); + return MACRO(D(LCTRL),D(LGUI),END); + } else { + if (timer_elapsed(start) > 150){ + return MACRO(U(LCTRL),U(LGUI),END); + } else { + return MACRO(U(LCTRL),U(LGUI),T(NUBS),END); + } + } + break; + case M_DE_PLUS_CTRLALT: + if (record->event.pressed) { + start = timer_read(); + return MACRO(D(LCTRL),D(LALT),END); + } else { + if (timer_elapsed(start) > 150){ + return MACRO(U(LCTRL),U(LALT),END); + } else { + return MACRO(U(LCTRL),U(LALT),T(RBRC),END); + } + } + break; case SM_SMILE: if (record->event.pressed) { return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END);