diff options
author | kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com> | 2019-08-17 08:19:35 -0700 |
---|---|---|
committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-08-17 08:19:35 -0700 |
commit | 683605a9dc285c5e8f6328ec81a29505892287b7 (patch) | |
tree | 82254e30a4aa0c0774aec22a6c7f69a1045b83d0 /users/kuchosauronad0/tap_dances.c | |
parent | c178bbf2e50424ee54fbd3a43609089470129c34 (diff) |
Userspace kuchosauronad0 (#6541)
* initial commit
* Update layout. Tweak rules.mk
* initial userspace configuration for kuchosauronad0
* modified userspace for kuchosauronad0
* added OSL_UNI
* clean up
* clean up
* style
* style
* added more unicode
* fixed representation
* fixed representation
* added comments
* added comments, restructure
* accidently one line
* restructure
* restructure
* added git_lazy(void)
* fixed indenting and added missing symbols
* fixed indent
* fixed indent
* update
* change tapping_term to 150
* added UNICODEMAP_ENABLE block
* replace register with tap_code where possible
* formatting
* rearrange sequences
* clean up
* clean up
* added unicode layer
* disabled tap dance
* add files for encoder
* removed unnecessary include
* removed unnecessary stuff
Diffstat (limited to 'users/kuchosauronad0/tap_dances.c')
-rw-r--r-- | users/kuchosauronad0/tap_dances.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/users/kuchosauronad0/tap_dances.c b/users/kuchosauronad0/tap_dances.c new file mode 100644 index 0000000000..4ebb5dc739 --- /dev/null +++ b/users/kuchosauronad0/tap_dances.c @@ -0,0 +1,57 @@ +#include "tap_dances.h" +void td_parenthesis (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + SEND_STRING ("\("); + reset_tap_dance (state); + } + else if (state->count == 2) { + SEND_STRING("()" SS_TAP(X_LEFT)); + //tap_code(KC_2); + //tap_code(KC_3); + //tap_code(KC_LEFT); + reset_tap_dance (state); + } + else if (state->count == 3) { + SEND_STRING("[]" SS_TAP(X_LEFT)); + reset_tap_dance (state); + } + else if (state->count == 4) { + SEND_STRING("{}" SS_TAP(X_LEFT)); + reset_tap_dance (state); + } + else if (state->count >= 5) { + SEND_STRING("<>" SS_TAP(X_LEFT)); + reset_tap_dance (state); + } +} + +void safe_reset(qk_tap_dance_state_t *state, void *user_data) { + if (state->count >= 3) { + // Reset the keyboard if you tap the key more than three times + reset_keyboard(); + reset_tap_dance(state); + } +} + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_RESET] = ACTION_TAP_DANCE_FN(safe_reset), + [TD_NUM1] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_4), + [TD_NUM2] = ACTION_TAP_DANCE_DOUBLE(KC_2, KC_5), + [TD_NUM3] = ACTION_TAP_DANCE_DOUBLE(KC_3, KC_6), + [TD_QT1] = ACTION_TAP_DANCE_DOUBLE(KC_QUOT, MC_QT1), + [TD_QT2] = ACTION_TAP_DANCE_DOUBLE(LSFT(KC_QUOT), MC_QT2), + [TD_QT3] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, MC_QT3), + + [TD_TMX] = ACTION_TAP_DANCE_DOUBLE(KC_T, TM_X), + [TD_EOL] = ACTION_TAP_DANCE_DOUBLE(KC_E, MC_EOL), // end of line + [TD_BOL] = ACTION_TAP_DANCE_DOUBLE(KC_A, MC_BOL), // beginning of line + [TD_NW] = ACTION_TAP_DANCE_DOUBLE(KC_F, MC_NW), // next word + [TD_PW] = ACTION_TAP_DANCE_DOUBLE(KC_B, MC_PW), // pevious word + [TD_DW] = ACTION_TAP_DANCE_DOUBLE(KC_W, MC_DW), // pevious word + + [TD_SPC] = ACTION_TAP_DANCE_FN(td_parenthesis), // \(, (), [], {}, <> + [TD_PAR] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, MC_PAR), // () + [TD_SQR] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, MC_SQR), // [] + [TD_CUR] = ACTION_TAP_DANCE_DOUBLE(LSFT(KC_LCBR), MC_CUR),// {} + [TD_ABR] = ACTION_TAP_DANCE_DOUBLE(LSFT(KC_COMM), MC_ABR),// +}; |