keychron_qmk_firmware/users/kuatsure/kuatsure.c
Jarrett Drouillard 03e53dc8a2 [Keymap] changes to my userspace and preonic keymap ( spring 2019 ) (#5881)
* feat-user-kuatsure: abstract symbol row out

* feat-user-kuatsure: abstract grouped bracket, brace, paren out

* fix-preonic-kuatsure: remove eol as requested by @drashna

* feat-user-kuatsure: add KC_MAKE and KC_FLSH

thanks to @drashna for the help

* chore-preonic-kuatsure: remove auto shift

* chore-user-kuatsure: move leader seq's to macro syntax

* feat-user-kuatsure: add `KC_VRSN` key

plus use it preonic keymap

* chore-user-kuatsure: namespace keyboard macros `KB`

* chore-preonic-kuatsure: move some keyboardy keys around

* chore-preonic-kuatsure: remove parens, brackets, braces from lower

* chore-user-kuatsure: move tmux window shifts to dbl press leaders

* feat-user-kuatsure: add a computer lock leader seq

* fix-preonic-kuatsure: go back to lower brackets

* chore-preonic-kuatsure: clear out raise

* feat-various-kuatsure: add meh + tab mod tap

* chore-preonic-kuatsure: `raise` eats `game_mod` layer

* fix-preonic-kuatsure: reverse pg up and pg down

* chore-user-kuatsure: add double tap to turn off music

* chore-user-kuatsure: move like seqs together

* chore-preonic-kuatsure: add a few more items to the num pad on raise

* feat-user-kuatsure: re-enable td for <> keys

* chore-user-kuatsure: give a little more grace period for leader

* fix-user-kuatsure: give lock leader a gui buffer

no timer or anything, but alfred doesn't boot up as quickly as I would like sometimes

gui doesn't do anything but gives a little bit of a time bump

* fix-user-kuatsure: changes from @drashna review
2019-05-22 21:40:16 -07:00

140 lines
3.1 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)
};
__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("make " QMK_KEYBOARD ":" QMK_KEYMAP
#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
":dfu "
#elif defined(BOOTLOADER_HALFKAY)
":teensy "
#elif defined(BOOTLOADER_CATERINA)
":avrdude "
#endif
SS_TAP(X_ENTER)
);
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();
}
}
}