summaryrefslogtreecommitdiffstats
path: root/users/danielo515/tap_dance.h
diff options
context:
space:
mode:
authorDaniel Rodríguez Rivero <rdanielo@gmail.com>2020-01-27 23:42:38 +0100
committerDrashna Jaelre <drashna@live.com>2020-01-27 14:42:38 -0800
commit1b7a003d842c76cd141af726c13e2af1a4458bac (patch)
tree678d8482537b4b444810fa0d520dbff9eb0c4ff4 /users/danielo515/tap_dance.h
parent0804f0a5dd08ed0807a67793ef329fa49ed5b16f (diff)
[Keymap] update to Danielo515 keymaps (#8004)
* feat(build): added script for compiling with docker easily * chore: bring my own build with docker to master * feat: merge ergodox ez into latest maste * chore: remove my build with docker file * chore: remove my changes to process_leader * feat: more modular user danielo515 * Apply suggestions from @ridingqwerty Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com> * chore: more suggestions implemented * chore: add my basic details * Apply suggestions from @drashna Co-Authored-By: Drashna Jaelre <drashna@live.com> * fix: more @drashna fixes * feat: @fauxpark optimization * fix: some more @drashna improvements Co-Authored-By: Drashna Jaelre <drashna@live.com> * chore: small improvement on layout * fix: some more @drashna improvements * chore: remove some F dance Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'users/danielo515/tap_dance.h')
-rw-r--r--users/danielo515/tap_dance.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/users/danielo515/tap_dance.h b/users/danielo515/tap_dance.h
new file mode 100644
index 0000000000..6ec4fe13cf
--- /dev/null
+++ b/users/danielo515/tap_dance.h
@@ -0,0 +1,80 @@
+#include "quantum.h"
+extern bool CMD(uint16_t kc);
+extern bool onMac;
+
+
+#define ACTION_TAP_DANCE_DOUBLE_SAFE(kc1, kc2) { \
+ .fn = { NULL, qk_tap_dance_pair_finished_safe, qk_tap_dance_pair_reset_safe }, \
+ .user_data = (void *)&((qk_tap_dance_pair_t) { kc1, kc2 }), \
+ }
+
+#ifdef QUAD_DANCE
+//Enums used to clearly convey the state of the tap dance
+enum {
+ SINGLE_TAP = 1,
+ SINGLE_HOLD = 2,
+ DOUBLE_TAP = 3,
+ DOUBLE_HOLD = 4,
+ DOUBLE_SINGLE_TAP = 5 //send SINGLE_TAP twice - NOT DOUBLE_TAP
+ // Add more enums here if you want for triple, quadruple, etc.
+};
+int cur_dance (qk_tap_dance_state_t *state);
+# endif
+
+enum tap_dance {
+ COPY_CUT,
+ PASTE_DANCE,
+ _TD_F1,
+ _TD_F2,
+ _TD_F3,
+ _TD_F4,
+ _TD_F5,
+ _TD_F6,
+ _TD_F7,
+ _TD_F8,
+ _TD_F9,
+ _TD_F10,
+ _TD_F11,
+ _TD_F12,
+ _TD_H_ENTER,
+ _TD_CLN,
+ _TD_SLASH,
+ // old ones
+ LEFT_HOME,
+ J_ENT,
+ H_MINS,
+ RGT_HOME,
+ _TD_COPY,
+ _TD_CUT,
+ _TD_PASTE,
+};
+void qk_tap_dance_pair_finished_safe(qk_tap_dance_state_t *state, void *user_data);
+void qk_tap_dance_pair_reset_safe(qk_tap_dance_state_t *state, void *user_data);
+void td_copy_cut (qk_tap_dance_state_t *state, void *user_data);
+void td_paste(qk_tap_dance_state_t *state, void *user_data);
+int cur_dance (qk_tap_dance_state_t *state);
+void dance_cut (qk_tap_dance_state_t *state, void *user_data);
+void dance_copy (qk_tap_dance_state_t *state, void *user_data);
+void dance_paste (qk_tap_dance_state_t *state, void *user_data);
+
+#define TD_COPY TD(_TD_COPY)
+#define TD_CUT TD(_TD_CUT)
+#define KC_TD_COPY TD(_TD_COPY) // Declarations for macros that add KC_
+#define KC_TD_CUT TD(_TD_CUT)
+#define KC_TD_PASTE TD(_TD_PASTE)
+#define KC_E_GRV ES_GRV
+#define TD_F1 TD(_TD_F1)
+#define TD_F2 TD(_TD_F2)
+#define TD_F3 TD(_TD_F3)
+#define TD_F4 TD(_TD_F4)
+#define TD_F5 TD(_TD_F5)
+#define TD_F6 TD(_TD_F6)
+#define TD_F7 TD(_TD_F7)
+#define TD_F8 TD(_TD_F8)
+#define TD_F9 TD(_TD_F9)
+#define TD_F10 TD(_TD_F10)
+#define TD_F11 TD(_TD_F11)
+#define TD_F12 TD(_TD_F12)
+#define H_ENTER TD(_TD_H_ENTER)
+#define TD_CLN TD(_TD_CLN)
+#define TD_SLASH TD(_TD_SLASH)