const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { // MACRODOWN only works in this function switch(id) { case _BACKLIGHT: if (record->event.pressed) { register_code(KC_RSFT); #ifdef BACKLIGHT_ENABLE backlight_step(); #endif } else { unregister_code(KC_RSFT); } break; case _ITERM: return MACRODOWN(D(LALT), T(SPC), U(LALT), W(50), T(I), T(T), T(E), T(R), T(M), T(ENT), END); case _CHROME: return MACRODOWN(D(LALT), T(SPC), U(LALT), W(50), T(C), T(H), T(R), T(O), T(M), T(E), T(ENT), END); case _CHROMIUM: return MACRODOWN(D(LALT), T(SPC), U(LALT), W(50), T(C), T(H), T(R), T(O), T(M), T(I), T(U), T(M), T(ENT), END); case _SAFARI: return MACRODOWN(D(LALT), T(SPC), U(LALT), W(50), T(S), T(A), T(F), T(A), T(R), T(I), T(ENT), END); case _DASH: return MACRODOWN(D(LALT), T(SPC), U(LALT), W(50), T(D), T(A), T(S), T(H), T(ENT), END); case _SLACK: return MACRODOWN(D(LALT), T(SPC), U(LALT), W(50), T(S), T(L), T(A), T(C), T(K), T(ENT), END); case _SPOTIFY: return MACRODOWN(D(LALT), T(SPC), U(LALT), W(50), T(S), T(P), T(O), T(T), T(I), T(F), T(Y), T(ENT), END); case _SOURCETREE: return MACRODOWN(D(LALT), T(SPC), U(LALT), W(50), T(S), T(O), T(U), T(R), T(C), T(E), T(T), T(R), T(E), T(E), T(ENT), END); case _MAIL: return MACRODOWN(D(LALT), T(SPC), U(LALT), W(50), T(M), T(A), T(I), T(L), T(ENT), END); }; return MACRO_NONE; };
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { switch (id) { case 0: return MACRODOWN( D(LSHIFT), T(HOME) , U(LSHIFT), D(LCTL), T(X), U(LCTL), END ); case 1: return MACRODOWN( D(LSHIFT), T(END) , U(LSHIFT), D(LCTL), T(X), U(LCTL), END ); case 2: return MACRODOWN( D(LSHIFT), T(EQL), T(EQL), U(LSHIFT), END); case 3: return MACRODOWN( T(EQL), T(EQL), END); default: return MACRO_NONE; } };
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { // MACRODOWN only works in this function switch(id) { case _MOB: // Your mobile# here. return MACRODOWN(T(1), T(2), T(3), T(MINS), T(1), T(2), T(3), T(MINS), T(1), T(2), T(3), T(4), END); case _CUS1: // Your custom macro 1 return MACRODOWN(T(E), T(M), T(A), T(C), T(S), T(SPC), END); case _CUS2: // Your custom macro 2 return MACRODOWN(T(L), T(S), T(SPC), T(MINS), T(L), T(ENT), END); }; return MACRO_NONE; };
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { // MACRODOWN only works in this function switch(id) { case 0: return MACRODOWN(T(CM_T), END); break; } return MACRO_NONE; };
// Macro actions for each corresponding ID. const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { switch(id) { case _RAISE: // Raised layer. if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _CUSTOM); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _CUSTOM); } break; case _LOWER: // Lowered layer. if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _CUSTOM); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _CUSTOM); } break; case _BL:// Backlight if (record->event.pressed) { register_code(KC_RSFT); #ifdef BACKLIGHT_ENABLE backlight_step(); #endif } else { unregister_code(KC_RSFT); } break; case _MOBILE:// Your mobile# here. return MACRODOWN(T(1), T(2), T(3), T(MINS), T(1), T(2), T(3), T(MINS), T(1), T(2), T(3), T(4), END); case _CUSTOM1:// Your custom macro 1 return MACRODOWN(T(E), T(M), T(A), T(C), T(S), T(SPC), END); case _CUSTOM2:// Your custom macro 2 return MACRODOWN(T(L), T(S), T(SPC), T(MINS), T(L), T(ENT), END); }; return MACRO_NONE; }
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { switch(id) { case M_ALT_HASH: return MACRO_TAP_SHFT_KEY_HOLD_MOD(record, 3, LALT); case M_GR_DASH: { const macro_t* macro = MACRO_TAP_HOLD_LAYER(record, MACRO(T(MINS)), _GR); update_tri_layer(_NUM, _GR, _ADJ); return macro; } case M_SYM_LPRN: return MACRO_TAP_SHFT_KEY_HOLD_LAYER(record, 9, _SYM); case M_NAV_UNDS: return MACRO_TAP_SHFT_KEY_HOLD_LAYER(record, MINS, _NAV); case M_NUM_RPRN: { const macro_t* macro = MACRO_TAP_SHFT_KEY_HOLD_LAYER(record, 0, _NUM); update_tri_layer(_NUM, _GR, _ADJ); return macro; } case M_CTRL_DLR: return MACRO_TAP_SHFT_KEY_HOLD_MOD(record, 4, LCTL); case M_LCBR_ENT: return MACRODOWN(I(10), D(LSFT), T(LBRC), U(LSFT), T(ENT), END); case M_PLOVER: if (record->event.pressed) { layer_and(0); layer_on(_PLOVER); default_layer_set(_PLOVER); // Starts plover return MACRO(I(10), D(E), D(R), D(F), D(V), D(I), D(K), U(E), U(R), U(F), U(V), U(I), U(K), END); } break; case M_EXT_PLV: if (!record->event.pressed) { layer_off(_PLOVER); default_layer_set(_COLEMAK); //Pauses plover return MACRO(I(10), D(E), D(R), D(F), D(V), D(Y), D(U), U(E), U(R), U(F), U(V), U(Y), U(U), END); } break; case M_WINDOWS: set_unicode_input_mode(UC_WIN); break; case M_LINUX: set_unicode_input_mode(UC_LNX); break; case M_OSX: set_unicode_input_mode(UC_OSX); break; case M_FUNCTION: if (record->event.pressed) { SEND_STRING("function"); } break; case M_THEN: if (record->event.pressed) { SEND_STRING("then"); } break; case M_CATCH: if (record->event.pressed) { SEND_STRING("catch"); } break; } return MACRO_NONE; };
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case DVRK: if (record->event.pressed) { persistent_default_layer_set(1UL<<_DVRK); layer_on(_DVRK); } return false; break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case RAISE: if (record->event.pressed) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; break; case SDRK: if (record->event.pressed) { persistent_default_layer_set(1UL<<_SDRK); layer_on(_SDRK); } return false; break; case SLWER: if (record->event.pressed) { layer_on(_SLWER); update_tri_layer(_SLWER, _SRAIS, _ADJUST); } else { layer_off(_SLWER); update_tri_layer(_SLWER, _SRAIS, _ADJUST); } return false; break; case SRAIS: if (record->event.pressed) { layer_on(_SRAIS); update_tri_layer(_SLWER, _SRAIS, _ADJUST); } else { layer_off(_SRAIS); update_tri_layer(_SLWER, _SRAIS, _ADJUST); } return false; break; case BACKLIT: if (record->event.pressed) { register_code(KC_RSFT); #ifdef BACKLIGHT_ENABLE backlight_step(); #endif } else { unregister_code(KC_RSFT); } return false; break; case BACKTOG: if (record->event.pressed) { #ifdef BACKLIGHT_ENABLE backlight_toggle(); #endif } return false; break; case CUT: //cut macro return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_X), UP(KC_LCTL), END ); case COPY: // copy macro return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_C), UP(KC_LCTL), END ); case PASTE: // paste macro return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_V), UP(KC_LCTL), END ); } return true; }
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { // MACRODOWN only works in this function switch(id) { case 0: if (record->event.pressed) { register_code(KC_RSFT); } else { unregister_code(KC_RSFT); } break; case 100: layer_clear(); return MACRODOWN(D(LSFT), T(5), U(LSFT), T(FN4), END); break; case 101: layer_clear(); return MACRODOWN(D(LSFT), T(7), U(LSFT), T(FN4), END); break; case 102: layer_clear(); return MACRODOWN(D(LSFT), T(SLSH), U(LSFT), T(FN4), END); break; case 103: layer_clear(); return MACRODOWN(D(LSFT), T(EQL), U(LSFT), T(FN4), END); break; case 104: layer_clear(); return MACRODOWN(D(LSFT), T(2), U(LSFT), T(FN4), END); break; case 105: layer_clear(); return MACRODOWN(D(LSFT), T(4), U(LSFT), T(FN4), END); break; case 106: layer_clear(); return MACRODOWN(D(LSFT), T(MINS), U(LSFT), T(FN4), END); break; case 107: layer_clear(); return MACRODOWN(T(LBRC), T(FN4), END); break; case 108: layer_clear(); return MACRODOWN(T(RBRC), T(FN4), END); break; case 130: layer_clear(); return MACRODOWN(D(LSFT), T(1), U(LSFT), T(FN4), END); break; case 109: layer_clear(); return MACRODOWN(T(SLSH), T(FN4), END); break; case 110: layer_clear(); return MACRODOWN(D(LSFT), T(9), U(LSFT), T(FN4), END); break; case 111: layer_clear(); return MACRODOWN(T(EQL), T(FN4), END); break; case 112: layer_clear(); return MACRODOWN(T(0), T(FN4), END); break; case 113: layer_clear(); return MACRODOWN(D(LSFT), T(LBRC), U(LSFT), T(FN4), END); break; case 114: layer_clear(); return MACRODOWN(D(LSFT), T(RBRC), U(LSFT), T(FN4), END); break; case 115: layer_clear(); return MACRODOWN(T(1), T(FN4), END); break; case 116: layer_clear(); return MACRODOWN(D(LSFT), T(8), U(LSFT), T(FN4), END); break; case 117: layer_clear(); return MACRODOWN(D(LSFT), T(0), U(LSFT), T(FN4), END); break; case 118: layer_clear(); return MACRODOWN(T(MINS), T(FN4), END); break; case 119: layer_clear(); return MACRODOWN(D(LSFT), T(QUOT), U(LSFT), T(FN4), END); break; case 120: layer_clear(); return MACRODOWN(T(6), T(FN4), END); break; case 121: layer_clear(); return MACRODOWN(T(7), T(FN4), END); break; case 122: layer_clear(); return MACRODOWN(T(8), T(FN4), END); break; case 123: layer_clear(); return MACRODOWN(T(9), T(FN4), END); break; case 124: layer_clear(); return MACRODOWN(D(LSFT), T(BSLS), U(LSFT), T(FN4), END); break; case 125: layer_clear(); return MACRODOWN(T(BSLS), T(FN4), END); break; case 126: layer_clear(); return MACRODOWN(T(2), T(FN4), END); break; case 127: layer_clear(); return MACRODOWN(T(3), T(FN4), END); break; case 128: layer_clear(); return MACRODOWN(T(4), T(FN4), END); break; case 129: layer_clear(); return MACRODOWN(T(5), T(FN4), END); break; default: return MACRO_NONE; } return MACRO_NONE; };
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { switch(id) { case 0: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_0), END ); break; case 1: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_1), END ); break; case 2: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_2), END ); break; case 3: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_3), END ); break; case 4: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_4), END ); break; case 5: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_5), END ); break; case 6: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_6), END ); break; case 7: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_7), END ); break; case 8: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_8), END ); break; case 9: // tmux last window return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_L), END ); break; // tmux next window case 10: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_N), END ); break; // tmux previous window case 11: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_P), END ); break; // tmux new window case 12: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_C), END ); break; case 13: // vi save document return MACRODOWN( TYPE(KC_ESC), DOWN(KC_LSFT), TYPE(KC_SCLN), UP(KC_LSFT), TYPE(KC_W), TYPE(KC_ENT), END ); break; case 14: // vi quit return MACRODOWN( TYPE(KC_ESC), DOWN(KC_LSFT), TYPE(KC_SCLN), UP(KC_LSFT), TYPE(KC_Q), TYPE(KC_ENT), END ); break; // tmux press ctrl-b case 15: return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), END ); break; } return MACRO_NONE; };