// GBP £ Macro (sends alt 156 - windows users only) bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch(keycode) { case P_MACRO: SEND_STRING(SS_DOWN(X_LALT)); SEND_STRING(SS_TAP(X_KP_1)); SEND_STRING(SS_TAP(X_KP_5)); SEND_STRING(SS_TAP(X_KP_6)); SEND_STRING(SS_UP(X_LALT)); return false; break; } } return true; };
bool process_record_user(uint16_t keycode, keyrecord_t *record) { uint8_t modifiers = get_mods(); switch(keycode) { // these are our macros! case F_CAPS: /* Objective: write a macro that checks the current layers that are enabled, and activates the appropriate function layer. */ if ( biton32(layer_state) == _MAC ) { if (record->event.pressed) { layer_on(_FUNCMAC); } else { layer_off(_FUNCMAC); } } else { if (record->event.pressed) { layer_on(_FUNCWIN); } else { layer_off(_FUNCWIN); } }; return false; break; case T_L3DED: if (record->event.pressed) { SEND_STRING("lavak3DED "); }; return false; break; case G_PUSH: if (record->event.pressed) { SEND_STRING("git push origin "); }; return false; break; case G_FTCH: if (record->event.pressed) { SEND_STRING("git fetch upstream"); }; return false; break; case G_COMM: if (record->event.pressed) { SEND_STRING("git commit -m \"\"" SS_TAP(X_LEFT)); layer_off(_MACROS); }; return false; break; case G_RST: if (record->event.pressed) { SEND_STRING("git histt -n 10" SS_TAP(X_ENTER) "git reset --soft "); layer_off(_MACROS); }; return false; break; case G_C10R: if (record->event.pressed) { SEND_STRING("cf/"); layer_off(_MACROS); }; return false; break; case G_BRCH: if (record->event.pressed) { SEND_STRING("$(git branch-name)"); layer_off(_MACROS); }; return false; break; case SIGNA: if (record->event.pressed) { SEND_STRING("\\- @noroadsleft" SS_TAP(X_ENTER)); layer_off(_MACROS); }; return false; break; case GO_Q2: if (record->event.pressed) { //default_layer_set(_QWERTY); layer_move(_QWERTY); // TO(_QWERTY); layer_on(_QUAKE2); //layer_off(_SYSTEM); }; return false; break; case Q2_ON: if (record->event.pressed) { SEND_STRING(SS_TAP(X_ENTER)); layer_on(_DVORAK); layer_on(_QUAKE2_DVORAK); }; return false; break; case Q2_OFF: if (record->event.pressed) { SEND_STRING(SS_TAP(X_ENTER)); layer_move(_QWERTY); // TO(_QWERTY); layer_on(_QUAKE2); }; return false; break; case Q2_ESC: if (record->event.pressed) { SEND_STRING(SS_TAP(X_ESCAPE)); layer_move(_QWERTY); // TO(_QWERTY); layer_on(_QUAKE2); }; return false; break; case Q2_GRV: if (record->event.pressed) { SEND_STRING(SS_TAP(X_GRAVE)); layer_on(_DVORAK); layer_on(_QUAKE2_DVORAK); layer_on(_QUAKE2_CONSOLE); }; return false; break; case MC_UNDO: if (record->event.pressed) { if ( modifiers & MODS_SHIFT_MASK ) { SEND_STRING( SS_DOWN(X_LSHIFT) SS_DOWN(X_LGUI) SS_TAP(X_Z) SS_UP(X_LGUI) SS_UP(X_LSHIFT) ); } else { SEND_STRING( SS_DOWN(X_LGUI) SS_TAP(X_Z) SS_UP(X_LGUI) ); } }; return false; break; case MC_PSTE: if (record->event.pressed) { if ( modifiers & MODS_SHIFT_MASK ) { SEND_STRING( SS_DOWN(X_LSHIFT) SS_DOWN(X_LGUI) SS_DOWN(X_LALT) SS_TAP(X_V) SS_UP(X_LALT) SS_UP(X_LGUI) SS_UP(X_LSHIFT) ); } else { SEND_STRING( SS_DOWN(X_LGUI) SS_TAP(X_V) SS_UP(X_LGUI) ); } }; return false; break; } // switch() return true; };
bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef CFQ_USE_DYNAMIC_MACRO if (!process_record_dynamic_macro(keycode, record)) { return false; } #endif switch (keycode) { /* dynamically generate these. */ case RGB_SLD: if (record->event.pressed) { #ifdef RGBLIGHT_ENABLE rgblight_mode(1); #endif } return false; break; case M_BRACKET_IN_CBR: /* {} */ if (record->event.pressed) { SEND_STRING("{}" SS_TAP(X_LEFT)); return false; } break; case M_BRACKET_IN_PRN: /* () */ if (record->event.pressed) { SEND_STRING("()" SS_TAP(X_LEFT)); return false; } break; case M_BRACKET_IN_BRC: /* [] */ if (record->event.pressed) { SEND_STRING("[]" SS_TAP(X_LEFT)); return false; } break; case M_BRACKET_IN_ANG: /* <> */ if (record->event.pressed) { SEND_STRING("<>" SS_TAP(X_LEFT)); return false; } break; case M_BRACKET_OUT_CBR: /* }{ */ if (record->event.pressed) { SEND_STRING("}{" SS_TAP(X_LEFT)); return false; } break; case M_BRACKET_OUT_PRN: /* )( */ if (record->event.pressed) { SEND_STRING(")(" SS_TAP(X_LEFT)); return false; } break; case M_BRACKET_OUT_BRC: /* ][ */ if (record->event.pressed) { SEND_STRING("][" SS_TAP(X_LEFT)); return false; } break; case M_BRACKET_OUT_ANG: /* >< */ if (record->event.pressed) { SEND_STRING("><" SS_TAP(X_LEFT)); return false; } break; case M_ARROW_LMINUS: /* <- */ if (record->event.pressed) { SEND_STRING("<-"); return false; } break; case M_ARROW_RMINUS: /* -> */ if (record->event.pressed) { SEND_STRING("->"); return false; } break; case M_ARROW_LEQL: /* <= */ if (record->event.pressed) { SEND_STRING("<="); return false; } break; case M_ARROW_REQL: /* => */ if (record->event.pressed) { SEND_STRING("=>"); return false; } break; #ifdef CFQ_USE_SHIFT_QUOTES case KC_LSHIFT: /* '' */ if (record->event.pressed && (keyboard_report->mods & (MOD_BIT(KC_RSFT)))) { WITHOUT_MODS({ SEND_STRING("''" SS_TAP(X_LEFT) SS_DOWN(X_RSHIFT) SS_DOWN(X_LSHIFT)); }); return false; }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch(keycode) { // acts like a momentary function layer press case FUN_LAY: if (record->event.pressed) { layer_on(_FUNC); if (CHECK_BIT(keyboard_state, 1)) { layer_on(_MOUSE); } else { layer_off(_MOUSE); } // turns on function layer status SET_BIT(keyboard_state, 0); } // key released else { layer_off(_FUNC); layer_off(_MOUSE); // turns off function layer status CLEAR_BIT(keyboard_state, 0); } break; case MOU_TOG: if(record->event.pressed) { // toggles navigation layer state TOGGLE_BIT(keyboard_state, 1); // if FN is pressed down while hitting this key, the correct layer will be updated, // so that the FN key doesn't need to be pressed down again to start using the functionality if (CHECK_BIT(keyboard_state, 0)) { if (CHECK_BIT(keyboard_state, 1)) { layer_on(_MOUSE); } else { layer_off(_MOUSE); } } } break; case WIN_LCK: if (record->event.pressed) { // toggles windows key lock state TOGGLE_BIT(keyboard_state, 2); } break; // uses seperate WIN_KEY so that WIN_LCK does not affect Mac Layer's KC_LGUI case WIN_KEY: // checks if windows key lock is off to allow key to be pressed if (!CHECK_BIT(keyboard_state, 2)) { if (record->event.pressed) { SEND_STRING(SS_DOWN(X_LGUI)); return false; } // key released else { SEND_STRING(SS_UP(X_LGUI)); return false; } } break; } return true; };
const macro_t *action_get_macro(keyrecord_t *record, uint8_t keycode, uint8_t opt) { // These would trigger when you hit a key mapped as M(0) if (record->event.pressed) { switch(keycode) { case 0: // Some custom string here SEND_STRING(""); return false; case 1: // Word Select SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LCTRL)); return false; case 2: // Word Select Mac SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT)); return false; case 3: // Line Select SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT)); return false; case 4: // Line Select Mac SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT)); return false; case 5: // Line Delete SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT)); SEND_STRING(SS_TAP(X_BSPACE)); return false; case 6: // Line Delete Mac SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT)); SEND_STRING(SS_TAP(X_BSPACE)); return false; case 7: // Duplicate Selection SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v")); return false; case 8: // Duplicate Selection Mac SEND_STRING(SS_LGUI("c") SS_TAP(X_RIGHT) SS_LGUI("v")); return false; case 9: // Join line SEND_STRING(SS_TAP(X_END) SS_TAP(X_DELETE)); return false; case 10: // Join line Mac SEND_STRING(SS_LCTRL("e") SS_TAP(X_DELETE)); return false; case 98: // Print mode SEND_STRING("PC"); return false; case 99: // Print mode SEND_STRING("OSX"); return false; } } return MACRO_NONE; };