summary refs log tree commit diff
path: root/users/kuchosauronad0
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/kuchosauronad0
parentd10350cd2ceb2b9d80522cdec3ea908118f7fd35 (diff)
Refactor Leader key feature (#19632)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'users/kuchosauronad0')
-rw-r--r--users/kuchosauronad0/leader.c116
-rw-r--r--users/kuchosauronad0/leader_user.c113
-rw-r--r--users/kuchosauronad0/leader_user.h (renamed from users/kuchosauronad0/leader.h)2
-rw-r--r--users/kuchosauronad0/readme.md4
-rw-r--r--users/kuchosauronad0/rgblight_user.c2
-rw-r--r--users/kuchosauronad0/rules.mk2
6 files changed, 118 insertions, 121 deletions
diff --git a/users/kuchosauronad0/leader.c b/users/kuchosauronad0/leader.c
deleted file mode 100644
index e8935ec401..0000000000
--- a/users/kuchosauronad0/leader.c
+++ /dev/null
@@ -1,116 +0,0 @@
-#include "leader.h"
-#ifdef RGBLIGHT_ENABLE
-extern rgblight_config_t rgblight_config;
-#endif
-bool leader_succeed;
-
-LEADER_EXTERNS();
-
-void matrix_scan_user(void) {
-  static bool has_ran_yet;
-  if (!has_ran_yet) {
-    has_ran_yet = true;
-    startup_user();
-  }
-#ifdef TAP_DANCE_ENABLE  // Run Diablo 3 macro checking code.
-//  run_diablo_macro_check();
-#endif 
-#ifdef RGBLIGHT_ENABLE
-  matrix_scan_rgb();
-#endif
-  LEADER_DICTIONARY() {
-    leader_succeed = leading = false;
-
-    SEQ_ONE_KEY(KC_W) {
-      // vim/tmux: Use in command mode in vim: write to file, switch tmux pane in the current session window and repeat the last command
-      SEND_STRING(":w" SS_TAP(X_ENTER));
-      tmux_pane_switch_repeat();
-      leader_succeed = true;
-    } else
-    SEQ_ONE_KEY(KC_T) {
-      // Send the Tmux Prefix
-      tmux_prefix();
-      leader_succeed = true;
-    } else
-    SEQ_ONE_KEY(KC_A) {
-       // tmux: Send the prefix and press 'right' arrow
-      tmux_prefix();
-      tap_code(KC_RIGHT);
-      leader_succeed = true;
-    } else
-    SEQ_TWO_KEYS(KC_T, KC_T) {
-      // tmux: Send the prefix to a nested session
-      tmux_prefix();
-      tmux_prefix();
-      leader_succeed = true;
-    } else
-    SEQ_TWO_KEYS(KC_T, KC_R) {
-      // tmux: Switch pane and repeat last action
-      tmux_pane_switch_repeat();
-      leader_succeed = true;
-    } else
-    SEQ_TWO_KEYS(KC_V, KC_Z){
-      // vim: Zoom pane
-      tap_code16(LCTL(KC_W));
-      tap_code16(LSFT(KC_BSLS));
-      leader_succeed = true;
-    } else
-    SEQ_TWO_KEYS(KC_V, KC_R) {
-      // vim: Substitute and place cursor
-      SEND_STRING(":%s///g" SS_TAP(X_LEFT));
-      tap_code(KC_LEFT);
-      tap_code(KC_LEFT);
-      leader_succeed = true;
-    } else
-    SEQ_TWO_KEYS(KC_V, KC_T) {
-      // vim: move current pane to new tab
-      tap_code16(LCTL(KC_W));
-      tap_code16(LSFT(KC_T));
-      leader_succeed = true;
-    } else
-    SEQ_ONE_KEY(KC_R){
-      // Toggle RGB Layer indicator
-      tap_code16(KC_RGB_T);
-      leader_succeed = true;
-    } else
-    SEQ_ONE_KEY(KC_SPC){
-      // One Shot Unicode layer
-//TODO      tap_code16(OS_UNI);
-      leader_succeed = true;
-    } else
-    SEQ_TWO_KEYS(KC_SPC, KC_SPC){
-      // Toggle _MODS
-      tap_code16(TG_MODS);
-      leader_succeed = true;
-    } else
-    SEQ_THREE_KEYS(KC_BSPC, KC_BSPC, KC_BSPC){
-      // Reset the keyboard
-      reset_keyboard();
-      leader_succeed = true;
-    }
-  leader_end();
-  }
-//  matrix_scan_keymap();
-}
-
-void leader_start_user(void) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_savebase();
- rgblight_mode_noeeprom(1);
- rgblight_sethsv_noeeprom(HSV_GOLDENROD);
-#endif
-}
-
-void leader_end_user(void) {
-// pick color depending of success /fail
-// fade leader_start from 100 to 0
-// fade new color from  0 to 100 to 0
-// fade old color from 0 to 100
-#ifdef RGBLIGHT_ENABLE
-  if (leader_succeed) {
-    fadeflash_leds(HSV_GREEN);
-  } else {
-    fadeflash_leds(HSV_RED);
-  }
-#endif
-}
diff --git a/users/kuchosauronad0/leader_user.c b/users/kuchosauronad0/leader_user.c
new file mode 100644
index 0000000000..fd356021a6
--- /dev/null
+++ b/users/kuchosauronad0/leader_user.c
@@ -0,0 +1,113 @@
+#include "leader_user.h"
+#ifdef RGBLIGHT_ENABLE
+extern rgblight_config_t rgblight_config;
+#endif
+bool leader_succeed;
+
+void matrix_scan_user(void) {
+  static bool has_ran_yet;
+  if (!has_ran_yet) {
+    has_ran_yet = true;
+    startup_user();
+  }
+#ifdef TAP_DANCE_ENABLE  // Run Diablo 3 macro checking code.
+//  run_diablo_macro_check();
+#endif 
+#ifdef RGBLIGHT_ENABLE
+  matrix_scan_rgb();
+#endif
+
+//  matrix_scan_keymap();
+}
+
+void leader_start_user(void) {
+#ifdef RGBLIGHT_ENABLE
+ rgblight_savebase();
+ rgblight_mode_noeeprom(1);
+ rgblight_sethsv_noeeprom(HSV_GOLDENROD);
+#endif
+}
+
+void leader_end_user(void) {
+  leader_succeed = false;
+
+  if (leader_sequence_one_key(KC_W)) {
+    // vim/tmux: Use in command mode in vim: write to file, switch tmux pane in the current session window and repeat the last command
+    SEND_STRING(":w" SS_TAP(X_ENTER));
+    tmux_pane_switch_repeat();
+    leader_succeed = true;
+  } else
+  if (leader_sequence_one_key(KC_T)) {
+    // Send the Tmux Prefix
+    tmux_prefix();
+    leader_succeed = true;
+  } else
+  if (leader_sequence_one_key(KC_A)) {
+     // tmux: Send the prefix and press 'right' arrow
+    tmux_prefix();
+    tap_code(KC_RIGHT);
+    leader_succeed = true;
+  } else
+  if (leader_sequence_two_keys(KC_T, KC_T)) {
+    // tmux: Send the prefix to a nested session
+    tmux_prefix();
+    tmux_prefix();
+    leader_succeed = true;
+  } else
+  if (leader_sequence_two_keys(KC_T, KC_R)) {
+    // tmux: Switch pane and repeat last action
+    tmux_pane_switch_repeat();
+    leader_succeed = true;
+  } else
+  if (leader_sequence_two_keys(KC_V, KC_Z)){
+    // vim: Zoom pane
+    tap_code16(LCTL(KC_W));
+    tap_code16(LSFT(KC_BSLS));
+    leader_succeed = true;
+  } else
+  if (leader_sequence_two_keys(KC_V, KC_R)) {
+    // vim: Substitute and place cursor
+    SEND_STRING(":%s///g" SS_TAP(X_LEFT));
+    tap_code(KC_LEFT);
+    tap_code(KC_LEFT);
+    leader_succeed = true;
+  } else
+  if (leader_sequence_two_keys(KC_V, KC_T)) {
+    // vim: move current pane to new tab
+    tap_code16(LCTL(KC_W));
+    tap_code16(LSFT(KC_T));
+    leader_succeed = true;
+  } else
+  if (leader_sequence_one_key(KC_R)){
+    // Toggle RGB Layer indicator
+    tap_code16(KC_RGB_T);
+    leader_succeed = true;
+  } else
+  if (leader_sequence_one_key(KC_SPC)){
+    // One Shot Unicode layer
+//TODO      tap_code16(OS_UNI);
+    leader_succeed = true;
+  } else
+  if (leader_sequence_two_keys(KC_SPC, KC_SPC)){
+    // Toggle _MODS
+    tap_code16(TG_MODS);
+    leader_succeed = true;
+  } else
+  if (leader_sequence_three_keys(KC_BSPC, KC_BSPC, KC_BSPC)){
+    // Reset the keyboard
+    reset_keyboard();
+    leader_succeed = true;
+  }
+
+// pick color depending of success /fail
+// fade leader_start from 100 to 0
+// fade new color from  0 to 100 to 0
+// fade old color from 0 to 100
+#ifdef RGBLIGHT_ENABLE
+  if (leader_succeed) {
+    fadeflash_leds(HSV_GREEN);
+  } else {
+    fadeflash_leds(HSV_RED);
+  }
+#endif
+}
diff --git a/users/kuchosauronad0/leader.h b/users/kuchosauronad0/leader_user.h
index ed904f3063..d68dc80c13 100644
--- a/users/kuchosauronad0/leader.h
+++ b/users/kuchosauronad0/leader_user.h
@@ -1,6 +1,6 @@
 #pragma once
 #include "kuchosauronad0.h"
 
-#include "leader.h"
+#include "leader_user.h"
 
 void matrix_scan_user(void);
diff --git a/users/kuchosauronad0/readme.md b/users/kuchosauronad0/readme.md
index b577eedb70..88cc4cd374 100644
--- a/users/kuchosauronad0/readme.md
+++ b/users/kuchosauronad0/readme.md
@@ -38,7 +38,7 @@ TODO: Make use of `TD_SPC` and `TD_QT{1..3}`
 ## [Leader Key](#leader-key)
 To enable set `LEADER_ENABLE = yes` in file *rules.mk*
 
-|LEADER_DICTIONARY()|program| description |
+|Leader sequence|program| description |
 |---|---|---|
 | W |vim/tmux| save file, switch pane and repeat last command   |
 | T |tmux| send default prefix |
@@ -50,7 +50,7 @@ To enable set `LEADER_ENABLE = yes` in file *rules.mk*
 |V + T|vim | move current split to its own tab|
 |3x Backspace|keyboard| Reset Keyboard |
 
-`LEADER_DICTIONARY()` is defined in *leader.c*
+Leader sequences are defined in *leader_user.c*
 
 ## [Combo Keys](#combo-keys)
 To enable set `COMBO_ENABLE = yes` in file *rules.mk*.
diff --git a/users/kuchosauronad0/rgblight_user.c b/users/kuchosauronad0/rgblight_user.c
index 77a8ac6df8..1b5c29cfb0 100644
--- a/users/kuchosauronad0/rgblight_user.c
+++ b/users/kuchosauronad0/rgblight_user.c
@@ -145,7 +145,7 @@ void rgblight_fade_helper(bool direction){
 void fadeflash_leds(uint8_t hue, uint8_t sat, uint8_t val){
   // indicate success / fail of a leader sequence
   // fade out, set new hue and saturation, fade in, fade out, set old color, fade in
-  // this is used in leader.c
+  // this is used in leader_user.c
   // TODO: come up with a better name maybe
   rgblight_fade_helper(false);
   rgblight_sethsv_noeeprom(hue, sat, 0);
diff --git a/users/kuchosauronad0/rules.mk b/users/kuchosauronad0/rules.mk
index dfab85703c..a65fe9d258 100644
--- a/users/kuchosauronad0/rules.mk
+++ b/users/kuchosauronad0/rules.mk
@@ -21,7 +21,7 @@ ifeq ($(strip $(COMBO_ENABLE)), yes)
 endif
 
 ifeq ($(strip $(LEADER_ENABLE)), yes)
-     SRC += leader.c
+     SRC += leader_user.c
 endif
 
 ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")