summaryrefslogtreecommitdiffstats
path: root/users/kuchosauronad0/tap_dances.c
diff options
context:
space:
mode:
authorkuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com>2019-08-17 08:19:35 -0700
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-08-17 08:19:35 -0700
commit683605a9dc285c5e8f6328ec81a29505892287b7 (patch)
tree82254e30a4aa0c0774aec22a6c7f69a1045b83d0 /users/kuchosauronad0/tap_dances.c
parentc178bbf2e50424ee54fbd3a43609089470129c34 (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.c57
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),//
+};