diff options
author | James Smith <37446827+Klackygears@users.noreply.github.com> | 2020-06-28 07:07:57 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-28 12:07:57 +0100 |
commit | d36d5ecfad3ea32c11fbf4a251cea7e25caafc28 (patch) | |
tree | 9d2c22db777861430aff53ac8c3b9fc9a85a1c4b /users/klackygears/tap_dances.c | |
parent | 7baeaae9bb92b9501d4bb73149bbed28ad25446b (diff) | |
download | qmk_firmware-d36d5ecfad3ea32c11fbf4a251cea7e25caafc28.tar.gz qmk_firmware-d36d5ecfad3ea32c11fbf4a251cea7e25caafc28.zip |
Klackygears add user and handwired brain (#9154)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Diffstat (limited to 'users/klackygears/tap_dances.c')
-rw-r--r-- | users/klackygears/tap_dances.c | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/users/klackygears/tap_dances.c b/users/klackygears/tap_dances.c new file mode 100644 index 0000000000..af4f187fcc --- /dev/null +++ b/users/klackygears/tap_dances.c @@ -0,0 +1,184 @@ +#include "tap_dances.h" + +/* +void macroTogKey(qk_tap_dance_state_t *state, void *user_data) { + keyrecord_t kr; + + if (state->count == 1) + { + kr.event.pressed = false; + process_record_dynamic_macro( DYN_MACRO_PLAY1, &kr ); + } + else if (state->count == 2) + { + kr.event.pressed = true; + process_record_dynamic_macro( DYN_REC_STOP, &kr ); + } + else if (state->count == 3) + { + kr.event.pressed = false; + process_record_dynamic_macro( DYN_REC_START1, &kr ); + } +} + +void macroTogKey2(qk_tap_dance_state_t *state, void *user_data) { + keyrecord_t kr; + + if (state->count == 1) + { + kr.event.pressed = false; + process_record_dynamic_macro( DYN_MACRO_PLAY2, &kr ); + } + else if (state->count == 2) + { + kr.event.pressed = true; + process_record_dynamic_macro( DYN_REC_STOP, &kr ); + } + else if (state->count == 3) + { + kr.event.pressed = false; + process_record_dynamic_macro( DYN_REC_START2, &kr ); + } +} +*/ + +void pstinsrt(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + register_code(KC_LALT); + tap_code(KC_I); + tap_code(KC_E); + unregister_code(KC_LALT); + } else { + tap_code16(C(KC_V)); + } + reset_tap_dance(state); +} + +void ccopy(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + tap_code16(C(KC_X)); + + // SEND_STRING( SS_DOWN(KC_LCTL) SS_TAP(KC_X) SS_UP(KC_LCTL)); + } else { + tap_code16(C(KC_C)); + } + reset_tap_dance(state); +} + +void pstspecial(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + register_code(KC_LALT); + tap_code(KC_E); + tap_code(KC_S); + unregister_code(KC_LALT); + tap_code(KC_V); + } else { + register_code(KC_LALT); + tap_code(KC_E); + tap_code(KC_S); + unregister_code(KC_LALT); + tap_code(KC_T); + } + reset_tap_dance(state); +} + +void deldel(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + register_code(KC_LALT); + tap_code(KC_E); + tap_code(KC_D); + unregister_code(KC_LALT); + } else { + tap_code(KC_DEL); + } + reset_tap_dance(state); +} + +void findreplace(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + tap_code16(C(KC_H)); + } else { + tap_code16(C(KC_F)); + } + reset_tap_dance(state); +} + +void cyclawin(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + tap_code16(C(S(KC_F6))); + } else { + tap_code16(C(KC_F6)); + } + reset_tap_dance(state); +} + +void SCRNSNP(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + tap_code16(A(KC_PSCR)); + } else { + tap_code(KC_LGUI); + tap_code(KC_S); + tap_code(KC_N); + tap_code16(C(KC_N)); + } + reset_tap_dance(state); +} + +void mcccpy(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + tap_code16(G(KC_X)); + } else { + tap_code16(G(KC_C)); + } + reset_tap_dance(state); +} + +void mcpstin(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + tap_code16(G(KC_I)); + } else { + tap_code16(G(KC_V)); + } + reset_tap_dance(state); +} + +void enttab(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + tap_code(KC_ENT); + } else { + tap_code(KC_TAB); + } + reset_tap_dance(state); +} + +void rgb_toggle(qk_tap_dance_state_t *state, void *user_data) { +#ifdef RGBLIGHT_ENABLE + if (state->count == 1) { + rgblight_step(); + } else { + rgblight_increase_hue(); + } +#endif +} + +// Tap Dance Definitions +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_PSTI] = ACTION_TAP_DANCE_FN(pstinsrt), + [TD_PTSP] = ACTION_TAP_DANCE_FN(pstspecial), + [TD_FNDR] = ACTION_TAP_DANCE_FN(findreplace), + [TD_CCPY] = ACTION_TAP_DANCE_FN(ccopy), + [TD_DDEL] = ACTION_TAP_DANCE_FN(deldel), + [TD_ACCW] = ACTION_TAP_DANCE_FN(cyclawin), + [TD_CAPESC] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), + [TD_DTEX] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_EXLM), + [TD_COMQUES] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUES), + [TD_MINPLS] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_PPLS), + [TD_DIVMLT] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST), + [TD_DOTEQL] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_EQL), + [TD_SCNSP] = ACTION_TAP_DANCE_FN(SCRNSNP), + [TD_MCCCPY] = ACTION_TAP_DANCE_FN(mcccpy), + [TD_MCPSTIN] = ACTION_TAP_DANCE_FN(mcpstin), + [TD_ENTAB] = ACTION_TAP_DANCE_FN(enttab), + [TD_XSPC] = ACTION_TAP_DANCE_DOUBLE(KC_SPACE, KC_X), + [TD_RGB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rgb_toggle, NULL) +}; |