aboutsummaryrefslogtreecommitdiff
path: root/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@dailly.me>2024-04-12 22:44:05 +0200
committerSébastien Dailly <sebastien@dailly.me>2024-04-12 22:44:05 +0200
commit265fd6478f634895cb22488c42aa9eab50788cd8 (patch)
treec630060e8227770190d05d6139d5892bffc83473 /qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c
parentf8363576f7eaf92c9e4c3a6e9323fa2535eb4c88 (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.c57
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),
};