185 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "tap_dances.h"
 | |
| 
 | |
| /*
 | |
| void macroTogKey(tap_dance_state_t *state, void *user_data) {
 | |
|   keyrecord_t kr;
 | |
| 
 | |
|   if (state->count == 1)
 | |
|   {
 | |
|     kr.event.pressed = false;
 | |
|     process_record_dynamic_macro( DM_PLY1, &kr );
 | |
|   }
 | |
|   else if (state->count == 2)
 | |
|   {
 | |
|     kr.event.pressed = true;
 | |
|     process_record_dynamic_macro( DM_RSTP, &kr );
 | |
|   }
 | |
|   else if (state->count == 3)
 | |
|   {
 | |
|     kr.event.pressed = false;
 | |
|     process_record_dynamic_macro( QK_DYNAMIC_MACRO_RECORD_START_1, &kr );
 | |
|   }
 | |
| }
 | |
| 
 | |
| void macroTogKey2(tap_dance_state_t *state, void *user_data) {
 | |
|   keyrecord_t kr;
 | |
| 
 | |
|   if (state->count == 1)
 | |
|   {
 | |
|     kr.event.pressed = false;
 | |
|     process_record_dynamic_macro( DM_PLY2, &kr );
 | |
|   }
 | |
|   else if (state->count == 2)
 | |
|   {
 | |
|     kr.event.pressed = true;
 | |
|     process_record_dynamic_macro( DM_RSTP, &kr );
 | |
|   }
 | |
|   else if (state->count == 3)
 | |
|   {
 | |
|     kr.event.pressed = false;
 | |
|     process_record_dynamic_macro( DM_REC2, &kr );
 | |
|   }
 | |
| }
 | |
| */
 | |
| 
 | |
| void pstinsrt(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(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(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(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(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(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(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(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(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(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(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
 | |
| 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)
 | |
| };
 |