You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

184 lines
4.6 KiB

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