85 lines
1.9 KiB
C
85 lines
1.9 KiB
C
#include "leader.h"
|
|
|
|
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 // TAP_DANCE_ENABLE
|
|
|
|
#ifdef RGBLIGHT_ENABLE
|
|
matrix_scan_rgb();
|
|
#endif // RGBLIGHT_ENABLE
|
|
|
|
LEADER_DICTIONARY() {
|
|
leading = false;
|
|
leader_end();
|
|
// Q is for TMUX
|
|
// Z is for OS related things
|
|
// other single key sequences are mostly for terminals and vim
|
|
|
|
SEQ_ONE_KEY(KC_W) {
|
|
// Vim + Tmux Macro, when in command mode in vim: write to file, change to the other pane in the current session and repeat the last command
|
|
SEND_STRING(":w" SS_TAP(X_ENTER));
|
|
tmux_pane_switch_repeat();
|
|
}
|
|
|
|
SEQ_ONE_KEY(KC_T) {
|
|
// Send the Tmux Prefix
|
|
tmux_prefix();
|
|
}
|
|
|
|
SEQ_ONE_KEY(KC_A) {
|
|
// Send the Tmux Prefix and press 'right' arrow
|
|
tmux_prefix();
|
|
tap_code(KC_RIGHT);
|
|
}
|
|
|
|
SEQ_TWO_KEYS(KC_T, KC_T) {
|
|
// Send the Tmux Prefix to a nested session
|
|
tmux_prefix();
|
|
tmux_prefix();
|
|
}
|
|
SEQ_TWO_KEYS(KC_Q, KC_A) {
|
|
// Switch pane and repeat last action
|
|
tmux_pane_switch_repeat();
|
|
}
|
|
|
|
SEQ_TWO_KEYS(KC_Z, KC_P){
|
|
// Press windows key, send string 'plex' and press enter
|
|
register_code(KC_LGUI);
|
|
register_code(KC_S);
|
|
unregister_code(KC_S);
|
|
|
|
unregister_code(KC_LGUI);
|
|
SEND_STRING("plex");
|
|
tap_code(KC_ENTER);
|
|
}
|
|
|
|
SEQ_TWO_KEYS(KC_Z, KC_F) {
|
|
// Open a search
|
|
register_code(KC_LGUI);
|
|
register_code(KC_S);
|
|
unregister_code(KC_S);
|
|
unregister_code(KC_LGUI);
|
|
}
|
|
|
|
SEQ_TWO_KEYS(KC_Z, KC_Z) {
|
|
SEND_STRING("https://start.duckduckgo.com"SS_TAP(X_ENTER));
|
|
}
|
|
|
|
SEQ_THREE_KEYS(KC_BSPC, KC_BSPC, KC_BSPC){
|
|
// Reset the keyboard
|
|
reset_keyboard();
|
|
}
|
|
}
|
|
|
|
matrix_scan_keymap();
|
|
}
|