summary refs log tree commit diff
path: root/users/danielo515
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-02-13 03:19:02 +1100
committerGitHub <noreply@github.com>2023-02-13 03:19:02 +1100
commitbbf7a20b33de2d203518687cb5cd1aa85005ea27 (patch)
treeee1a5c412a02021d085c81a26321c3424eca7022 /users/danielo515
parentd10350cd2ceb2b9d80522cdec3ea908118f7fd35 (diff)
Refactor Leader key feature (#19632)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'users/danielo515')
-rw-r--r--users/danielo515/danielo515.c171
1 files changed, 104 insertions, 67 deletions
diff --git a/users/danielo515/danielo515.c b/users/danielo515/danielo515.c
index 1c7718f1d2..aa33f55d66 100644
--- a/users/danielo515/danielo515.c
+++ b/users/danielo515/danielo515.c
@@ -4,84 +4,121 @@ bool onMac = true;
 
 //**************** LEADER *********************//
 #ifdef LEADER_ENABLE
-LEADER_EXTERNS();
+void leader_start_user(vodi) {
 #    ifdef RGBLIGHT_ENABLE
-
-void leader_start_user(void) { rgblight_setrgb_range(5, 100, 199, 10, 15); };
-
-void leader_end_user(void) { rgblight_setrgb_range(200, 200, 255, 10, 15); };
+    rgblight_setrgb_range(5, 100, 199, 10, 15);
 #    endif
+}
 
-void matrix_scan_user(void) {
-    if (leading && leader_sequence_size > 0 && timer_elapsed(leader_time) > LEADER_TIMEOUT) {
-        leading = false;
-        SEQ_ONE_KEY(KC_T) { SEND_STRING("``" SS_TAP(X_LEFT)); }
-        // Triple ticks
-        SEQ_TWO_KEYS(KC_T, KC_T) { SEND_STRING("```" SS_TAP(X_ENTER) SS_TAP(X_ENTER) "```" SS_TAP(X_UP)); }
-        // ==== International spanish accent vowels ====
-        SEQ_ONE_KEY(KC_A) { SEND_STRING(SS_LALT("e") "a"); }
-        SEQ_ONE_KEY(KC_E) { SEND_STRING(SS_LALT("e") "e"); }
-        SEQ_ONE_KEY(KC_I) { SEND_STRING(SS_LALT("e") "i"); }
-        SEQ_ONE_KEY(KC_O) { SEND_STRING(SS_LALT("e") "o"); }
-        SEQ_ONE_KEY(KC_U) { SEND_STRING(SS_LALT("e") "u"); }
-        SEQ_ONE_KEY(KC_N) { SEND_STRING(SS_LALT("n") "n"); }
-        // ==== MACROS ===
-        SEQ_ONE_KEY(KC_G) { SEND_STRING(" | grep "); }
-        SEQ_ONE_KEY(KC_K) { onMac ? SEND_STRING(SS_LCTL(" ")) : SEND_STRING(SS_LCTL("f")); }
-        // vim delete all
-        SEQ_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));
-            }
+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!
-        SEQ_ONE_KEY(KC_BACKSPACE) { SEND_STRING(SS_TAP(X_BACKSPACE) SS_TAP(X_BACKSPACE) SS_TAP(X_BACKSPACE)); }
-        SEQ_TWO_KEYS(KC_P, KC_G) { SEND_STRING("ps -ef | grep "); }
-        SEQ_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
-        SEQ_TWO_KEYS(KC_S, KC_S) { SEND_STRING("~/.ssh/ "); }
-        SEQ_TWO_KEYS(KC_F, KC_T) { SEND_STRING("feat():" SS_TAP(X_LEFT) SS_TAP(X_LEFT)); }
-        // ### LAYER CHANGE
-        SEQ_ONE_KEY(KC_1) { layer_on(1); }
-        // control enter, because yes
-        SEQ_ONE_KEY(KC_H) { SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_ENTER) SS_UP(X_LCTL)); }
-        // paste all
-        SEQ_ONE_KEY(KC_P) {
-            if (onMac) {
-                SEND_STRING(SS_LGUI("a") SS_LGUI("v"));
-            } else {
-                SEND_STRING(SS_LCTL("a") SS_LCTL("v"));
-            }
+    }
+    // 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"));
         }
-        SEQ_THREE_KEYS(KC_M, KC_A, KC_C) {
-            onMac = true;
+    }
+    if (leader_sequence_three_keys(KC_M, KC_A, KC_C)) {
+        onMac = true;
 #    ifdef RGBLIGHT_ENABLE
-            rgblight_setrgb(255, 255, 255);
+        rgblight_setrgb(255, 255, 255);
 #    endif
-        }
-        SEQ_THREE_KEYS(KC_W, KC_I, KC_N) {
-            onMac = false;
+    }
+    if (leader_sequence_three_keys(KC_W, KC_I, KC_N)) {
+        onMac = false;
 #    ifdef RGBLIGHT_ENABLE
-            rgblight_setrgb(255, 255, 0);
+        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"));
         }
-        /*  Copy all */
-        SEQ_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
-        SEQ_TWO_KEYS(KC_E, KC_E) { SEND_STRING(SS_DOWN(X_LGUI) SS_LCTL(" ") SS_UP(X_LGUI)); }
-
-        SEQ_TWO_KEYS(KC_F, KC_F) { SEND_STRING("ps -ef | grep "); }
-        SEQ_TWO_KEYS(KC_H, KC_T) { SEND_STRING("https://"); }
+    }
+    // emoji bar
+    if (leader_sequence_two_keys(KC_E, KC_E)) {
+        SEND_STRING(SS_DOWN(X_LGUI) SS_LCTL(" ") SS_UP(X_LGUI));
+    }
 
-        leader_end();
+    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