diff options
author | Sébastien Dailly <sebastien@dailly.me> | 2024-04-12 22:44:05 +0200 |
---|---|---|
committer | Sébastien Dailly <sebastien@dailly.me> | 2024-04-12 22:44:05 +0200 |
commit | 265fd6478f634895cb22488c42aa9eab50788cd8 (patch) | |
tree | c630060e8227770190d05d6139d5892bffc83473 /qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c | |
parent | f8363576f7eaf92c9e4c3a6e9323fa2535eb4c88 (diff) |
Update qmk
Diffstat (limited to 'qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c')
-rw-r--r-- | qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c | 57 |
1 files changed, 10 insertions, 47 deletions
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c index f0a5dbb..ab27f82 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c @@ -77,10 +77,16 @@ static td_tap_t w_tap_state = { void w_finished(tap_dance_state_t *state, void *user_data) { w_tap_state.state = cur_dance(state); switch (w_tap_state.state) { - case TD_SINGLE_TAP: register_code(BP_W); break; - case TD_SINGLE_HOLD: register_code(KC_RIGHT_SHIFT); break; - case TD_DOUBLE_TAP: caps_word_on(); break; - case TD_DOUBLE_SINGLE_TAP: tap_code(BP_W); register_code(BP_W); break; + case TD_SINGLE_TAP: + register_code(BP_W); break; + case TD_DOUBLE_TAP: + case TD_DOUBLE_SINGLE_TAP: + caps_word_on(); + break; + case TD_SINGLE_HOLD: + case TD_DOUBLE_HOLD: + register_code(KC_RIGHT_SHIFT); + break; default: break; } } @@ -132,48 +138,6 @@ void ql_reset(tap_dance_state_t *state, void *user_data) { } // -// Definiton for the key L_SHIFT. -// The main usage of the key is to activate the LShift when hold. But the key -// can also be used to active the CAPSLOCK mode. -// -// -static td_tap_t lshift_tap_state = { - .is_press_action = true, - .state = TD_NONE -}; - -// Functions that control what our tap dance key does -void lshift_finished(tap_dance_state_t *state, void *user_data) { - lshift_tap_state.state = cur_dance(state); - switch (lshift_tap_state.state) { - // Remove the layer with a single tap, this way I always have a key to remove the - // the layer, without knowing the previous state I had. - case TD_SINGLE_HOLD: - register_code(KC_LEFT_SHIFT); - break; - case TD_SINGLE_TAP: - if (host_keyboard_led_state().caps_lock) - register_code(KC_CAPS_LOCK); - break; - default: break; - } -} - -void lshift_reset(tap_dance_state_t *state, void *user_data) { - switch (lshift_tap_state.state) { - case TD_SINGLE_HOLD: - unregister_code(KC_LEFT_SHIFT); - break; - case TD_SINGLE_TAP: - if (host_keyboard_led_state().caps_lock) - unregister_code(KC_CAPS_LOCK); - break; - default: break; - } - lshift_tap_state.state = TD_NONE; -} - -// // Declare the tapdance table here. // tap_dance_action_t tap_dance_actions[] = { @@ -181,7 +145,6 @@ tap_dance_action_t tap_dance_actions[] = { [TD_PRC] = ACTION_TAP_DANCE_DOUBLE(BP_EQL, BP_PERC), [TD_W_CAPSLOCK] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, w_finished, w_reset), [TD_LAYER_SYMB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset), - [TD_LSFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lshift_finished, lshift_reset), [TD_EE] = ACTION_TAP_DANCE_DOUBLE(BP_COMM, BP_EGRV), }; |