From cd92946f492bf13e09c6a5e6d24dcc4bbc523e6a Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Tue, 19 Dec 2023 21:44:34 +0100 Subject: Added the qmk firmware for sofle keyboard --- .../sofle_choc/keymaps/custom/quad_tapdance.h | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h (limited to 'qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h') diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h new file mode 100644 index 0000000..87da433 --- /dev/null +++ b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h @@ -0,0 +1,30 @@ +#pragma once + +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP, + TD_DOUBLE_HOLD, + TD_DOUBLE_SINGLE_TAP, // Send two single taps + TD_TRIPLE_TAP, + TD_TRIPLE_HOLD +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +td_state_t cur_dance(tap_dance_state_t *state); + +// For the x tap dance. Put it here so it can be used in any keymap +void w_finished(tap_dance_state_t *state, void *user_data); +void w_reset(tap_dance_state_t *state, void *user_data); + +void ql_finished(tap_dance_state_t *state, void *user_data); +void ql_reset(tap_dance_state_t *state, void *user_data); + +void lshift_finished(tap_dance_state_t *state, void *user_data); +void lshift_reset(tap_dance_state_t *state, void *user_data); -- cgit v1.2.3