diff --git a/users/struckmb/bs_tap_dance.c b/users/struckmb/bs_tap_dance.c deleted file mode 100644 index b90582c8..00000000 --- a/users/struckmb/bs_tap_dance.c +++ /dev/null @@ -1,188 +0,0 @@ -#ifdef TAP_DANCE_ENABLE -// Create a global instance of the tapdance state type -static td_state_t td_state; - -// Determine the tapdance state to return -td_state_t cur_dance(tap_dance_state_t *state) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) - return TD_SINGLE_TAP; - else - return TD_SINGLE_HOLD; - } - - if (state->count == 2) - return TD_DOUBLE_SINGLE_TAP; - else - return TD_UNKNOWN; // Any number higher than the maximum state value you return above -} - -// Handle the possible states for each tapdance keycode you define: - -void symL_finished(tap_dance_state_t *state, void *user_data) { - td_state = cur_dance(state); - if (td_state == TD_SINGLE_HOLD) { - layer_on(LAYER_SYMBL); - return; - } - uint8_t current_layer = get_highest_layer(default_layer_state); - switch (td_state) { - case TD_SINGLE_TAP: -# ifdef QWERTY_ENABLE - if (LAYER_QWERTY == current_layer) register_code16(DE_A); -# endif // QWERTY_ENABLE -# ifdef BONE_ENABLE - if (LAYER_BONE == current_layer) register_code16(DE_C); -# endif // BONE_ENABLE -# ifdef NOTED_ENABLE - if (LAYER_NOTED == current_layer) register_code16(DE_C); -# endif // NOTED_ENABLE -# ifdef COLEMAK_DH_ENABLE - if (LAYER_COLEMAK_DH == current_layer) register_code16(DE_A); -# endif // COLEMAK_DH_ENABLE - break; - case TD_DOUBLE_SINGLE_TAP: // Allow nesting of 2 parens `((` within tapping term -# ifdef QWERTY_ENABLE - if (LAYER_QWERTY == current_layer) { - tap_code16(DE_A); - register_code16(DE_A); - } -# endif // QWERTY_ENABLE -# ifdef BONE_ENABLE - if (LAYER_BONE == current_layer) { - tap_code16(DE_C); - register_code16(DE_C); - } -# endif // BONE_ENABLE -# ifdef NOTED_ENABLE - if (LAYER_NOTED == current_layer) { - tap_code16(DE_C); - register_code16(DE_C); - } -# endif // NOTED_ENABLE -# ifdef COLEMAK_DH_ENABLE - if (LAYER_COLEMAK_DH == current_layer) { - tap_code16(DE_A); - register_code16(DE_A); - } -# endif // COLEMAK_DH_ENABLE - break; - default: - break; - } -} - -void symL_reset(tap_dance_state_t *state, void *user_data) { - if (td_state == TD_SINGLE_HOLD) { - layer_off(LAYER_SYMBL); - return; - } - uint8_t current_layer = get_highest_layer(default_layer_state); - switch (td_state) { - case TD_SINGLE_TAP: - case TD_DOUBLE_SINGLE_TAP: -# ifdef QWERTY_ENABLE - if (LAYER_QWERTY == current_layer) unregister_code16(DE_A); -# endif // QWERTY_ENABLE -# ifdef BONE_ENABLE - if (LAYER_BONE == current_layer) unregister_code16(DE_C); -# endif // BONE_ENABLE -# ifdef NOTED_ENABLE - if (LAYER_NOTED == current_layer) unregister_code16(DE_C); -# endif // NOTED_ENABLE -# ifdef COLEMAK_DH_ENABLE - if (LAYER_COLEMAK_DH == current_layer) unregister_code16(DE_A); -# endif // COLEMAK_DH_ENABLE - break; - default: - break; - } -} - -void symR_finished(tap_dance_state_t *state, void *user_data) { - td_state = cur_dance(state); - if (td_state == TD_SINGLE_HOLD) { - layer_on(LAYER_SYMBL); - return; - } - uint8_t current_layer = get_highest_layer(default_layer_state); - switch (td_state) { - case TD_SINGLE_TAP: -# ifdef QWERTY_ENABLE - if (LAYER_QWERTY == current_layer) register_code16(DE_ODIA); -# endif // QWERTY_ENABLE -# ifdef BONE_ENABLE - if (LAYER_BONE == current_layer) register_code16(DE_G); -# endif // BONE_ENABLE -# ifdef NOTED_ENABLE - if (LAYER_NOTED == current_layer) register_code16(DE_G); -# endif // NOTED_ENABLE -# ifdef COLEMAK_DH_ENABLE - if (LAYER_COLEMAK_DH == current_layer) register_code16(DE_O); -# endif // COLEMAK_DH_ENABLE - break; - case TD_DOUBLE_SINGLE_TAP: // Allow nesting of 2 key presses within tapping term -# ifdef QWERTY_ENABLE - if (LAYER_QWERTY == current_layer) { - tap_code16(DE_ODIA); - register_code16(DE_ODIA); - } -# endif // QWERTY_ENABLE -# ifdef BONE_ENABLE - if (LAYER_BONE == current_layer) { - tap_code16(DE_G); - register_code16(DE_G); - } -# endif // BONE_ENABLE -# ifdef NOTED_ENABLE - if (LAYER_NOTED == current_layer) { - tap_code16(DE_G); - register_code16(DE_G); - } -# endif // NOTED_ENABLE -# ifdef COLEMAK_DH_ENABLE - if (LAYER_COLEMAK_DH == current_layer) { - tap_code16(DE_O); - register_code16(DE_O); - } -# endif // COLEMAK_DH_ENABLE - break; - default: - break; - } -} - -void symR_reset(tap_dance_state_t *state, void *user_data) { - if (td_state == TD_SINGLE_HOLD) { - layer_off(LAYER_SYMBL); - return; - } - uint8_t current_layer = get_highest_layer(default_layer_state); - switch (td_state) { - case TD_SINGLE_TAP: - case TD_DOUBLE_SINGLE_TAP: -# ifdef QWERTY_ENABLE - if (LAYER_QWERTY == current_layer) unregister_code16(DE_ODIA); -# endif // QWERTY_ENABLE -# ifdef BONE_ENABLE - if (LAYER_BONE == current_layer) unregister_code16(DE_G); -# endif // BONE_ENABLE -# ifdef NOTED_ENABLE - if (LAYER_NOTED == current_layer) unregister_code16(DE_G); -# endif // NOTED_ENABLE -# ifdef COLEMAK_DH_ENABLE - if (LAYER_COLEMAK_DH == current_layer) unregister_code16(DE_O); -# endif // COLEMAK_DH_ENABLE - break; - default: - break; - } -} - -// Define `ACTION_TAP_DANCE_FN_ADVANCED()` for each tapdance keycode, passing in `finished` and `reset` functions -tap_dance_action_t tap_dance_actions[] = { - // - [SYM_L] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, symL_finished, symL_reset), - [SYM_R] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, symR_finished, symR_reset), -}; -#endif // TAP_DANCE_ENABLE diff --git a/users/struckmb/config.h b/users/struckmb/config.h index 6f7e41a4..27e91b3b 100644 --- a/users/struckmb/config.h +++ b/users/struckmb/config.h @@ -24,20 +24,13 @@ # define COMBO_SHOULD_TRIGGER #endif // COMBO_ENABLE -#ifdef TAP_DANCE_ENABLE -# define TAPPING_TERM 120 -# ifdef DYNAMIC_TAPPING_TERM_ENABLE -# define DYNAMIC_TAPPING_TERM_INCREMENT 10 -# endif // DYNAMIC_TAPPING_TERM_ENABLE -#else // Tap-hold settings -# define TAPPING_TERM 300 -# define QUICK_TAP_TERM 175 -# define QUICK_TAP_TERM_PER_KEY -# define HOLD_ON_OTHER_KEY_PRESS -# define HOLD_ON_OTHER_KEY_PRESS_PER_KEY -# define PERMISSIVE_HOLD -# define TAP_CODE_DELAY 20 -# define TAPPING_FORCE_HOLD -# define ONESHOT_TAP_TOGGLE 3 -#endif // TAP_DANCE_ENABLED +#define TAPPING_TERM 300 +#define QUICK_TAP_TERM 175 +#define QUICK_TAP_TERM_PER_KEY +#define HOLD_ON_OTHER_KEY_PRESS +#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY +#define PERMISSIVE_HOLD +#define TAP_CODE_DELAY 20 +#define TAPPING_FORCE_HOLD +#define ONESHOT_TAP_TOGGLE 3 diff --git a/users/struckmb/rules.mk b/users/struckmb/rules.mk index a41fa7b6..b758b0dd 100644 --- a/users/struckmb/rules.mk +++ b/users/struckmb/rules.mk @@ -5,7 +5,3 @@ REPEAT_KEY_ENABLE = yes # Userspace code SRC += struckmb.c - -ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) - DYNAMIC_TAPPING_TERM_ENABLE = yes -endif diff --git a/users/struckmb/struckmb.h b/users/struckmb/struckmb.h index 05b67b95..2c4e1ace 100644 --- a/users/struckmb/struckmb.h +++ b/users/struckmb/struckmb.h @@ -124,13 +124,8 @@ enum userspace_custom_keycodes { #define LOW_TAB LT(LAYER_LOWER, KC_TAB) #define RSE_BSP LT(LAYER_RAISE, KC_BSPC) #define ATT(kc) LT(LAYER_ATTIC, kc) -#ifdef TAP_DANCE_ENABLE -# define SY_L(kc) TD(SYM_L) -# define SY_R(kc) TD(SYM_R) -#else -# define SY_L(kc) LT(LAYER_SYMBL, kc) -# define SY_R(kc) LT(LAYER_SYMBL, kc) -#endif // TAP_DANCE_ENABLE +#define SY_L(kc) LT(LAYER_SYMBL, kc) +#define SY_R(kc) LT(LAYER_SYMBL, kc) #ifdef MOUSEKEY_ENABLE # define MS(kc) LT(LAYER_POINTER, kc) #else @@ -152,29 +147,6 @@ enum userspace_custom_keycodes { #define C___TAB C(KC_TAB) #define S_C_TAB S(C(KC_TAB)) -#ifdef TAP_DANCE_ENABLE -// Tap Dance keycodes -enum td_keycodes { - // Toggle symbol layer if held, key based on current base layer, else - SYM_L, - SYM_R -}; - -// Define a type containing as many tapdance states as you need -typedef enum { TD_NONE, TD_UNKNOWN, TD_SINGLE_TAP, TD_SINGLE_HOLD, TD_DOUBLE_SINGLE_TAP } td_state_t; - -// Declare your tapdance functions: - -// Function to determine the current tapdance state -td_state_t cur_dance(tap_dance_state_t *state); - -// `finished` and `reset` functions for each tapdance keycode -void symL_finished(tap_dance_state_t *state, void *user_data); -void symL_reset(tap_dance_state_t *state, void *user_data); -void symR_finished(tap_dance_state_t *state, void *user_data); -void symR_reset(tap_dance_state_t *state, void *user_data); -#endif // TAP_DANCE_ENABLE - #define HRML(k1, k2, k3, k4) LGUI_T(k1), LALT_T(k2), LSFT_T(k3), LCTL_T(k4) #define HRMR(k1, k2, k3, k4) RCTL_T(k1), RSFT_T(k2), LALT_T(k3), RGUI_T(k4)