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

@@ -171,16 +171,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
LEADER_EXTERNS();
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
leading = false;
leader_end();
SEQ_ONE_KEY(KC_F) { // Shift + Ctrl + F
tap_code16(S(C(KC_F)));
}
void leader_end_user(void) {
if (leader_sequence_one_key(KC_F)) { // Shift + Ctrl + F
tap_code16(S(C(KC_F)));
}
}

View File

@@ -31,8 +31,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
LEADER_EXTERNS();
void keyboard_post_init_user(void) {
led_t led_state = host_keyboard_led_state();
if (!led_state.num_lock) {
@@ -44,25 +42,20 @@ layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _SYMBOLS, _NUMBERS, _SPECIALS);
}
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
leading = false;
leader_end();
void leader_end_user(void) {
// Lock screen (macOS)
if (leader_sequence_one_key(KC_ESC)) {
tap_code16(LCTL(LGUI(KC_Q)));
}
// Lock screen (macOS)
SEQ_ONE_KEY(KC_ESC) {
tap_code16(LCTL(LGUI(KC_Q)));
}
// Escape-Shift-Z-Z (VIM)
if (leader_sequence_one_key(KC_Z)) {
SEND_STRING(SS_TAP(X_ESC) SS_LSFT("zz"));
}
// Escape-Shift-Z-Z (VIM)
SEQ_ONE_KEY(KC_Z) {
SEND_STRING(SS_TAP(X_ESC) SS_LSFT("zz"));
}
// Dead grave accent (macOS)
SEQ_ONE_KEY(KC_E) {
tap_code16(LALT(KC_GRAVE));
}
// Dead grave accent (macOS)
if (leader_sequence_one_key(KC_E)) {
tap_code16(LALT(KC_GRAVE));
}
}

View File

@@ -274,48 +274,41 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
};
LEADER_EXTERNS();
void leader_end_user(void) {
// Set current OS indicator to macOs
if (leader_sequence_one_key(KC_M)) {
user_config.osIsWindows = false;
eeconfig_update_user(user_config.raw);
}
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
leading = false;
leader_end();
// Set current OS indicator to Windows
if (leader_sequence_one_key(KC_W)) {
user_config.osIsWindows = true;
eeconfig_update_user(user_config.raw);
}
// Set current OS indicator to macOs
SEQ_ONE_KEY(KC_M) {
user_config.osIsWindows = false;
eeconfig_update_user(user_config.raw);
// Screenshot
if (leader_sequence_one_key(KC_S)) {
if (user_config.osIsWindows == 1) {
tap_code16(S(G(KC_S)));
} else if (user_config.osIsWindows == 0) {
tap_code16(S(G(KC_4)));
}
}
// Set current OS indicator to Windows
SEQ_ONE_KEY(KC_W) {
user_config.osIsWindows = true;
eeconfig_update_user(user_config.raw);
// Video
if (leader_sequence_one_key(KC_V)) {
if (user_config.osIsWindows == 0) {
tap_code16(S(G(KC_5)));
}
}
// Screenshot
SEQ_ONE_KEY(KC_S) {
if (user_config.osIsWindows == 1) {
tap_code16(S(G(KC_S)));
} else if (user_config.osIsWindows == 0) {
tap_code16(S(G(KC_4)));
}
}
// Video
SEQ_ONE_KEY(KC_V) {
if (user_config.osIsWindows == 0) {
tap_code16(S(G(KC_5)));
}
}
// Sleep
SEQ_ONE_KEY(KC_P) {
if (user_config.osIsWindows == 1) {
SEND_STRING(SS_LGUI("x") "u" "h");
} else if (user_config.osIsWindows == 0) {
tap_code16(A(G(KC_PWR)));
}
// Sleep
if (leader_sequence_one_key(KC_P)) {
if (user_config.osIsWindows == 1) {
SEND_STRING(SS_LGUI("x") "u" "h");
} else if (user_config.osIsWindows == 0) {
tap_code16(A(G(KC_PWR)));
}
}
}

View File

@@ -56,11 +56,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
void leader_end_user(void) {
if (leader_sequence_one_key(KC_A)) {
tap_code16(SGUI(KC_L));
}
if (leader_sequence_two_keys(KC_S, KC_S)) {
tap_code16(SGUI(KC_5));
}
}
bool is_cmd_tab_active = false;
uint16_t cmd_tab_timer = 0;
LEADER_EXTERNS();
void matrix_scan_user(void) {
if (is_cmd_tab_active) {
if (timer_elapsed(cmd_tab_timer) > 1000) {
@@ -68,18 +75,6 @@ void matrix_scan_user(void) {
is_cmd_tab_active = false;
}
}
LEADER_DICTIONARY() {
leading = false;
leader_end();
SEQ_ONE_KEY(KC_A) {
tap_code16(SGUI(KC_L));
}
SEQ_TWO_KEYS(KC_S, KC_S) {
tap_code16(SGUI(KC_5));
}
}
}
#ifdef OLED_ENABLE

View File

@@ -49,18 +49,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
LEADER_EXTERNS();
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
leading = false;
leader_end();
SEQ_ONE_KEY(KC_A) {
tap_code16(SGUI(KC_L));
}
SEQ_TWO_KEYS(KC_S, KC_S) {
tap_code16(SGUI(KC_5));
}
void leader_end_user(void) {
if (leader_sequence_one_key(KC_A)) {
tap_code16(SGUI(KC_L));
}
if (leader_sequence_two_keys(KC_S, KC_S)) {
tap_code16(SGUI(KC_5));
}
}

View File

@@ -400,82 +400,76 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
#endif
LEADER_EXTERNS();
void leader_end_user(void) {
// Sway navigation
if (leader_sequence_one_key(KC_Q)) { // Jump to workspace 1
SEND_STRING(SS_LGUI("1"));
}
if (leader_sequence_one_key(KC_W)) { // Jump to workspace 2
SEND_STRING(SS_LGUI("2"));
}
if (leader_sequence_one_key(KC_E)) { // Jump to workspace 3
SEND_STRING(SS_LGUI("3"));
}
if (leader_sequence_one_key(KC_R)) { // Jump to workspace 4
SEND_STRING(SS_LGUI("4"));
}
if (leader_sequence_one_key(KC_T)) { // Jump to workspace 5
SEND_STRING(SS_LGUI("5"));
}
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
leading = false;
leader_end();
// Sway navigation
SEQ_ONE_KEY(KC_Q) { // Jump to workspace 1
SEND_STRING(SS_LGUI("1"));
}
SEQ_ONE_KEY(KC_W) { // Jump to workspace 2
SEND_STRING(SS_LGUI("2"));
}
SEQ_ONE_KEY(KC_E) { // Jump to workspace 3
SEND_STRING(SS_LGUI("3"));
}
SEQ_ONE_KEY(KC_R) { // Jump to workspace 4
SEND_STRING(SS_LGUI("4"));
}
SEQ_ONE_KEY(KC_T) { // Jump to workspace 5
SEND_STRING(SS_LGUI("5"));
}
if (leader_sequence_one_key(KC_Y)) { // Jump to workspace 6
SEND_STRING(SS_LGUI("6"));
}
if (leader_sequence_one_key(KC_U)) { // Jump to workspace 7
SEND_STRING(SS_LGUI("7"));
}
if (leader_sequence_one_key(KC_I)) { // Jump to workspace 8
SEND_STRING(SS_LGUI("8"));
}
if (leader_sequence_one_key(KC_O)) { // Jump to workspace 9
SEND_STRING(SS_LGUI("9"));
}
if (leader_sequence_one_key(KC_P)) { // Jump to workspace 0
SEND_STRING(SS_LGUI("0"));
}
if (leader_sequence_one_key(KC_G)) { // View scratch pad
SEND_STRING(SS_LGUI("-"));
}
SEQ_ONE_KEY(KC_Y) { // Jump to workspace 6
SEND_STRING(SS_LGUI("6"));
}
SEQ_ONE_KEY(KC_U) { // Jump to workspace 7
SEND_STRING(SS_LGUI("7"));
}
SEQ_ONE_KEY(KC_I) { // Jump to workspace 8
SEND_STRING(SS_LGUI("8"));
}
SEQ_ONE_KEY(KC_O) { // Jump to workspace 9
SEND_STRING(SS_LGUI("9"));
}
SEQ_ONE_KEY(KC_P) { // Jump to workspace 0
SEND_STRING(SS_LGUI("0"));
}
SEQ_ONE_KEY(KC_G) { // View scratch pad
SEND_STRING(SS_LGUI("-"));
}
// Sway move window
if (leader_sequence_two_keys(KC_M, KC_Q)) { // Move to workspace 1
SEND_STRING(SS_LSFT(SS_LGUI("1")));
}
if (leader_sequence_two_keys(KC_M, KC_W)) { // Move to workspace 2
SEND_STRING(SS_LSFT(SS_LGUI("2")));
}
if (leader_sequence_two_keys(KC_M, KC_E)) { // Move to workspace 3
SEND_STRING(SS_LSFT(SS_LGUI("3")));
}
if (leader_sequence_two_keys(KC_M, KC_R)) { // Move to workspace 4
SEND_STRING(SS_LSFT(SS_LGUI("4")));
}
if (leader_sequence_two_keys(KC_M, KC_T)) { // Move to workspace 5
SEND_STRING(SS_LSFT(SS_LGUI("5")));
}
// Sway move window
SEQ_TWO_KEYS(KC_M, KC_Q) { // Move to workspace 1
SEND_STRING(SS_LSFT(SS_LGUI("1")));
}
SEQ_TWO_KEYS(KC_M, KC_W) { // Move to workspace 2
SEND_STRING(SS_LSFT(SS_LGUI("2")));
}
SEQ_TWO_KEYS(KC_M, KC_E) { // Move to workspace 3
SEND_STRING(SS_LSFT(SS_LGUI("3")));
}
SEQ_TWO_KEYS(KC_M, KC_R) { // Move to workspace 4
SEND_STRING(SS_LSFT(SS_LGUI("4")));
}
SEQ_TWO_KEYS(KC_M, KC_T) { // Move to workspace 5
SEND_STRING(SS_LSFT(SS_LGUI("5")));
}
SEQ_TWO_KEYS(KC_M, KC_Y) { // Move to workspace 6
SEND_STRING(SS_LSFT(SS_LGUI("6")));
}
SEQ_TWO_KEYS(KC_M, KC_U) { // Move to workspace 7
SEND_STRING(SS_LSFT(SS_LGUI("7")));
}
SEQ_TWO_KEYS(KC_M, KC_I) { // Move to workspace 8
SEND_STRING(SS_LSFT(SS_LGUI("8")));
}
SEQ_TWO_KEYS(KC_M, KC_O) { // Move to workspace 9
SEND_STRING(SS_LSFT(SS_LGUI("9")));
}
SEQ_TWO_KEYS(KC_M, KC_P) { // Move to workspace 0
SEND_STRING(SS_LSFT(SS_LGUI("0")));
}
SEQ_TWO_KEYS(KC_M, KC_G) { // Move to scratch pad
SEND_STRING(SS_LSFT(SS_LGUI("-")));
}
if (leader_sequence_two_keys(KC_M, KC_Y)) { // Move to workspace 6
SEND_STRING(SS_LSFT(SS_LGUI("6")));
}
if (leader_sequence_two_keys(KC_M, KC_U)) { // Move to workspace 7
SEND_STRING(SS_LSFT(SS_LGUI("7")));
}
if (leader_sequence_two_keys(KC_M, KC_I)) { // Move to workspace 8
SEND_STRING(SS_LSFT(SS_LGUI("8")));
}
if (leader_sequence_two_keys(KC_M, KC_O)) { // Move to workspace 9
SEND_STRING(SS_LSFT(SS_LGUI("9")));
}
if (leader_sequence_two_keys(KC_M, KC_P)) { // Move to workspace 0
SEND_STRING(SS_LSFT(SS_LGUI("0")));
}
if (leader_sequence_two_keys(KC_M, KC_G)) { // Move to scratch pad
SEND_STRING(SS_LSFT(SS_LGUI("-")));
}
}

View File

@@ -173,12 +173,54 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
void leader_end_user(void) {
if (leader_sequence_one_key(KC_C)) { // Inline Code
SEND_STRING("`` " SS_TAP(X_LEFT) SS_TAP(X_LEFT));
}
if (leader_sequence_one_key(KC_P)) { // Invoke Password Manager
SEND_STRING(SS_LCTL(SS_LALT("\\")));
}
if (leader_sequence_one_key(KC_S)) { // Windows screenshot
SEND_STRING(SS_LGUI("\nS"));
}
if (leader_sequence_two_keys(KC_F, KC_P)) { // Fusion Projection prefix
SEND_STRING("[Projection] ");
}
if (leader_sequence_two_keys(KC_B, KC_B)) { // Basecone invoice description
SEND_STRING("[Leveranciersnaam] [Factuurnummer]");
}
if (leader_sequence_two_keys(KC_E, KC_S)) { // Support email splitkb
SEND_STRING("support@splitkb.com");
}
if (leader_sequence_two_keys(KC_E, KC_T)) { // Email splitkb
SEND_STRING("thomas@splitkb.com");
}
if (leader_sequence_two_keys(KC_E, KC_P)) { // Email personal
SEND_STRING("mail@thomasbaart.nl");
}
if (leader_sequence_two_keys(KC_S, KC_D)) { // Splitkb documentation
SEND_STRING("https://docs.splitkb.com/");
}
if (leader_sequence_two_keys(KC_S, KC_V)) { // Splitkb VAT number
SEND_STRING("NL210593349B01");
}
if (leader_sequence_two_keys(KC_B, KC_C)) { // Discord bongocat
SEND_STRING(":bongocat:\n");
}
if (leader_sequence_two_keys(KC_C, KC_B)) { // Discord code block
SEND_STRING("```c" SS_LSFT("\n\n") "``` " SS_TAP(X_UP));
}
if (leader_sequence_two_keys(KC_Y, KC_S)) { // Greeting
SEND_STRING("Yours sincerely,\n\nThomas Baart");
}
if (leader_sequence_three_keys(KC_M, KC_V, KC_G)) { // Greeting
SEND_STRING("Met vriendelijke groet,\n\nThomas Baart");
}
}
bool is_alt_tab_active = false;
uint16_t alt_tab_timer = 0;
LEADER_EXTERNS();
void matrix_scan_user(void) {
if (is_alt_tab_active) {
if (timer_elapsed(alt_tab_timer) > 1000) {
@@ -186,54 +228,6 @@ void matrix_scan_user(void) {
is_alt_tab_active = false;
}
}
LEADER_DICTIONARY() {
leading = false;
leader_end();
SEQ_ONE_KEY(KC_C) { // Inline Code
SEND_STRING("`` " SS_TAP(X_LEFT) SS_TAP(X_LEFT));
}
SEQ_ONE_KEY(KC_P) { // Invoke Password Manager
SEND_STRING(SS_LCTL(SS_LALT("\\")));
}
SEQ_ONE_KEY(KC_S) { // Windows screenshot
SEND_STRING(SS_LGUI("\nS"));
}
SEQ_TWO_KEYS(KC_F, KC_P) { // Fusion Projection prefix
SEND_STRING("[Projection] ");
}
SEQ_TWO_KEYS(KC_B, KC_B) { // Basecone invoice description
SEND_STRING("[Leveranciersnaam] [Factuurnummer]");
}
SEQ_TWO_KEYS(KC_E, KC_S) { // Support email splitkb
SEND_STRING("support@splitkb.com");
}
SEQ_TWO_KEYS(KC_E, KC_T) { // Email splitkb
SEND_STRING("thomas@splitkb.com");
}
SEQ_TWO_KEYS(KC_E, KC_P) { // Email personal
SEND_STRING("mail@thomasbaart.nl");
}
SEQ_TWO_KEYS(KC_S, KC_D) { // Splitkb documentation
SEND_STRING("https://docs.splitkb.com/");
}
SEQ_TWO_KEYS(KC_S, KC_V) { // Splitkb VAT number
SEND_STRING("NL210593349B01");
}
SEQ_TWO_KEYS(KC_B, KC_C) { // Discord bongocat
SEND_STRING(":bongocat:\n");
}
SEQ_TWO_KEYS(KC_C, KC_B) { // Discord code block
SEND_STRING("```c" SS_LSFT("\n\n") "``` " SS_TAP(X_UP));
}
SEQ_TWO_KEYS(KC_Y, KC_S) { // Greeting
SEND_STRING("Yours sincerely,\n\nThomas Baart");
}
SEQ_THREE_KEYS(KC_M, KC_V, KC_G) { // Greeting
SEND_STRING("Met vriendelijke groet,\n\nThomas Baart");
}
}
}
#ifdef OLED_ENABLE