summaryrefslogtreecommitdiff
path: root/users/zer09/tap_dance.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/zer09/tap_dance.h')
-rw-r--r--users/zer09/tap_dance.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/users/zer09/tap_dance.h b/users/zer09/tap_dance.h
new file mode 100644
index 000000000..555c15924
--- /dev/null
+++ b/users/zer09/tap_dance.h
@@ -0,0 +1,55 @@
+#ifndef TAP_DANCE_H
+#define TAP_DANCE_H
+
+#include "zer09.h"
+
+typedef struct {
+ int state;
+} tap;
+
+enum {
+ DEFAULT_TAP,
+ DEFAULT_HOLD,
+ SINGLE_TAP,
+ SINGLE_HOLD,
+ DOUBLE_TAP,
+ DOUBLE_HOLD,
+ TRIPLE_TAP,
+ TRIPLE_HOLD
+};
+
+enum {
+ DA_SAFE_START,
+ DA_LCTL,
+ DA_LSPR,
+ DA_RCTL,
+ DA_RALT,
+ DA_UPLY,
+ DA_DWLY,
+ DA_SAFE_END
+};
+
+extern volatile uint8_t active_layer;
+
+void layer_switcher_tap(uint8_t);
+int cur_dance(qk_tap_dance_state_t *);
+
+void dance_lctl_finished(qk_tap_dance_state_t *, void *);
+void dance_lctl_reset(qk_tap_dance_state_t *, void *);
+
+void dance_lspr_finished(qk_tap_dance_state_t *, void *);
+void dance_lspr_reset(qk_tap_dance_state_t *, void *);
+
+void dance_rctl_finished(qk_tap_dance_state_t *, void *);
+void dance_rctl_reset(qk_tap_dance_state_t *, void *);
+
+void dance_ralt_finished(qk_tap_dance_state_t *, void *);
+void dance_ralt_reset(qk_tap_dance_state_t *, void *);
+
+void dance_uply_finished(qk_tap_dance_state_t *, void *);
+void dance_uply_reset(qk_tap_dance_state_t *, void *);
+
+void dance_dwly_finished(qk_tap_dance_state_t *, void *);
+void dance_dwly_reset(qk_tap_dance_state_t *, void *);
+
+#endif