Refactor Leader key feature (#19632)
Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
parent
d10350cd2c
commit
bbf7a20b33
77 changed files with 2457 additions and 1968 deletions
|
@ -303,146 +303,141 @@ void pri_mod_keystroke(uint16_t key) {
|
|||
pri_mod(false);
|
||||
}
|
||||
|
||||
void leader_end_user(void) {
|
||||
// begin OS functions
|
||||
if (leader_sequence_two_keys(KC_P, KC_B)) {
|
||||
if (current_os == OS_WIN) {
|
||||
long_keystroke(2, (uint16_t[]){KC_LGUI, KC_PAUSE});
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (leader_sequence_two_keys(KC_S, KC_S)) {
|
||||
if (current_os == OS_MAC) {
|
||||
long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_4});
|
||||
} else if (current_os == OS_WIN) {
|
||||
long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_S});
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_C, KC_A, KC_D)) {
|
||||
if (current_os == OS_WIN) {
|
||||
long_keystroke(3, (uint16_t[]){KC_LCTL, KC_LALT, KC_DEL});
|
||||
} else {
|
||||
}
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_C, KC_A, KC_E)) {
|
||||
if (current_os == OS_WIN) {
|
||||
long_keystroke(3, (uint16_t[]){KC_LCTL, KC_LALT, KC_END});
|
||||
} else {
|
||||
}
|
||||
}
|
||||
// end OS functions
|
||||
|
||||
// begin format functions
|
||||
if (leader_sequence_one_key(KC_B)) {
|
||||
surround_type(2, KC_8, true);
|
||||
}
|
||||
if (leader_sequence_one_key(KC_I)) {
|
||||
surround_type(2, KC_MINS, true);
|
||||
}
|
||||
if (leader_sequence_one_key(KC_U)) {
|
||||
surround_type(4, KC_MINS, true);
|
||||
}
|
||||
if (leader_sequence_one_key(KC_S)) {
|
||||
surround_type(4, KC_GRAVE, true);
|
||||
}
|
||||
if (leader_sequence_one_key(KC_C)) {
|
||||
register_unicode(0x00E7); // ç
|
||||
}
|
||||
if (leader_sequence_two_keys(KC_A, KC_V)) {
|
||||
surround_type(2, KC_QUOT, true);
|
||||
pair_surround_type(2, KC_LCBR, true);
|
||||
surround_type(2, KC_SPC, false);
|
||||
}
|
||||
if (leader_sequence_two_keys(KC_M, KC_L)) {
|
||||
pair_surround_type(1, KC_LBRC, false);
|
||||
SEND_STRING("LINK_NAME");
|
||||
tap_code(KC_RGHT);
|
||||
pair_surround_type(1, KC_LPRN, true);
|
||||
pri_mod_keystroke(KC_V);
|
||||
}
|
||||
if (leader_sequence_two_keys(KC_C, KC_C)) {
|
||||
surround_type(2, KC_GRAVE, false);
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_C, KC_C, KC_C)) {
|
||||
surround_type(6, KC_GRAVE, false);
|
||||
}
|
||||
if (leader_sequence_one_key(KC_E)) {
|
||||
register_unicode(0x00E8); // è
|
||||
}
|
||||
if (leader_sequence_two_keys(KC_E, KC_E)) {
|
||||
register_unicode(0x00E9); // é
|
||||
}
|
||||
// end format functions
|
||||
|
||||
// start fancy functions
|
||||
if (leader_sequence_two_keys(KC_V, KC_P)) {
|
||||
SEND_STRING("ggvG}x:set paste\ni");
|
||||
pri_mod_keystroke(KC_V);
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_C, KC_C, KC_ENT)) {
|
||||
surround_type(6, KC_GRAVE, false);
|
||||
pri_mod_keystroke(KC_V);
|
||||
multi_tap(3, KC_RGHT, false);
|
||||
tap_code(KC_ENTER);
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_T, KC_C, KC_ENT)) {
|
||||
multi_tap(3, KC_GRAVE, false);
|
||||
pri_mod_keystroke(KC_V);
|
||||
multi_tap(2, KC_ENTER, false);
|
||||
}
|
||||
// end fancy functions
|
||||
|
||||
// start typing functions
|
||||
if (leader_sequence_two_keys(KC_T, KC_M)) {
|
||||
register_unicode(0x2122); // ™
|
||||
}
|
||||
if (leader_sequence_two_keys(KC_D, KC_D)) {
|
||||
SEND_STRING(".\\Administrator");
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_D, KC_D, KC_D)) {
|
||||
SEND_STRING(".\\Administrator");
|
||||
tap_code(KC_TAB);
|
||||
pri_mod_keystroke(KC_V);
|
||||
tap_code(KC_ENTER);
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_L, KC_O, KC_D)) {
|
||||
send_unicode_string("ಠ__ಠ");
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_M, KC_A, KC_P)) {
|
||||
SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/users/arkag");
|
||||
}
|
||||
if (leader_sequence_two_keys(KC_F, KC_F)) {
|
||||
send_unicode_string("(╯‵Д′)╯彡┻━┻");
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_F, KC_F, KC_F)) {
|
||||
send_unicode_string("┬─┬ノ( º _ º ノ)");
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_L, KC_O, KC_L)) {
|
||||
send_unicode_string("( ͡° ͜ʖ ͡°)");
|
||||
}
|
||||
if (leader_sequence_three_keys(KC_S, KC_S, KC_S)) {
|
||||
send_unicode_string("¯\\_(ツ)_/¯");
|
||||
}
|
||||
// end typing functions
|
||||
}
|
||||
|
||||
void matrix_init_user(void) {
|
||||
current_os = eeprom_read_byte(EECONFIG_USERSPACE);
|
||||
set_os(current_os, false);
|
||||
}
|
||||
|
||||
LEADER_EXTERNS();
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
check_state();
|
||||
flash_rgb();
|
||||
fade_rgb();
|
||||
LEADER_DICTIONARY() {
|
||||
leading = false;
|
||||
leader_end();
|
||||
|
||||
// begin OS functions
|
||||
SEQ_TWO_KEYS(KC_P, KC_B) {
|
||||
if (current_os == OS_WIN) {
|
||||
long_keystroke(2, (uint16_t[]){KC_LGUI, KC_PAUSE});
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
SEQ_TWO_KEYS(KC_S, KC_S) {
|
||||
if (current_os == OS_MAC) {
|
||||
long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_4});
|
||||
} else if (current_os == OS_WIN) {
|
||||
long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_S});
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_C, KC_A, KC_D) {
|
||||
if (current_os == OS_WIN) {
|
||||
long_keystroke(3, (uint16_t[]){KC_LCTL, KC_LALT, KC_DEL});
|
||||
} else {
|
||||
}
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_C, KC_A, KC_E) {
|
||||
if (current_os == OS_WIN) {
|
||||
long_keystroke(3, (uint16_t[]){KC_LCTL, KC_LALT, KC_END});
|
||||
} else {
|
||||
}
|
||||
}
|
||||
// end OS functions
|
||||
|
||||
// begin format functions
|
||||
SEQ_ONE_KEY(KC_B) {
|
||||
surround_type(2, KC_8, true);
|
||||
}
|
||||
SEQ_ONE_KEY(KC_I) {
|
||||
surround_type(2, KC_MINS, true);
|
||||
}
|
||||
SEQ_ONE_KEY(KC_U) {
|
||||
surround_type(4, KC_MINS, true);
|
||||
}
|
||||
SEQ_ONE_KEY(KC_S) {
|
||||
surround_type(4, KC_GRAVE, true);
|
||||
}
|
||||
SEQ_ONE_KEY(KC_C) {
|
||||
register_unicode(0x00E7); // ç
|
||||
}
|
||||
SEQ_TWO_KEYS(KC_A, KC_V) {
|
||||
surround_type(2, KC_QUOT, true);
|
||||
pair_surround_type(2, KC_LCBR, true);
|
||||
surround_type(2, KC_SPC, false);
|
||||
}
|
||||
SEQ_TWO_KEYS(KC_M, KC_L) {
|
||||
pair_surround_type(1, KC_LBRC, false);
|
||||
SEND_STRING("LINK_NAME");
|
||||
tap_code(KC_RGHT);
|
||||
pair_surround_type(1, KC_LPRN, true);
|
||||
pri_mod_keystroke(KC_V);
|
||||
}
|
||||
SEQ_TWO_KEYS(KC_C, KC_C) {
|
||||
surround_type(2, KC_GRAVE, false);
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_C, KC_C, KC_C) {
|
||||
surround_type(6, KC_GRAVE, false);
|
||||
}
|
||||
SEQ_ONE_KEY(KC_E) {
|
||||
register_unicode(0x00E8); // è
|
||||
}
|
||||
SEQ_TWO_KEYS(KC_E, KC_E) {
|
||||
register_unicode(0x00E9); // é
|
||||
}
|
||||
// end format functions
|
||||
|
||||
// start fancy functions
|
||||
SEQ_TWO_KEYS(KC_V, KC_P) {
|
||||
SEND_STRING("ggvG}x:set paste\ni");
|
||||
pri_mod_keystroke(KC_V);
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_C, KC_C, KC_ENT) {
|
||||
surround_type(6, KC_GRAVE, false);
|
||||
pri_mod_keystroke(KC_V);
|
||||
multi_tap(3, KC_RGHT, false);
|
||||
tap_code(KC_ENTER);
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_T, KC_C, KC_ENT) {
|
||||
multi_tap(3, KC_GRAVE, false);
|
||||
pri_mod_keystroke(KC_V);
|
||||
multi_tap(2, KC_ENTER, false);
|
||||
}
|
||||
// end fancy functions
|
||||
|
||||
// start typing functions
|
||||
SEQ_TWO_KEYS(KC_T, KC_M) {
|
||||
register_unicode(0x2122); // ™
|
||||
}
|
||||
SEQ_TWO_KEYS(KC_D, KC_D) {
|
||||
SEND_STRING(".\\Administrator");
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_D, KC_D, KC_D) {
|
||||
SEND_STRING(".\\Administrator");
|
||||
tap_code(KC_TAB);
|
||||
pri_mod_keystroke(KC_V);
|
||||
tap_code(KC_ENTER);
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_L, KC_O, KC_D) {
|
||||
send_unicode_string("ಠ__ಠ");
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_M, KC_A, KC_P) {
|
||||
SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/users/arkag");
|
||||
}
|
||||
SEQ_TWO_KEYS(KC_F, KC_F) {
|
||||
send_unicode_string("(╯‵Д′)╯彡┻━┻");
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_F, KC_F, KC_F) {
|
||||
send_unicode_string("┬─┬ノ( º _ º ノ)");
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_L, KC_O, KC_L) {
|
||||
send_unicode_string("( ͡° ͜ʖ ͡°)");
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_S, KC_S, KC_S) {
|
||||
send_unicode_string("¯\\_(ツ)_/¯");
|
||||
}
|
||||
// end typing functions
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue