aboutsummaryrefslogtreecommitdiff
path: root/users/klackygears/tap_dances.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/klackygears/tap_dances.c')
-rw-r--r--users/klackygears/tap_dances.c184
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 000000000..af4f187fc
--- /dev/null
+++ b/users/klackygears/tap_dances.c
@@ -0,0 +1,184 @@
1#include "tap_dances.h"
2
3/*
4void macroTogKey(qk_tap_dance_state_t *state, void *user_data) {
5 keyrecord_t kr;
6
7 if (state->count == 1)
8 {
9 kr.event.pressed = false;
10 process_record_dynamic_macro( DYN_MACRO_PLAY1, &kr );
11 }
12 else if (state->count == 2)
13 {
14 kr.event.pressed = true;
15 process_record_dynamic_macro( DYN_REC_STOP, &kr );
16 }
17 else if (state->count == 3)
18 {
19 kr.event.pressed = false;
20 process_record_dynamic_macro( DYN_REC_START1, &kr );
21 }
22}
23
24void macroTogKey2(qk_tap_dance_state_t *state, void *user_data) {
25 keyrecord_t kr;
26
27 if (state->count == 1)
28 {
29 kr.event.pressed = false;
30 process_record_dynamic_macro( DYN_MACRO_PLAY2, &kr );
31 }
32 else if (state->count == 2)
33 {
34 kr.event.pressed = true;
35 process_record_dynamic_macro( DYN_REC_STOP, &kr );
36 }
37 else if (state->count == 3)
38 {
39 kr.event.pressed = false;
40 process_record_dynamic_macro( DYN_REC_START2, &kr );
41 }
42}
43*/
44
45void pstinsrt(qk_tap_dance_state_t *state, void *user_data) {
46 if (state->count > 1) {
47 register_code(KC_LALT);
48 tap_code(KC_I);
49 tap_code(KC_E);
50 unregister_code(KC_LALT);
51 } else {
52 tap_code16(C(KC_V));
53 }
54 reset_tap_dance(state);
55}
56
57void ccopy(qk_tap_dance_state_t *state, void *user_data) {
58 if (state->count > 1) {
59 tap_code16(C(KC_X));
60
61 // SEND_STRING( SS_DOWN(KC_LCTL) SS_TAP(KC_X) SS_UP(KC_LCTL));
62 } else {
63 tap_code16(C(KC_C));
64 }
65 reset_tap_dance(state);
66}
67
68void pstspecial(qk_tap_dance_state_t *state, void *user_data) {
69 if (state->count > 1) {
70 register_code(KC_LALT);
71 tap_code(KC_E);
72 tap_code(KC_S);
73 unregister_code(KC_LALT);
74 tap_code(KC_V);
75 } else {
76 register_code(KC_LALT);
77 tap_code(KC_E);
78 tap_code(KC_S);
79 unregister_code(KC_LALT);
80 tap_code(KC_T);
81 }
82 reset_tap_dance(state);
83}
84
85void deldel(qk_tap_dance_state_t *state, void *user_data) {
86 if (state->count > 1) {
87 register_code(KC_LALT);
88 tap_code(KC_E);
89 tap_code(KC_D);
90 unregister_code(KC_LALT);
91 } else {
92 tap_code(KC_DEL);
93 }
94 reset_tap_dance(state);
95}
96
97void findreplace(qk_tap_dance_state_t *state, void *user_data) {
98 if (state->count > 1) {
99 tap_code16(C(KC_H));
100 } else {
101 tap_code16(C(KC_F));
102 }
103 reset_tap_dance(state);
104}
105
106void cyclawin(qk_tap_dance_state_t *state, void *user_data) {
107 if (state->count > 1) {
108 tap_code16(C(S(KC_F6)));
109 } else {
110 tap_code16(C(KC_F6));
111 }
112 reset_tap_dance(state);
113}
114
115void SCRNSNP(qk_tap_dance_state_t *state, void *user_data) {
116 if (state->count > 1) {
117 tap_code16(A(KC_PSCR));
118 } else {
119 tap_code(KC_LGUI);
120 tap_code(KC_S);
121 tap_code(KC_N);
122 tap_code16(C(KC_N));
123 }
124 reset_tap_dance(state);
125}
126
127void mcccpy(qk_tap_dance_state_t *state, void *user_data) {
128 if (state->count > 1) {
129 tap_code16(G(KC_X));
130 } else {
131 tap_code16(G(KC_C));
132 }
133 reset_tap_dance(state);
134}
135
136void mcpstin(qk_tap_dance_state_t *state, void *user_data) {
137 if (state->count > 1) {
138 tap_code16(G(KC_I));
139 } else {
140 tap_code16(G(KC_V));
141 }
142 reset_tap_dance(state);
143}
144
145void enttab(qk_tap_dance_state_t *state, void *user_data) {
146 if (state->count > 1) {
147 tap_code(KC_ENT);
148 } else {
149 tap_code(KC_TAB);
150 }
151 reset_tap_dance(state);
152}
153
154void rgb_toggle(qk_tap_dance_state_t *state, void *user_data) {
155#ifdef RGBLIGHT_ENABLE
156 if (state->count == 1) {
157 rgblight_step();
158 } else {
159 rgblight_increase_hue();
160 }
161#endif
162}
163
164// Tap Dance Definitions
165qk_tap_dance_action_t tap_dance_actions[] = {
166 [TD_PSTI] = ACTION_TAP_DANCE_FN(pstinsrt),
167 [TD_PTSP] = ACTION_TAP_DANCE_FN(pstspecial),
168 [TD_FNDR] = ACTION_TAP_DANCE_FN(findreplace),
169 [TD_CCPY] = ACTION_TAP_DANCE_FN(ccopy),
170 [TD_DDEL] = ACTION_TAP_DANCE_FN(deldel),
171 [TD_ACCW] = ACTION_TAP_DANCE_FN(cyclawin),
172 [TD_CAPESC] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
173 [TD_DTEX] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_EXLM),
174 [TD_COMQUES] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUES),
175 [TD_MINPLS] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_PPLS),
176 [TD_DIVMLT] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST),
177 [TD_DOTEQL] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_EQL),
178 [TD_SCNSP] = ACTION_TAP_DANCE_FN(SCRNSNP),
179 [TD_MCCCPY] = ACTION_TAP_DANCE_FN(mcccpy),
180 [TD_MCPSTIN] = ACTION_TAP_DANCE_FN(mcpstin),
181 [TD_ENTAB] = ACTION_TAP_DANCE_FN(enttab),
182 [TD_XSPC] = ACTION_TAP_DANCE_DOUBLE(KC_SPACE, KC_X),
183 [TD_RGB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rgb_toggle, NULL)
184};