Refactor Leader key feature (#19632)

Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
Ryan
2023-02-13 03:19:02 +11:00
committed by GitHub
parent d10350cd2c
commit bbf7a20b33
77 changed files with 2457 additions and 1968 deletions

View File

@@ -240,7 +240,6 @@ uint16_t muse_tempo = 50;
// Used by Leader key chords
bool did_leader_succeed;
LEADER_EXTERNS();
// Tap-Dance stuffs, initializing functions that are coded further below
td_state_t cur_dance(tap_dance_state_t* state);
@@ -1404,6 +1403,81 @@ void leader_start_user(void) {
}
// Called when either the leader sequence is completed, or the leader timeout is hit
void leader_end_user(void) {
did_leader_succeed = false;
if (leader_sequence_one_key(KC_E)) {
SEND_STRING(SS_LCTL(SS_LSFT("t")));
did_leader_succeed = true;
}
if (leader_sequence_one_key(KC_C)) {
SEND_STRING(SS_LGUI("r") SS_DELAY(250) "calc\n");
did_leader_succeed = true;
}
else if (leader_sequence_one_key(KC_V)) {
SEND_STRING(SS_LCTL("v"));
did_leader_succeed = true;
}
else if (leader_sequence_two_keys(KC_E, KC_D)) {
SEND_STRING(SS_LGUI("r") "cmd\n" SS_LCTL("c"));
did_leader_succeed = true;
}
else if (leader_sequence_two_keys(KC_A, KC_C)) {
SEND_STRING(SS_LCTL("a") SS_LCTL("c"));
did_leader_succeed = true;
}
else if (leader_sequence_three_keys(KC_C, KC_A, KC_T)) {
send_unicode_string("😸");
did_leader_succeed = true;
}
else if (leader_sequence_three_keys(KC_B, KC_A, KC_T)) {
send_unicode_string("🦇");
did_leader_succeed = true;
}
else if (leader_sequence_three_keys(KC_D, KC_O, KC_G)) {
send_unicode_string("🐶");
did_leader_succeed = true;
}
else if (leader_sequence_five_keys(KC_S, KC_M, KC_I, KC_L, KC_E)) {
send_unicode_string("🙂");
did_leader_succeed = true;
}
else if (leader_sequence_four_keys(KC_H, KC_A, KC_P, KC_Y)) {
send_unicode_string("🙂");
did_leader_succeed = true;
}
else if (leader_sequence_five_keys(KC_H, KC_A, KC_P, KC_P, KC_Y)) {
send_unicode_string("🙂");
did_leader_succeed = true;
}
else if (leader_sequence_three_keys(KC_S, KC_A, KC_D)) {
send_unicode_string("🙁");
did_leader_succeed = true;
}
else if (leader_sequence_three_keys(KC_Y, KC_E, KC_S)) {
send_unicode_string("👍");
did_leader_succeed = true;
}
else if (leader_sequence_two_keys(KC_N, KC_O)) {
send_unicode_string("👎");
did_leader_succeed = true;
}
else if (leader_sequence_three_keys(KC_W, KC_O, KC_W)) {
send_unicode_string("🤯");
did_leader_succeed = true;
}
else if (leader_sequence_three_keys(KC_P, KC_O, KC_O)) {
send_unicode_string("💩");
did_leader_succeed = true;
}
else if (leader_sequence_four_keys(KC_P, KC_O, KC_O, KC_P)) {
send_unicode_string("💩");
did_leader_succeed = true;
}
else if (leader_sequence_four_keys(KC_B, KC_O, KC_A, KC_T)) {
send_unicode_string("");
did_leader_succeed = true;
}
if (did_leader_succeed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(leader_succeed);
@@ -1758,84 +1832,6 @@ void matrix_scan_user(void) {
is_alt_tab_active = false;
}
}
// Monitor and perform leader-key chords
LEADER_DICTIONARY() {
did_leader_succeed = leading = false;
SEQ_ONE_KEY(KC_E) {
SEND_STRING(SS_LCTL(SS_LSFT("t")));
did_leader_succeed = true;
}
SEQ_ONE_KEY(KC_C) {
SEND_STRING(SS_LGUI("r") SS_DELAY(250) "calc\n");
did_leader_succeed = true;
}
else SEQ_ONE_KEY(KC_V) {
SEND_STRING(SS_LCTL("v"));
did_leader_succeed = true;
}
else SEQ_TWO_KEYS(KC_E, KC_D) {
SEND_STRING(SS_LGUI("r") "cmd\n" SS_LCTL("c"));
did_leader_succeed = true;
}
else SEQ_TWO_KEYS(KC_A, KC_C) {
SEND_STRING(SS_LCTL("a") SS_LCTL("c"));
did_leader_succeed = true;
}
else SEQ_THREE_KEYS(KC_C, KC_A, KC_T) {
send_unicode_string("😸");
did_leader_succeed = true;
}
else SEQ_THREE_KEYS(KC_B, KC_A, KC_T) {
send_unicode_string("🦇");
did_leader_succeed = true;
}
else SEQ_THREE_KEYS(KC_D, KC_O, KC_G) {
send_unicode_string("🐶");
did_leader_succeed = true;
}
else SEQ_FIVE_KEYS(KC_S, KC_M, KC_I, KC_L, KC_E) {
send_unicode_string("🙂");
did_leader_succeed = true;
}
else SEQ_FOUR_KEYS(KC_H, KC_A, KC_P, KC_Y) {
send_unicode_string("🙂");
did_leader_succeed = true;
}
else SEQ_FIVE_KEYS(KC_H, KC_A, KC_P, KC_P, KC_Y) {
send_unicode_string("🙂");
did_leader_succeed = true;
}
else SEQ_THREE_KEYS(KC_S, KC_A, KC_D) {
send_unicode_string("🙁");
did_leader_succeed = true;
}
else SEQ_THREE_KEYS(KC_Y, KC_E, KC_S) {
send_unicode_string("👍");
did_leader_succeed = true;
}
else SEQ_TWO_KEYS(KC_N, KC_O) {
send_unicode_string("👎");
did_leader_succeed = true;
}
else SEQ_THREE_KEYS(KC_W, KC_O, KC_W) {
send_unicode_string("🤯");
did_leader_succeed = true;
}
else SEQ_THREE_KEYS(KC_P, KC_O, KC_O) {
send_unicode_string("💩");
did_leader_succeed = true;
}
else SEQ_FOUR_KEYS(KC_P, KC_O, KC_O, KC_P) {
send_unicode_string("💩");
did_leader_succeed = true;
}
else SEQ_FOUR_KEYS(KC_B, KC_O, KC_A, KC_T) {
send_unicode_string("");
did_leader_succeed = true;
}
leader_end();
}
// Run the wake-up RGB animation if performing wake-up
if (do_wake_animation) {
rgb_wakeup_sequence();