qmk-keychron-q3-colemak-dh/users/danielo515/danielo515.c
Ryan bbf7a20b33
Refactor Leader key feature (#19632)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-02-13 03:19:02 +11:00

125 lines
3.5 KiB
C

#include "danielo515.h"
bool onMac = true;
//**************** LEADER *********************//
#ifdef LEADER_ENABLE
void leader_start_user(vodi) {
# ifdef RGBLIGHT_ENABLE
rgblight_setrgb_range(5, 100, 199, 10, 15);
# endif
}
void leader_end_user() {
if (leader_sequence_one_key(KC_T)) {
SEND_STRING("``" SS_TAP(X_LEFT));
}
// Triple ticks
if (leader_sequence_two_keys(KC_T, KC_T)) {
SEND_STRING("```" SS_TAP(X_ENTER) SS_TAP(X_ENTER) "```" SS_TAP(X_UP));
}
// ==== International spanish accent vowels ====
if (leader_sequence_one_key(KC_A)) {
SEND_STRING(SS_LALT("e") "a");
}
if (leader_sequence_one_key(KC_E)) {
SEND_STRING(SS_LALT("e") "e");
}
if (leader_sequence_one_key(KC_I)) {
SEND_STRING(SS_LALT("e") "i");
}
if (leader_sequence_one_key(KC_O)) {
SEND_STRING(SS_LALT("e") "o");
}
if (leader_sequence_one_key(KC_U)) {
SEND_STRING(SS_LALT("e") "u");
}
if (leader_sequence_one_key(KC_N)) {
SEND_STRING(SS_LALT("n") "n");
}
// ==== MACROS ===
if (leader_sequence_one_key(KC_G)) {
SEND_STRING(" | grep ");
}
if (leader_sequence_one_key(KC_K)) {
onMac ? SEND_STRING(SS_LCTL(" ")) : SEND_STRING(SS_LCTL("f"));
}
// vim delete all
if (leader_sequence_two_keys(KC_D, KC_G)) {
if (onMac) {
SEND_STRING(SS_LGUI("a") SS_TAP(X_D));
} else {
SEND_STRING(SS_LCTL("a") SS_TAP(X_D));
}
}
// tripe delete!
if (leader_sequence_one_key(KC_BACKSPACE)) {
SEND_STRING(SS_TAP(X_BACKSPACE) SS_TAP(X_BACKSPACE) SS_TAP(X_BACKSPACE));
}
if (leader_sequence_two_keys(KC_P, KC_G)) {
SEND_STRING("ps -ef | grep ");
}
if (leader_sequence_two_keys(KC_J, KC_A)) {
SEND_STRING("() => {}" SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT));
}
// this is a pain to type
if (leader_sequence_two_keys(KC_S, KC_S)) {
SEND_STRING("~/.ssh/ ");
}
if (leader_sequence_two_keys(KC_F, KC_T)) {
SEND_STRING("feat():" SS_TAP(X_LEFT) SS_TAP(X_LEFT));
}
// ### LAYER CHANGE
if (leader_sequence_one_key(KC_1)) {
layer_on(1);
}
// control enter, because yes
if (leader_sequence_one_key(KC_H)) {
SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_ENTER) SS_UP(X_LCTL));
}
// paste all
if (leader_sequence_one_key(KC_P)) {
if (onMac) {
SEND_STRING(SS_LGUI("a") SS_LGUI("v"));
} else {
SEND_STRING(SS_LCTL("a") SS_LCTL("v"));
}
}
if (leader_sequence_three_keys(KC_M, KC_A, KC_C)) {
onMac = true;
# ifdef RGBLIGHT_ENABLE
rgblight_setrgb(255, 255, 255);
# endif
}
if (leader_sequence_three_keys(KC_W, KC_I, KC_N)) {
onMac = false;
# ifdef RGBLIGHT_ENABLE
rgblight_setrgb(255, 255, 0);
# endif
}
/* Copy all */
if (leader_sequence_one_key(KC_Y)) {
if (onMac) {
SEND_STRING(SS_LGUI("a") SS_LGUI("c"));
} else {
SEND_STRING(SS_LCTL("a") SS_LCTL("c"));
}
}
// emoji bar
if (leader_sequence_two_keys(KC_E, KC_E)) {
SEND_STRING(SS_DOWN(X_LGUI) SS_LCTL(" ") SS_UP(X_LGUI));
}
if (leader_sequence_two_keys(KC_F, KC_F)) {
SEND_STRING("ps -ef | grep ");
}
if (leader_sequence_two_keys(KC_H, KC_T)) {
SEND_STRING("https://");
}
# ifdef RGBLIGHT_ENABLE
rgblight_setrgb_range(200, 200, 255, 10, 15);
# endif
}
#endif // LEADER