mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-23 08:56:47 +06:00
2218879d68
Co-authored-by: Ryan <fauxpark@gmail.com>
134 lines
2.9 KiB
C
134 lines
2.9 KiB
C
#include "kuatsure.h"
|
|
#include "version.h"
|
|
|
|
qk_tap_dance_action_t tap_dance_actions[] = {
|
|
[TD_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LT),
|
|
[TD_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_GT),
|
|
[TD_SLSH] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_BSLS),
|
|
};
|
|
|
|
__attribute__ ((weak))
|
|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
|
return true;
|
|
}
|
|
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
switch (keycode) {
|
|
case KB_MAKE:
|
|
if (!record->event.pressed) {
|
|
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP SS_TAP(X_ENTER));
|
|
}
|
|
return false;
|
|
break;
|
|
|
|
case KB_VRSN:
|
|
if (!record->event.pressed) {
|
|
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
|
}
|
|
return false;
|
|
break;
|
|
|
|
case KB_FLSH:
|
|
if (!record->event.pressed) {
|
|
SEND_STRING(
|
|
"qmk flash -kb " QMK_KEYBOARD " -km " QMK_KEYMAP
|
|
);
|
|
|
|
reset_keyboard();
|
|
}
|
|
return false;
|
|
break;
|
|
}
|
|
|
|
return process_record_keymap(keycode, record);
|
|
}
|
|
|
|
void tmux_prefix(void) {
|
|
tap_code16(LCTL(KC_SPC));
|
|
}
|
|
|
|
void tmux_pane_zoom(void) {
|
|
tmux_prefix();
|
|
|
|
SEND_STRING("z");
|
|
}
|
|
|
|
LEADER_EXTERNS();
|
|
void matrix_scan_user(void) {
|
|
LEADER_DICTIONARY() {
|
|
leading = false;
|
|
leader_end();
|
|
|
|
// Available seqs
|
|
// SEQ_ONE_KEY, SEQ_TWO_KEYS, SEQ_THREE_KEYS
|
|
// anything you can do in a macro https://docs.qmk.fm/macros.html
|
|
// https://docs.qmk.fm/feature_leader_key.html
|
|
|
|
// Stop music and lock computer via alfred
|
|
SEQ_ONE_KEY(KC_H) {
|
|
SEND_STRING(SS_LGUI(" ") SS_TAP(X_LGUI) "afk" SS_TAP(X_ENTER));
|
|
}
|
|
|
|
// Stop music and lock computer via alfred
|
|
SEQ_TWO_KEYS(KC_H, KC_H) {
|
|
SEND_STRING(SS_LGUI(" ") SS_TAP(X_LGUI) "afk" SS_TAP(X_ENTER) SS_TAP(X_MEDIA_PLAY_PAUSE));
|
|
}
|
|
|
|
// Whole Screen Shot
|
|
SEQ_ONE_KEY(KC_A) {
|
|
SEND_STRING(SS_LGUI(SS_LSFT("3")));
|
|
}
|
|
|
|
// Selective Screen Shot
|
|
SEQ_ONE_KEY(KC_S) {
|
|
SEND_STRING(SS_LGUI(SS_LSFT("4")));
|
|
}
|
|
|
|
// TMUX - shift to pane 1 and zoom
|
|
SEQ_ONE_KEY(KC_J) {
|
|
tmux_prefix();
|
|
SEND_STRING("q1");
|
|
tmux_pane_zoom();
|
|
}
|
|
|
|
// TMUX - shift to first window
|
|
SEQ_TWO_KEYS(KC_J, KC_J) {
|
|
tmux_prefix();
|
|
SEND_STRING("1");
|
|
}
|
|
|
|
// TMUX - shift to pane 2 and zoom
|
|
SEQ_ONE_KEY(KC_K) {
|
|
tmux_prefix();
|
|
SEND_STRING("q2");
|
|
tmux_pane_zoom();
|
|
}
|
|
|
|
// TMUX - shift to second window
|
|
SEQ_TWO_KEYS(KC_K, KC_K) {
|
|
tmux_prefix();
|
|
SEND_STRING("2");
|
|
}
|
|
|
|
// TMUX - shift to pane 3 and zoom
|
|
SEQ_ONE_KEY(KC_L) {
|
|
tmux_prefix();
|
|
SEND_STRING("q3");
|
|
tmux_pane_zoom();
|
|
}
|
|
|
|
// TMUX - shift to third window
|
|
SEQ_TWO_KEYS(KC_L, KC_L) {
|
|
tmux_prefix();
|
|
SEND_STRING("3");
|
|
}
|
|
|
|
// TMUX - shift to last pane and zoom
|
|
SEQ_ONE_KEY(KC_SCOLON) {
|
|
tmux_prefix();
|
|
SEND_STRING(";");
|
|
tmux_pane_zoom();
|
|
}
|
|
}
|
|
}
|