~ruther/qmk_firmware

1978007faefc0fb3af809ddf0d2ff1274e540570 — Ryan 2 years ago 83e8e58
Tap Dance: remove `qk_` prefix (#19313)

298 files changed, 1328 insertions(+), 1328 deletions(-)

M docs/feature_tap_dance.md
M keyboards/1k/keymaps/tap_dance/keymap.c
M keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
M keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c
M keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c
M keyboards/40percentclub/sixpack/keymaps/fkeys/keymap.c
M keyboards/9key/keymaps/tap_dance/keymap.c
M keyboards/adelheid/keymaps/floookay/keymap.c
M keyboards/arisu/keymaps/fate/keymap.c
M keyboards/atreus62/keymaps/194h/keymap.c
M keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c
M keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c
M keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
M keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c
M keyboards/contra/keymaps/erovia/keymap.c
M keyboards/contra/keymaps/ryanm101/keymap.c
M keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c
M keyboards/crkbd/keymaps/colemad/tap_dances.c
M keyboards/crkbd/keymaps/nimishgautam/keymap.c
M keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c
M keyboards/dz60/keymaps/LEdiodes/keymap.c
M keyboards/dz60/keymaps/jdelkins/keymap.c
M keyboards/emptystring/nqg/keymaps/default/keymap.c
M keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
M keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c
M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_setup.c
M keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
M keyboards/ergodox_ez/keymaps/pvinis/keymap.c
M keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c
M keyboards/ferris/keymaps/madhatter/keymap.c
M keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c
M keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c
M keyboards/gh60/satan/keymaps/dkrieger/keymap.c
M keyboards/gh60/satan/keymaps/lepa/keymap.c
M keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c
M keyboards/h0oni/deskpad/keymaps/default/keymap.c
M keyboards/h0oni/deskpad/keymaps/via/keymap.c
M keyboards/halokeys/elemental75/keymaps/default/keymap.c
M keyboards/halokeys/elemental75/keymaps/via/keymap.c
M keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c
M keyboards/handwired/concertina/64key/keymaps/default/keymap.c
M keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c
M keyboards/handwired/jscotto/scottocmd/keymaps/default/keymap.c
M keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c
M keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c
M keyboards/handwired/myskeeb/keymaps/default/keymap.c
M keyboards/handwired/onekey/keymaps/backlight/keymap.c
M keyboards/handwired/onekey/keymaps/oled/keymap.c
M keyboards/handwired/ortho5x14/keymaps/2u/keymap.c
M keyboards/handwired/ortho5x14/keymaps/default/keymap.c
M keyboards/handwired/ortho5x14/keymaps/split1/keymap.c
M keyboards/handwired/space_oddity/keymaps/default/keymap.c
M keyboards/hub16/keymaps/macro/keymap.c
M keyboards/hub20/keymaps/macro/keymap.c
M keyboards/idobao/id75/keymaps/egstad/keymap.c
M keyboards/jones/v03/keymaps/default_jp/keymap.c
M keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
M keyboards/jones/v03_1/keymaps/default_jp/keymap.c
M keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c
M keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
M keyboards/kbdfans/kbd75/keymaps/adamdehaven/keymap.c
M keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c
M keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/keymap.c
M keyboards/keebio/bdn9/keymaps/brandonschlack/keymap.c
M keyboards/keebio/bdn9/keymaps/eosti/keymap.c
M keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c
M keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c
M keyboards/keebio/iris/keymaps/adamgate/keymap.c
M keyboards/keebio/iris/keymaps/boo/keymap.c
M keyboards/keebio/iris/keymaps/davidrambo/keymap.c
M keyboards/keebio/iris/keymaps/khord/keymap.c
M keyboards/keebio/iris/keymaps/omgvee/keymap.c
M keyboards/keebio/iris/keymaps/sq5rix/keymap.c
M keyboards/keebio/iris/keymaps/two_knob/keymap.c
M keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c
M keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c
M keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c
M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_mac_caps.c
M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_mac_caps.h
M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_setup.c
M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_setup.h
M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_user.c
M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_win_caps.c
M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_win_caps.h
M keyboards/keyhive/navi10/keymaps/default/keymap.c
M keyboards/keyhive/navi10/keymaps/devdev/keymap.c
M keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c
M keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c
M keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c
M keyboards/kinesis/keymaps/farmergreg/keymap.c
M keyboards/kinesis/keymaps/insertsnideremarks/keymap.c
M keyboards/kinesis/keymaps/tuesdayjohn/keymap.c
M keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c
M keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c
M keyboards/knops/mini/keymaps/mverteuil/keymap.c
M keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c
M keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c
M keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c
M keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c
M keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c
M keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c
M keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c
M keyboards/kprepublic/jj40/keymaps/stevexyz/keymap.c
M keyboards/kprepublic/jj50/keymaps/archetype/keymap.c
M keyboards/late9/rev1/keymaps/multitap/keymap.c
M keyboards/lets_split/keymaps/adam/keymap.c
M keyboards/lets_split/keymaps/cpeters1982/keymap.c
M keyboards/lets_split/keymaps/geripgeri/keymap.c
M keyboards/lets_split/keymaps/heartrobotninja/keymap.c
M keyboards/lets_split/keymaps/khord/keymap.c
M keyboards/lets_split/keymaps/mbsurfer/keymap.c
M keyboards/lets_split/keymaps/tylerwince/keymap.c
M keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c
M keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c
M keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c
M keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c
M keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c
M keyboards/marksard/treadstone32/keymaps/default/keymap.c
M keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c
M keyboards/massdrop/alt/keymaps/jdelkins/keymap.c
M keyboards/massdrop/ctrl/keymaps/endgame/keymap.c
M keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c
M keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h
M keyboards/matrix/noah/keymaps/blockader/keymap.c
M keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c
M keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
M keyboards/mechwild/bde/lefty/keymaps/fancy/keymap.c
M keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
M keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c
M keyboards/minimacro5/keymaps/devdev/keymap.c
M keyboards/mt/mt980/keymaps/walker/keymap.c
M keyboards/nasu/keymaps/mariocs/keymap.c
M keyboards/numatreus/keymaps/like_jis/keymap.c
M keyboards/planck/keymaps/altgr/common/keycode_functions.h
M keyboards/planck/keymaps/ariccb/keymap.c
M keyboards/planck/keymaps/circuit/keymap.c
M keyboards/planck/keymaps/copface/keymap.c
M keyboards/planck/keymaps/corvec/tapdance.c
M keyboards/planck/keymaps/davidrambo/keymap.c
M keyboards/planck/keymaps/dc/keymap.c
M keyboards/planck/keymaps/dodger/keymap.c
M keyboards/planck/keymaps/dr_notsokind/keymap.c
M keyboards/planck/keymaps/dvorak2space/keymap.c
M keyboards/planck/keymaps/hiea/common/keycode_functions.h
M keyboards/planck/keymaps/hieax/common/keycode_functions.h
M keyboards/planck/keymaps/jdelkins/keymap.c
M keyboards/planck/keymaps/jweickm/keymap.c
M keyboards/planck/keymaps/mjuma/keymap.c
M keyboards/planck/keymaps/roguepullrequest/keymap.c
M keyboards/planck/keymaps/rootiest/keymap.c
M keyboards/planck/keymaps/sdothum/common/keycode_functions.h
M keyboards/planck/keymaps/snowkuma/keymap.c
M keyboards/planck/keymaps/tylerwince/keymap.c
M keyboards/planck/keymaps/unagi/keymap.c
M keyboards/planck/keymaps/zach/zach_common_functions.c
M keyboards/preonic/keymaps/choromanski/keymap.c
M keyboards/preonic/keymaps/davidrambo/keymap.c
M keyboards/preonic/keymaps/egstad/keymap.c
M keyboards/preonic/keymaps/era1112/keymap.c
M keyboards/preonic/keymaps/mverteuil/keymap.c
M keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c
M keyboards/preonic/keymaps/zach/zach_common_functions.c
M keyboards/primekb/prime_e/keymaps/brandonschlack/keymap.c
M keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c
M keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c
M keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c
M keyboards/redox/keymaps/finex/keymap.c
M keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
M keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c
M keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c
M keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c
M keyboards/salicylic_acid3/ajisai74/keymaps/jis/keymap.c
M keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c
M keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c
M keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c
M keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c
M keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c
M keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c
M keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c
M keyboards/sofle/keymaps/flare576/keymap.c
M keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c
M keyboards/spaceman/2_milk/keymaps/emoji/keymap.c
M keyboards/spacetime/keymaps/kyleterry/keymap.c
M keyboards/splitkb/kyria/keymaps/artflag/keymap.c
M keyboards/splitkb/kyria/keymaps/lms_ace01/keymap.c
M keyboards/tada68/keymaps/abishalom/keymap.c
M keyboards/tada68/keymaps/sm0g/keymap.c
M keyboards/tada68/keymaps/trashcat/keymap.c
M keyboards/the_royal/liminal/keymaps/default/keymap.c
M keyboards/the_royal/liminal/keymaps/default_iso/keymap.c
M keyboards/the_royal/schwann/keymaps/default/keymap.c
M keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c
M keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c
M keyboards/tunks/ergo33/keymaps/prpro/keymap.c
M keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c
M keyboards/unikeyboard/diverge3/keymaps/default/keymap.c
M keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/keymap.c
M keyboards/woodkeys/bigseries/1key/keymaps/leddance/keymap.c
M keyboards/work_louder/work_board/keymaps/default/keymap.c
M keyboards/work_louder/work_board/keymaps/via/keymap.c
M keyboards/wsk/gothic50/keymaps/default/keymap.c
M keyboards/wsk/gothic70/keymaps/default/keymap.c
M keyboards/xiudi/xd002/keymaps/tap_dance/keymap.c
M keyboards/xiudi/xd60/keymaps/Jos/keymap.c
M keyboards/xiudi/xd75/keymaps/davidrambo/keymap.c
M keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/keymap.c
M keyboards/xiudi/xd75/keymaps/germanized/keymap.c
M keyboards/xiudi/xd75/keymaps/hybrid/keymap.c
M keyboards/xiudi/xd75/keymaps/odyssey/keymap.c
M keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c
M keyboards/yatara/drink_me/keymaps/queen/keymap.c
M keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c
M keyboards/zfrontier/big_switch/keymaps/longtap/keymap.c
M layouts/community/ergodox/belak/keymap.c
M layouts/community/ergodox/haegin/keymap.c
M layouts/community/ergodox/meagerfindings/keymap.c
M layouts/community/ergodox/videck/keymap.c
M layouts/community/ortho_5x12/riblee/keymap.c
M quantum/process_keycode/process_tap_dance.c
M quantum/process_keycode/process_tap_dance.h
M tests/tap_dance/examples.c
M tests/tap_dance/tap_dance_layers/tap_dance_defs.c
M users/333fred/333fred.c
M users/333fred/333fred.h
M users/billypython/tap_dance.c
M users/brandonschlack/tap_dances.c
M users/brandonschlack/tap_dances.h
M users/curry/tap_dances.c
M users/d4mation/tap-dance.c
M users/danielo515/tap_dance.c
M users/danielo515/tap_dance.h
M users/draevin/draevin.c
M users/drashna/keyrecords/tap_dance.md
M users/drashna/keyrecords/tap_dances.c
M users/dvorak_42_key/dvorak_42_key.c
M users/edvorakjp/edvorakjp_tap_dance.c
M users/ericgebhart/extensions/keycodes.h
M users/ericgebhart/extensions/tap_dances.c
M users/greatwizard/tap_dances.c
M users/greatwizard/tap_dances.h
M users/hvp/tap_dances.c
M users/imchipwood/imchipwood.c
M users/imchipwood/imchipwood.h
M users/jdelkins/jdelkins.c
M users/jdelkins/jdelkins.h
M users/jonavin/jonavin.c
M users/klackygears/tap_dances.c
M users/konstantin/tap_dance.c
M users/kuatsure/kuatsure.c
M users/kuchosauronad0/tap_dances.c
M users/kuchosauronad0/tap_dances.h
M users/losinggeneration/losinggeneration-keymap.h
M users/manna-harbour_miryoku/manna-harbour_miryoku.c
M users/mnil/mnil.c
M users/muppetjones/features/dancelayers.c
M users/muppetjones/features/dancelayers.h
M users/ninjonas/tap_dances.c
M users/nstickney/nstickney.c
M users/pvinis/pvinis.c
M users/riblee/riblee.c
M users/riblee/riblee.h
M users/ridingqwerty/tapdances.c
M users/rmeli/keyrecords/tap_dances.c
M users/rmeli/keyrecords/tap_dances.h
M users/rmw/tapdances.c
M users/rmw/tapdances.h
M users/romus/romus.c
M users/sethBarberee/tap_dance.c
M users/stanrc85/stanrc85.c
M users/stanrc85/stanrc85.h
M users/talljoe/tapdance/actions/td.function.c
M users/talljoe/tapdance/actions/td.grave.c
M users/talljoe/tapdance/actions/td.lock.c
M users/talljoe/tapdance/actions/td.semicolon.c
M users/talljoe/tapdance/tapdance_actions.c
M users/talljoe/tapdance/td_setup.c
M users/talljoe/tapdance/td_setup.h
M users/tominabox1/tominabox1.c
M users/wanleg/tapdances.c
M users/xulkal/custom_tap_dance.c
M users/yet-another-developer/tap_dances.c
M users/yet-another-developer/tap_dances.h
M users/zer09/tap_dance.c
M users/zer09/tap_dance.h
M users/zigotica/tapdances.c
M users/zyber/zyber.c
M users/zyber/zyber.h
M docs/feature_tap_dance.md => docs/feature_tap_dance.md +32 -32
@@ 64,7 64,7 @@ enum {
};

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Escape, twice for Caps Lock
    [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
};


@@ 96,14 96,14 @@ enum {
#### Example 1: Send "Safety Dance!" After 100 Taps :id=example-1

```c
void dance_egg(qk_tap_dance_state_t *state, void *user_data) {
void dance_egg(tap_dance_state_t *state, void *user_data) {
    if (state->count >= 100) {
        SEND_STRING("Safety dance!");
        reset_tap_dance(state);
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [CT_EGG] = ACTION_TAP_DANCE_FN(dance_egg),
};
```


@@ 113,7 113,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
```c
// On each tap, light up one LED, from right to left
// On the fourth tap, turn them off from right to left
void dance_flsh_each(qk_tap_dance_state_t *state, void *user_data) {
void dance_flsh_each(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:
            ergodox_right_led_3_on();


@@ 134,14 134,14 @@ void dance_flsh_each(qk_tap_dance_state_t *state, void *user_data) {
}

// On the fourth tap, set the keyboard on flash state
void dance_flsh_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_flsh_finished(tap_dance_state_t *state, void *user_data) {
    if (state->count >= 4) {
        reset_keyboard();
    }
}

// If the flash state didn't happen, then turn off LEDs, left to right
void dance_flsh_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_flsh_reset(tap_dance_state_t *state, void *user_data) {
    ergodox_right_led_1_off();
    wait_ms(50);
    ergodox_right_led_2_off();


@@ 150,7 150,7 @@ void dance_flsh_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// All tap dances now put together. Example 2 is "CT_FLSH"
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
    [CT_EGG] = ACTION_TAP_DANCE_FN(dance_egg),
    [CT_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED(dance_flsh_each, dance_flsh_finished, dance_flsh_reset)


@@ 169,7 169,7 @@ typedef struct {
} tap_dance_tap_hold_t;

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    qk_tap_dance_action_t *action;
    tap_dance_action_t *action;

    switch (keycode) {
        case TD(CT_CLN):  // list all tap dance keycodes with tap-hold configurations


@@ 182,7 182,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    return true;
}

void tap_dance_tap_hold_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_tap_hold_finished(tap_dance_state_t *state, void *user_data) {
    tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data;

    if (state->pressed) {


@@ 200,7 200,7 @@ void tap_dance_tap_hold_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void tap_dance_tap_hold_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_tap_hold_reset(tap_dance_state_t *state, void *user_data) {
    tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data;

    if (tap_hold->held) {


@@ 212,7 212,7 @@ void tap_dance_tap_hold_reset(qk_tap_dance_state_t *state, void *user_data) {
#define ACTION_TAP_DANCE_TAP_HOLD(tap, hold) \
    { .fn = {NULL, tap_dance_tap_hold_finished, tap_dance_tap_hold_reset}, .user_data = (void *)&((tap_dance_tap_hold_t){tap, hold, 0}), }

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [CT_CLN] = ACTION_TAP_DANCE_TAP_HOLD(KC_COLN, KC_SCLN),
};
```


@@ 256,11 256,11 @@ enum {
    SOME_OTHER_DANCE
};

td_state_t cur_dance(qk_tap_dance_state_t *state);
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 x_finished(qk_tap_dance_state_t *state, void *user_data);
void x_reset(qk_tap_dance_state_t *state, void *user_data);
void x_finished(tap_dance_state_t *state, void *user_data);
void x_reset(tap_dance_state_t *state, void *user_data);
```

Now, at the bottom of your `keymap.c` file, you'll need to add the following: 


@@ 293,7 293,7 @@ Now, at the bottom of your `keymap.c` file, you'll need to add the following:
 * For the third point, there does exist the 'TD_DOUBLE_SINGLE_TAP', however this is not fully tested
 *
 */
td_state_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
        // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'.


@@ 322,7 322,7 @@ static td_tap_t xtap_state = {
    .state = TD_NONE
};

void x_finished(qk_tap_dance_state_t *state, void *user_data) {
void x_finished(tap_dance_state_t *state, void *user_data) {
    xtap_state.state = cur_dance(state);
    switch (xtap_state.state) {
        case TD_SINGLE_TAP: register_code(KC_X); break;


@@ 337,7 337,7 @@ void x_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void x_reset(qk_tap_dance_state_t *state, void *user_data) {
void x_reset(tap_dance_state_t *state, void *user_data) {
    switch (xtap_state.state) {
        case TD_SINGLE_TAP: unregister_code(KC_X); break;
        case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break;


@@ 349,7 349,7 @@ void x_reset(qk_tap_dance_state_t *state, void *user_data) {
    xtap_state.state = TD_NONE;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [X_CTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, x_finished, x_reset)
};
```


@@ 385,18 385,18 @@ static td_state_t td_state;
// Declare your tapdance functions:

// Function to determine the current tapdance state
td_state_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(tap_dance_state_t *state);

// `finished` and `reset` functions for each tapdance keycode
void altlp_finished(qk_tap_dance_state_t *state, void *user_data);
void altlp_reset(qk_tap_dance_state_t *state, void *user_data);
void altlp_finished(tap_dance_state_t *state, void *user_data);
void altlp_reset(tap_dance_state_t *state, void *user_data);
```

Below your `LAYOUT`, define each of the tapdance functions:

```c
// Determine the tapdance state to return
td_state_t cur_dance(qk_tap_dance_state_t *state) {
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;


@@ 408,7 408,7 @@ td_state_t cur_dance(qk_tap_dance_state_t *state) {

// Handle the possible states for each tapdance keycode you define:

void altlp_finished(qk_tap_dance_state_t *state, void *user_data) {
void altlp_finished(tap_dance_state_t *state, void *user_data) {
    td_state = cur_dance(state);
    switch (td_state) {
        case TD_SINGLE_TAP:


@@ 426,7 426,7 @@ void altlp_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void altlp_reset(qk_tap_dance_state_t *state, void *user_data) {
void altlp_reset(tap_dance_state_t *state, void *user_data) {
    switch (td_state) {
        case TD_SINGLE_TAP:
            unregister_code16(KC_LPRN);


@@ 443,7 443,7 @@ void altlp_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Define `ACTION_TAP_DANCE_FN_ADVANCED()` for each tapdance keycode, passing in `finished` and `reset` functions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [ALT_LP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altlp_finished, altlp_reset)
};
```


@@ 478,18 478,18 @@ enum {
// Declare the functions to be used with your tap dance key(s)

// Function associated with all tap dances
td_state_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(tap_dance_state_t *state);

// Functions associated with individual tap dances
void ql_finished(qk_tap_dance_state_t *state, void *user_data);
void ql_reset(qk_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);
```

Towards the bottom of your `keymap.c`, include the following code:

```c
// Determine the current tap dance state
td_state_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (!state->pressed) return TD_SINGLE_TAP;
        else return TD_SINGLE_HOLD;


@@ 504,7 504,7 @@ static td_tap_t ql_tap_state = {
};

// Functions that control what our tap dance key does
void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
void ql_finished(tap_dance_state_t *state, void *user_data) {
    ql_tap_state.state = cur_dance(state);
    switch (ql_tap_state.state) {
        case TD_SINGLE_TAP:


@@ 528,7 528,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
void ql_reset(tap_dance_state_t *state, void *user_data) {
    // If the key was held down and now is released then switch off the layer
    if (ql_tap_state.state == TD_SINGLE_HOLD) {
        layer_off(_MY_LAYER);


@@ 537,7 537,7 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Associate our tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [QUOT_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset)
};


M keyboards/1k/keymaps/tap_dance/keymap.c => keyboards/1k/keymaps/tap_dance/keymap.c +1 -1
@@ 11,7 11,7 @@ enum {
  TD_AB = 0
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_AB]  = ACTION_TAP_DANCE_DOUBLE(KC_A, KC_B)
};


M keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c => keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c +5 -5
@@ 155,32 155,32 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {


/* tap dance time */
void tdexample1(qk_tap_dance_state_t *state, void *user_data) {
void tdexample1(tap_dance_state_t *state, void *user_data) {
  if (state->count >= 2) {
    SEND_STRING(EXAMPLESTRING1);
    reset_tap_dance (state);
  }
}
void tdexample2(qk_tap_dance_state_t *state, void *user_data) {
void tdexample2(tap_dance_state_t *state, void *user_data) {
  if (state->count >= 2) {
    SEND_STRING(EXAMPLESTRING2);
    reset_tap_dance (state);
  }
}
void tdexample3(qk_tap_dance_state_t *state, void *user_data) {
void tdexample3(tap_dance_state_t *state, void *user_data) {
  if (state->count >= 2) {
    SEND_STRING(EXAMPLESTRING3);
    reset_tap_dance (state);
  }
}
void tdexample4(qk_tap_dance_state_t *state, void *user_data) {
void tdexample4(tap_dance_state_t *state, void *user_data) {
  if (state->count >= 2) {
    SEND_STRING(EXAMPLESTRING4);
    reset_tap_dance (state);
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_EXAMPLE1] = ACTION_TAP_DANCE_FN(tdexample1),
    [TD_EXAMPLE2] = ACTION_TAP_DANCE_FN(tdexample2),
    [TD_EXAMPLE3] = ACTION_TAP_DANCE_FN(tdexample3),

M keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c => keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c +1 -1
@@ 203,7 203,7 @@ void matrix_scan_user(void) {
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Esc, twice for Caps Lock
  [TD_Z_LCTL]  = ACTION_TAP_DANCE_DOUBLE(KC_Z, KC_LCTL),
  [TD_X_LGUI]  = ACTION_TAP_DANCE_DOUBLE(KC_X, KC_LGUI),

M keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c => keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c +3 -3
@@ 108,7 108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	)
};

void tap_dance_choose_layer (qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_choose_layer (tap_dance_state_t *state, void *user_data) {
	switch (state->count) {
		case 1:
			layer_on(_LOWER);


@@ 119,7 119,7 @@ void tap_dance_choose_layer (qk_tap_dance_state_t *state, void *user_data) {
	}
}

void tap_dance_choose_layer_reset (qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_choose_layer_reset (tap_dance_state_t *state, void *user_data) {
	switch (state->count) {
		case 1:
			layer_off(_LOWER);


@@ 138,7 138,7 @@ void tap_dance_choose_layer_reset (qk_tap_dance_state_t *state, void *user_data)
	}
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
	[TD_SWAP_LAYERS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_dance_choose_layer, tap_dance_choose_layer_reset)
};


M keyboards/40percentclub/sixpack/keymaps/fkeys/keymap.c => keyboards/40percentclub/sixpack/keymaps/fkeys/keymap.c +1 -1
@@ 26,7 26,7 @@ enum {
};

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for F13 to F18, twice for F19 to F24
    [F13F19] = ACTION_TAP_DANCE_DOUBLE(KC_F13, KC_F19), [F14F20] = ACTION_TAP_DANCE_DOUBLE(KC_F14, KC_F20), [F15F21] = ACTION_TAP_DANCE_DOUBLE(KC_F15, KC_F21),
    [F16F22] = ACTION_TAP_DANCE_DOUBLE(KC_F16, KC_F22), [F17F23] = ACTION_TAP_DANCE_DOUBLE(KC_F17, KC_F23), [F18F24] = ACTION_TAP_DANCE_DOUBLE(KC_F18, KC_F24)

M keyboards/9key/keymaps/tap_dance/keymap.c => keyboards/9key/keymaps/tap_dance/keymap.c +1 -1
@@ 45,7 45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [ENT_5] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_ENT),
  [ZERO_7] = ACTION_TAP_DANCE_DOUBLE(KC_7, KC_0)
};

M keyboards/adelheid/keymaps/floookay/keymap.c => keyboards/adelheid/keymaps/floookay/keymap.c +1 -1
@@ 64,7 64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {


// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for first parameter, twice for second
    [_TD_CTGU] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, KC_LGUI),
    [_TD_PGUP] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, LCTL(KC_PGUP)),

M keyboards/arisu/keymaps/fate/keymap.c => keyboards/arisu/keymaps/fate/keymap.c +1 -1
@@ 59,7 59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for L-Alt, twice for L-GUI
    [TD_LALT_LGUI] = ACTION_TAP_DANCE_DOUBLE(KC_LALT, KC_LGUI),
    // Tap once for R-Alt, twice for R-GUI

M keyboards/atreus62/keymaps/194h/keymap.c => keyboards/atreus62/keymaps/194h/keymap.c +1 -1
@@ 84,7 84,7 @@ enum {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for semicolon, twice for ø
  [SCLN_OE] = ACTION_TAP_DANCE_DOUBLE(NO_SCLN, NO_OE),
  //Tap once for single quote, twice for æ

M keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c => keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c +1 -1
@@ 101,7 101,7 @@ enum dances {
    TD_DASH_USCR,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Shift, twice for Caps Lock
    [TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
    [TD_COM_SCL]   = ACTION_TAP_DANCE_DOUBLE(KC_COMM, SE_SCLN),

M keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c => keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c +1 -1
@@ 45,7 45,7 @@ enum tapdances{
  TD_ESQW,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
  [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c => keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c +1 -1
@@ 38,7 38,7 @@ enum tapdances{
  TD_ESQW,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
  [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c => keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c +1 -1
@@ 112,7 112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  _______,_______,_______,                        _______,                        _______,_______,_______,_______,  _______,_______,_______),
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  /* Tap once: nothing. Tap twice: Alt+F4 */
  [AF4]  = ACTION_TAP_DANCE_DOUBLE(XXXXXXX,A(F4)),
};

M keyboards/contra/keymaps/erovia/keymap.c => keyboards/contra/keymaps/erovia/keymap.c +1 -1
@@ 22,7 22,7 @@ enum {
  TD_SPACE_CADET_ENTER = 1
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SPACE_CADET_SHIFT] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_LPRN),
  [TD_SPACE_CADET_ENTER] = ACTION_TAP_DANCE_DOUBLE(KC_ENT, KC_RPRN)
};

M keyboards/contra/keymaps/ryanm101/keymap.c => keyboards/contra/keymaps/ryanm101/keymap.c +9 -9
@@ 141,7 141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Parantheses
void paranthesis_dance (qk_tap_dance_state_t *state, void *user_data) {
void paranthesis_dance (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    SEND_STRING("()"); register_code(KC_LEFT); unregister_code(KC_LEFT);
  } else if (state->count == 2) {


@@ 151,7 151,7 @@ void paranthesis_dance (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void curly_dance (qk_tap_dance_state_t *state, void *user_data) {
void curly_dance (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    SEND_STRING("{}"); register_code(KC_LEFT); unregister_code(KC_LEFT);
  } else if (state->count == 2) {


@@ 161,7 161,7 @@ void curly_dance (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void square_dance (qk_tap_dance_state_t *state, void *user_data) {
void square_dance (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    SEND_STRING("[]"); register_code(KC_LEFT); unregister_code(KC_LEFT);
  } else if (state->count == 2) {


@@ 171,7 171,7 @@ void square_dance (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void angular_dance (qk_tap_dance_state_t *state, void *user_data) {
void angular_dance (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    SEND_STRING("<>"); register_code(KC_LEFT); unregister_code(KC_LEFT);
  } else if (state->count == 2) {


@@ 181,7 181,7 @@ void angular_dance (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void tmux_dance (qk_tap_dance_state_t *state, void *user_data) {
void tmux_dance (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    SEND_STRING("tmux"); register_code(KC_ENT); unregister_code(KC_ENT);
  } else if (state->count == 2) {


@@ 194,7 194,7 @@ void tmux_dance (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void cmd_dance (qk_tap_dance_state_t *state, void *user_data) {
void cmd_dance (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    register_mods(MOD_BIT(KC_LCTL));
    register_mods(MOD_BIT(KC_LALT));


@@ 219,7 219,7 @@ void cmd_dance (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void cmd_sft_slash_pipe_down (qk_tap_dance_state_t *state, void *user_data) {
void cmd_sft_slash_pipe_down (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    if (state->interrupted || state->pressed==0) {
      register_code (KC_NONUS_BACKSLASH);


@@ 232,7 232,7 @@ void cmd_sft_slash_pipe_down (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void cmd_sft_slash_pipe_up (qk_tap_dance_state_t *state, void *user_data) {
void cmd_sft_slash_pipe_up (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    if (keyboard_report->mods & MOD_BIT(KC_LSFT)) {
      unregister_code (KC_LSFT);


@@ 246,7 246,7 @@ void cmd_sft_slash_pipe_up (qk_tap_dance_state_t *state, void *user_data) {
}

 //All tap dance functions would go here. Only showing this one.
 qk_tap_dance_action_t tap_dance_actions[] = {
 tap_dance_action_t tap_dance_actions[] = {
   [CLN] = ACTION_TAP_DANCE_DOUBLE (KC_SCLN, S(KC_SCLN ))
   ,[QUOT] = ACTION_TAP_DANCE_DOUBLE (KC_QUOT, S(KC_2))
   ,[CAD_CAE] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, cmd_dance )

M keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c => keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c +8 -8
@@ 31,7 31,7 @@ static int espc_r_tap_state   = 0;
static int scln_cln_tap_state = 0;

// Watch the state of the tap dance
int cur_dance(qk_tap_dance_state_t *state) {
int cur_dance(tap_dance_state_t *state) {
    if (state->pressed) {
        return SINGLE_HOLD;
    }


@@ 49,7 49,7 @@ int cur_dance(qk_tap_dance_state_t *state) {
}

// Extended Space Cadet Shift - Left ==================================
void espc_l_finished(qk_tap_dance_state_t *state, void *user_data) {
void espc_l_finished(tap_dance_state_t *state, void *user_data) {
    espc_l_tap_state = cur_dance(state);
    switch (espc_l_tap_state) {
        case SINGLE_TAP:  // (


@@ 69,7 69,7 @@ void espc_l_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void espc_l_reset(qk_tap_dance_state_t *state, void *user_data) {
void espc_l_reset(tap_dance_state_t *state, void *user_data) {
    switch (espc_l_tap_state) {
        case SINGLE_TAP:  // (
            unregister_code16(LSFT(KC_9));


@@ 89,7 89,7 @@ void espc_l_reset(qk_tap_dance_state_t *state, void *user_data) {
// ====================================================================//

// Extended Space Cadet Shift - Right ==================================
void espc_r_finished(qk_tap_dance_state_t *state, void *user_data) {
void espc_r_finished(tap_dance_state_t *state, void *user_data) {
    espc_r_tap_state = cur_dance(state);
    switch (espc_r_tap_state) {
        case SINGLE_TAP:  // )


@@ 109,7 109,7 @@ void espc_r_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void espc_r_reset(qk_tap_dance_state_t *state, void *user_data) {
void espc_r_reset(tap_dance_state_t *state, void *user_data) {
    switch (espc_r_tap_state) {
        case SINGLE_TAP:  // )
            unregister_code16(LSFT(KC_0));


@@ 129,7 129,7 @@ void espc_r_reset(qk_tap_dance_state_t *state, void *user_data) {
// ====================================================================//

// Semicolon - Colon ==================================================
void scln_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
void scln_cln_finished(tap_dance_state_t *state, void *user_data) {
    scln_cln_tap_state = cur_dance(state);
    switch (scln_cln_tap_state) {
        case SINGLE_TAP:  // ;


@@ 141,7 141,7 @@ void scln_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void scln_cln_reset(qk_tap_dance_state_t *state, void *user_data) {
void scln_cln_reset(tap_dance_state_t *state, void *user_data) {
    switch (scln_cln_tap_state) {
        case SINGLE_TAP:  // ;
            unregister_code16(KC_SCLN);


@@ 154,7 154,7 @@ void scln_cln_reset(qk_tap_dance_state_t *state, void *user_data) {
// ====================================================================//

// Associate tap dance with defined functionality
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Extended space cadet shift left: Hold - Shift, One - (, Two - {, Three - [
    [ESPC_L] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, espc_l_finished, espc_l_reset),
    // Extended space cadet shift right: Hold - Shift, One - ), Two - }, Three - ]

M keyboards/crkbd/keymaps/colemad/tap_dances.c => keyboards/crkbd/keymaps/colemad/tap_dances.c +1 -1
@@ 2,6 2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "tap_dances.h"

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
};

M keyboards/crkbd/keymaps/nimishgautam/keymap.c => keyboards/crkbd/keymaps/nimishgautam/keymap.c +3 -3
@@ 375,7 375,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  return true;
}

void dance_left_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_left_finished (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) { //1 tap, move to line left
    keymap_config.raw = eeconfig_read_keymap();
    if(keymap_config.swap_lctl_lgui){ //Linux


@@ 388,7 388,7 @@ void dance_left_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_right_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_right_finished (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) { // 1 tap, move line right
       keymap_config.raw = eeconfig_read_keymap();
    if(keymap_config.swap_lctl_lgui){ //Linux


@@ 402,7 402,7 @@ void dance_right_finished (qk_tap_dance_state_t *state, void *user_data) {
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_MOVE_BEGIN_LINE]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_left_finished, NULL),
  [TD_MOVE_END_LINE]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_right_finished, NULL),
  [TD_PERIOD_COMMA] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_COMMA),

M keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c => keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c +1 -1
@@ 4,7 4,7 @@
#include QMK_KEYBOARD_H
#include "tap_dances.h"

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_ESC_CAPS]     = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
    [TD_TAB_CTRLTAB]  = ACTION_TAP_DANCE_DOUBLE(KC_TAB, LCTL(KC_TAB)),
    [TD_GRV_CTRLGRV]  = ACTION_TAP_DANCE_DOUBLE(KC_GRV, LGUI(KC_GRV)),

M keyboards/dz60/keymaps/LEdiodes/keymap.c => keyboards/dz60/keymaps/LEdiodes/keymap.c +1 -1
@@ 101,7 101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {

  //Tap once for space, tap twice for enter
  [TD_SPC_ENT]  = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT),

M keyboards/dz60/keymaps/jdelkins/keymap.c => keyboards/dz60/keymaps/jdelkins/keymap.c +6 -6
@@ 35,7 35,7 @@ enum {

int ctl_state = 0;

void ctl_finished(qk_tap_dance_state_t *state, void *user_data) {
void ctl_finished(tap_dance_state_t *state, void *user_data) {
    ctl_state = cur_dance(state);
    switch (ctl_state) {
        case SINGLE_TAP:    leader_start(); break;


@@ 47,7 47,7 @@ void ctl_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ctl_reset(qk_tap_dance_state_t *state, void *user_data) {
void ctl_reset(tap_dance_state_t *state, void *user_data) {
    switch (ctl_state) {
        case SINGLE_HOLD:   unregister_code(KC_LCTL); break;
        case DOUBLE_HOLD:


@@ 56,7 56,7 @@ void ctl_reset(qk_tap_dance_state_t *state, void *user_data) {
    ctl_state = 0;
}

void g_finished(qk_tap_dance_state_t *state, void *user_data) {
void g_finished(tap_dance_state_t *state, void *user_data) {
    switch (cur_dance(state)) {
        case SINGLE_TAP:
            tap_code16(C(KC_END));


@@ 69,7 69,7 @@ void g_finished(qk_tap_dance_state_t *state, void *user_data) {

int kp_state = 0;

void kp_finished(qk_tap_dance_state_t *state, void *user_data) {
void kp_finished(tap_dance_state_t *state, void *user_data) {
    kp_state = hold_cur_dance(state);
    switch (kp_state) {
        case SINGLE_TAP:


@@ 81,7 81,7 @@ void kp_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void kp_reset(qk_tap_dance_state_t *state, void *user_data) {
void kp_reset(tap_dance_state_t *state, void *user_data) {
    switch (kp_state) {
        case SINGLE_HOLD:
        case DOUBLE_HOLD:


@@ 97,7 97,7 @@ enum {
    TD_KP,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LDCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctl_finished, ctl_reset),
    [TD_G]     = ACTION_TAP_DANCE_FN_ADVANCED(NULL, g_finished, NULL),
    [TD_KP]    = ACTION_TAP_DANCE_FN_ADVANCED(NULL, kp_finished, kp_reset),

M keyboards/emptystring/nqg/keymaps/default/keymap.c => keyboards/emptystring/nqg/keymaps/default/keymap.c +1 -1
@@ 29,7 29,7 @@ enum tapdances{
#define KC_ESLO LT(_LOWER, KC_ESC)


qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SCCL] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_QUOT),
  [TD_ENSL] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ENT),
  [TD_N0BS] = ACTION_TAP_DANCE_DOUBLE(KC_0, KC_BSLS),

M keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c => keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c +2 -2
@@ 196,7 196,7 @@ layer_state_t layer_state_set_user(layer_state_t state);
// Method called at the end of the tap dance on the TAP_MACRO key. That key is
// used to start recording a macro (double tap or more), to stop recording (any
// number of tap), or to play the recorded macro (1 tap).
void macro_tapdance_fn(qk_tap_dance_state_t *state, void *user_data) {
void macro_tapdance_fn(tap_dance_state_t *state, void *user_data) {
  uint16_t keycode;
  keyrecord_t record;
  dprintf("macro_tap_dance_fn %d\n", state->count);


@@ 219,7 219,7 @@ void macro_tapdance_fn(qk_tap_dance_state_t *state, void *user_data) {
}

// The definition of the tap dance actions:
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  // This Tap dance plays the macro 1 on TAP and records it on double tap.
  [TAP_MACRO] = ACTION_TAP_DANCE_FN(macro_tapdance_fn),
};

M keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c => keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c +2 -2
@@ 104,7 104,7 @@ layer_state_t layer_state_set_user(layer_state_t state);
// Method called at the end of the tap dance on the TAP_MACRO key. That key is
// used to start recording a macro (double tap or more), to stop recording (any
// number of tap), or to play the recorded macro (1 tap).
void macro_tapdance_fn(qk_tap_dance_state_t *state, void *user_data) {
void macro_tapdance_fn(tap_dance_state_t *state, void *user_data) {
  uint16_t keycode;
  keyrecord_t record;
  dprintf("macro_tap_dance_fn %d\n", state->count);


@@ 127,7 127,7 @@ void macro_tapdance_fn(qk_tap_dance_state_t *state, void *user_data) {
}

// The definition of the tap dance actions:
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  // This Tap dance plays the macro 1 on TAP and records it on double tap.
  [TAP_MACRO] = ACTION_TAP_DANCE_FN(macro_tapdance_fn)
};

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c +2 -2
@@ 4,7 4,7 @@ static tap dot_comm_state = {
    .state           = 0
};

void dot_comm_finished(qk_tap_dance_state_t *state, void *user_data) {
void dot_comm_finished(tap_dance_state_t *state, void *user_data) {
    dot_comm_state.state = current_dance(state);
    switch (dot_comm_state.state) {
        case SINGLE_TAP:


@@ 22,7 22,7 @@ void dot_comm_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dot_comm_reset(qk_tap_dance_state_t *state, void *user_data) {
void dot_comm_reset(tap_dance_state_t *state, void *user_data) {
    switch (dot_comm_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_DOT);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c +2 -2
@@ 4,7 4,7 @@ static tap h_mouse_gui_state = {
    .state           = 0
};

void h_mouse_gui_finished(qk_tap_dance_state_t *state, void *user_data) {
void h_mouse_gui_finished(tap_dance_state_t *state, void *user_data) {
    h_mouse_gui_state.state = current_dance(state);
    switch (h_mouse_gui_state.state) {
        case SINGLE_TAP:


@@ 21,7 21,7 @@ void h_mouse_gui_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void h_mouse_gui_reset(qk_tap_dance_state_t *state, void *user_data) {
void h_mouse_gui_reset(tap_dance_state_t *state, void *user_data) {
    switch (h_mouse_gui_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_H);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c +2 -2
@@ 4,7 4,7 @@ static tap j_media_meh_state = {
    .state           = 0
};

void j_media_meh_finished(qk_tap_dance_state_t *state, void *user_data) {
void j_media_meh_finished(tap_dance_state_t *state, void *user_data) {
    j_media_meh_state.state = current_dance(state);
    switch (j_media_meh_state.state) {
        case SINGLE_TAP:


@@ 23,7 23,7 @@ void j_media_meh_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void j_media_meh_reset(qk_tap_dance_state_t *state, void *user_data) {
void j_media_meh_reset(tap_dance_state_t *state, void *user_data) {
    switch (j_media_meh_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_J);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c +2 -2
@@ 4,7 4,7 @@ static tap k_numpad_hyper_state = {
    .state           = 0
};

void k_numpad_hyper_finished(qk_tap_dance_state_t *state, void *user_data) {
void k_numpad_hyper_finished(tap_dance_state_t *state, void *user_data) {
    k_numpad_hyper_state.state = current_dance(state);
    switch (k_numpad_hyper_state.state) {
        case SINGLE_TAP:


@@ 24,7 24,7 @@ void k_numpad_hyper_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void k_numpad_hyper_reset(qk_tap_dance_state_t *state, void *user_data) {
void k_numpad_hyper_reset(tap_dance_state_t *state, void *user_data) {
    switch (k_numpad_hyper_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_K);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c +2 -2
@@ 4,7 4,7 @@ static tap m_chords_hyper_state = {
    .state           = 0
};

void m_chords_hyper_finished(qk_tap_dance_state_t *state, void *user_data) {
void m_chords_hyper_finished(tap_dance_state_t *state, void *user_data) {
    m_chords_hyper_state.state = current_dance(state);
    switch (m_chords_hyper_state.state) {
        case SINGLE_TAP:


@@ 24,7 24,7 @@ void m_chords_hyper_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void m_chords_hyper_reset(qk_tap_dance_state_t *state, void *user_data) {
void m_chords_hyper_reset(tap_dance_state_t *state, void *user_data) {
    switch (m_chords_hyper_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_M);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c +2 -2
@@ 4,7 4,7 @@ static tap none_lead_state = {
    .state           = 0
};

void none_lead_finished(qk_tap_dance_state_t *state, void *user_data) {
void none_lead_finished(tap_dance_state_t *state, void *user_data) {
    none_lead_state.state = current_dance(state);
    switch (none_lead_state.state) {
        case SINGLE_TAP:


@@ 22,7 22,7 @@ void none_lead_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void none_lead_reset(qk_tap_dance_state_t *state, void *user_data) {
void none_lead_reset(tap_dance_state_t *state, void *user_data) {
    switch (none_lead_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_NO);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c +2 -2
@@ 4,7 4,7 @@ static tap quot_dquot_state = {
    .state           = 0
};

void quot_dquot_finished(qk_tap_dance_state_t *state, void *user_data) {
void quot_dquot_finished(tap_dance_state_t *state, void *user_data) {
    quot_dquot_state.state = current_dance(state);
    switch (quot_dquot_state.state) {
        case SINGLE_TAP:


@@ 22,7 22,7 @@ void quot_dquot_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void quot_dquot_reset(qk_tap_dance_state_t *state, void *user_data) {
void quot_dquot_reset(tap_dance_state_t *state, void *user_data) {
    switch (quot_dquot_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_QUOT);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c +2 -2
@@ 4,7 4,7 @@ static tap scln_coln_state = {
    .state           = 0
};

void scln_coln_finished(qk_tap_dance_state_t *state, void *user_data) {
void scln_coln_finished(tap_dance_state_t *state, void *user_data) {
    scln_coln_state.state = current_dance(state);
    switch (scln_coln_state.state) {
        case SINGLE_TAP:


@@ 23,7 23,7 @@ void scln_coln_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void scln_coln_reset(qk_tap_dance_state_t *state, void *user_data) {
void scln_coln_reset(tap_dance_state_t *state, void *user_data) {
    switch (scln_coln_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_SCLN);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c +2 -2
@@ 4,7 4,7 @@ static tap u_arrows_gui_state = {
    .state           = 0
};

void u_arrows_gui_finished(qk_tap_dance_state_t *state, void *user_data) {
void u_arrows_gui_finished(tap_dance_state_t *state, void *user_data) {
    u_arrows_gui_state.state = current_dance(state);
    switch (u_arrows_gui_state.state) {
        case SINGLE_TAP:


@@ 21,7 21,7 @@ void u_arrows_gui_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void u_arrows_gui_reset(qk_tap_dance_state_t *state, void *user_data) {
void u_arrows_gui_reset(tap_dance_state_t *state, void *user_data) {
    switch (u_arrows_gui_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_U);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c +2 -2
@@ 4,7 4,7 @@ static tap w_media_meh_state = {
    .state           = 0
};

void w_media_meh_finished(qk_tap_dance_state_t *state, void *user_data) {
void w_media_meh_finished(tap_dance_state_t *state, void *user_data) {
    w_media_meh_state.state = current_dance(state);
    switch (w_media_meh_state.state) {
        case SINGLE_TAP:


@@ 23,7 23,7 @@ void w_media_meh_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void w_media_meh_reset(qk_tap_dance_state_t *state, void *user_data) {
void w_media_meh_reset(tap_dance_state_t *state, void *user_data) {
    switch (w_media_meh_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_W);

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c +1 -1
@@ 1,5 1,5 @@
// Register the double tap dances:
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [EQL_PLUS]  = ACTION_TAP_DANCE_DOUBLE(KC_EQL,  KC_PLUS),
    [MINS_UNDS] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS),
    [SLSH_BSLS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_BSLS),

M keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_setup.c => keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_setup.c +1 -1
@@ 41,7 41,7 @@ enum {
 * For the third point, there does exist the 'DOUBLE_SINGLE_TAP', however this is not fully tested
 *
 */
int current_dance(qk_tap_dance_state_t *state) {
int current_dance(tap_dance_state_t *state) {
    int current_state = 0;
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) {

M keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c => keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c +16 -16
@@ 53,15 53,15 @@ static td_state_t td_state;
// declare your tapdance functions:

// function to determine the current tapdance state
int cur_dance (qk_tap_dance_state_t *state);
int cur_dance (tap_dance_state_t *state);

// `finished` and `reset` functions for each tapdance keycode
void ctrlto12_finished (qk_tap_dance_state_t *state, void *user_data);
void ctrlto12_reset (qk_tap_dance_state_t *state, void *user_data);
void altto11_finished (qk_tap_dance_state_t *state, void *user_data);
void altto11_reset (qk_tap_dance_state_t *state, void *user_data);
void shiftto13_finished (qk_tap_dance_state_t *state, void *user_data);
void shiftto13_reset (qk_tap_dance_state_t *state, void *user_data);
void ctrlto12_finished (tap_dance_state_t *state, void *user_data);
void ctrlto12_reset (tap_dance_state_t *state, void *user_data);
void altto11_finished (tap_dance_state_t *state, void *user_data);
void altto11_reset (tap_dance_state_t *state, void *user_data);
void shiftto13_finished (tap_dance_state_t *state, void *user_data);
void shiftto13_reset (tap_dance_state_t *state, void *user_data);


const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {


@@ 257,7 257,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
};

// determine the tapdance state to return
int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->interrupted && state->pressed && state->interrupting_keycode == KC_MS_BTN1) {return SINGLE_HOLD;}
    if (state->interrupted && state->pressed && state->interrupting_keycode == 22273) {return SINGLE_HOLD;}


@@ 277,7 277,7 @@ int cur_dance (qk_tap_dance_state_t *state) {
  else { return 2; } // any number higher than the maximum state value you return above
}
// /* Backup in case previous code is hard to piece together. */
// int cur_dance (qk_tap_dance_state_t *state) {
// int cur_dance (tap_dance_state_t *state) {
//   if (state->count == 1) {
//     if (state->interrupted || !state->pressed) { return SINGLE_TAP; }
//     else { return SINGLE_HOLD; }


@@ 285,7 285,7 @@ int cur_dance (qk_tap_dance_state_t *state) {
//   else { return 2; } // any number higher than the maximum state value you return above
// }

void ctrlto12_finished (qk_tap_dance_state_t *state, void *user_data) {
void ctrlto12_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 304,7 304,7 @@ void ctrlto12_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void ctrlto12_reset (qk_tap_dance_state_t *state, void *user_data) {
void ctrlto12_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      break;


@@ 321,7 321,7 @@ void ctrlto12_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void shiftto13_finished (qk_tap_dance_state_t *state, void *user_data) {
void shiftto13_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 340,7 340,7 @@ void shiftto13_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void shiftto13_reset (qk_tap_dance_state_t *state, void *user_data) {
void shiftto13_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      break;


@@ 357,7 357,7 @@ void shiftto13_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void altto11_finished (qk_tap_dance_state_t *state, void *user_data) {
void altto11_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 372,7 372,7 @@ void altto11_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void altto11_reset (qk_tap_dance_state_t *state, void *user_data) {
void altto11_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      break;


@@ 386,7 386,7 @@ void altto11_reset (qk_tap_dance_state_t *state, void *user_data) {
}

// define `ACTION_TAP_DANCE_FN_ADVANCED()` for each tapdance keycode, passing in `finished` and `reset` functions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [CTRL_TO12] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctrlto12_finished, ctrlto12_reset),
  [SHIFT_TO13] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shiftto13_finished, shiftto13_reset),
  [ALT_TO11] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altto11_finished, altto11_reset),

M keyboards/ergodox_ez/keymaps/pvinis/keymap.c => keyboards/ergodox_ez/keymaps/pvinis/keymap.c +5 -5
@@ 268,7 268,7 @@ layer_state_t layer_state_set_user_keymap(layer_state_t state) {
// tap dances

// flash keyboard on 4x tap, with leds
// void flash_each_tap(qk_tap_dance_state_t *state, void *user_data) {
// void flash_each_tap(tap_dance_state_t *state, void *user_data) {
//   switch (state->count) {
//   case 1:
//     ergodox_right_led_3_on();


@@ 289,14 289,14 @@ layer_state_t layer_state_set_user_keymap(layer_state_t state) {
//   }
// }

// void flash_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
// void flash_dance_finished(tap_dance_state_t *state, void *user_data) {
//   if (state->count >= 4) {
//     reset_keyboard();
//     reset_tap_dance(state);
//   }
// }

// void flash_dance_reset(qk_tap_dance_state_t *state, void *user_data) {
// void flash_dance_reset(tap_dance_state_t *state, void *user_data) {
//   ergodox_right_led_1_off();
//   wait_ms(50);
//   ergodox_right_led_2_off();


@@ 305,7 305,7 @@ layer_state_t layer_state_set_user_keymap(layer_state_t state) {
// }

// SYSCTL on first tap, MOUSE ON second tap
// void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
// void layers_dance_finished(tap_dance_state_t *state, void *user_data) {
//   uint8_t layer = get_highest_layer(layer_state);

//   switch(state->count) {


@@ 328,7 328,7 @@ layer_state_t layer_state_set_user_keymap(layer_state_t state) {
//   }
// }

// qk_tap_dance_action_t tap_dance_actions[] = {
// tap_dance_action_t tap_dance_actions[] = {
// [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ),
// [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ),
// };

M keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c => keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c +1 -1
@@ 30,7 30,7 @@ enum {
};
  
// Tap Dance Definition
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for minus, tap twice for divide
  [TD_M_D] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_PSLS),
  //Tap once for plus, tap twice for multiply

M keyboards/ferris/keymaps/madhatter/keymap.c => keyboards/ferris/keymaps/madhatter/keymap.c +1 -1
@@ 51,7 51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Q, twice for ESC
    [TD_Q_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC)
};

M keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c => keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c +3 -3
@@ 69,7 69,7 @@ void dance_cycle(bool override_timer) {
  }
}

void dance_finished(qk_tap_dance_state_t *state, void* user_data) {
void dance_finished(tap_dance_state_t *state, void* user_data) {
  // Determine the current state
  switch (state->count)
  {


@@ 127,12 127,12 @@ void dance_finished(qk_tap_dance_state_t *state, void* user_data) {
  }
}

void dance_reset(qk_tap_dance_state_t *state, void* user_data)
void dance_reset(tap_dance_state_t *state, void* user_data)
{
  tap_dance_active = false;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_KEY] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_finished, dance_reset)
};


M keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c => keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c +7 -7
@@ 46,10 46,10 @@ enum {
    GAME
};

td_state_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(tap_dance_state_t *state);

void ql_finished(qk_tap_dance_state_t *state, void *user_data);
void ql_reset(qk_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);

#define KC_CTL_A  MT(MOD_LCTL, KC_A)     // Tap for A, hold for Control
#define KC_SFT_Z  MT(MOD_RSFT, KC_Z)     // Tap for Z, hold for Shift


@@ 158,7 158,7 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
    }
}

td_state_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1)
        return TD_SINGLE_TAP;
    if (state->count == 2)


@@ 173,7 173,7 @@ static td_tap_t ql_tap_state = {
    .state = TD_NONE
};

void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
void ql_finished(tap_dance_state_t *state, void *user_data) {
    ql_tap_state.state = cur_dance(state);
    switch (ql_tap_state.state) {
        case TD_SINGLE_TAP:


@@ 194,11 194,11 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
void ql_reset(tap_dance_state_t *state, void *user_data) {
    ql_tap_state.state = TD_NONE;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [GAME] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset)
};


M keyboards/gh60/satan/keymaps/dkrieger/keymap.c => keyboards/gh60/satan/keymaps/dkrieger/keymap.c +4 -4
@@ 21,7 21,7 @@ typedef struct {
  int state;
} tap;

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->interrupted == false || state->pressed) {
    if (state->count < 2) return SINGLE_HOLD;
    if (state->count < 3) return DOUBLE_HOLD;


@@ 36,7 36,7 @@ static tap fn_tap_state = {
  .state = 0
};

void fn_finished (qk_tap_dance_state_t *state, void *user_data) {
void fn_finished (tap_dance_state_t *state, void *user_data) {
  fn_tap_state.state = cur_dance(state);
  switch (fn_tap_state.state) {
    /* case SINGLE_HOLD: register_code(MO(_FN)); break; */


@@ 46,7 46,7 @@ void fn_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void fn_reset (qk_tap_dance_state_t *state, void *user_data) {
void fn_reset (tap_dance_state_t *state, void *user_data) {
  switch (fn_tap_state.state) {
    case SINGLE_HOLD: layer_off(_FN); break;
    case DOUBLE_HOLD: layer_off(_MOUSE); layer_off(_MOUSESHIFT); break;


@@ 54,7 54,7 @@ void fn_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [SUPER_FN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, fn_finished, fn_reset)
};


M keyboards/gh60/satan/keymaps/lepa/keymap.c => keyboards/gh60/satan/keymaps/lepa/keymap.c +4 -4
@@ 61,7 61,7 @@ typedef struct {
    int state;
} tap;

int cur_dance(qk_tap_dance_state_t *state) {
int cur_dance(tap_dance_state_t *state) {
    switch (state->count) {
        case 1:
            if (state->interrupted || state->pressed == 0) {


@@ 87,7 87,7 @@ static tap N ## _state = {                                          \
    .state = 0                                                      \
};                                                                  \
                                                                    \
void N ## _finished(qk_tap_dance_state_t *state, void *user_data) { \
void N ## _finished(tap_dance_state_t *state, void *user_data) { \
    N ## _state.state = cur_dance(state);                           \
    switch (N ## _state.state) {                                    \
        case SINGLE_TAP: case SINGLE_HOLD:                          \


@@ 100,7 100,7 @@ void N ## _finished(qk_tap_dance_state_t *state, void *user_data) { \
    }                                                               \
}                                                                   \
                                                                    \
void N ## _reset(qk_tap_dance_state_t *state, void *user_data) {    \
void N ## _reset(tap_dance_state_t *state, void *user_data) {    \
    switch (N ## _state.state) {                                    \
        case SINGLE_TAP: case SINGLE_HOLD:                          \
            unregister_code(K0);                                    \


@@ 134,7 134,7 @@ my_dance_combo_1(rcg, KC_RCTL, KC_RGUI)
my_dance_combo_3(lsh, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI)
my_dance_combo_3(rsh, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI)

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LCTL_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lca_finished, lca_reset),
    [TD_RCTL_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rca_finished, rca_reset),
    [TD_LGUI_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lga_finished, lga_reset),

M keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c => keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c +2 -2
@@ 17,7 17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#include QMK_KEYBOARD_H

void dance_media(qk_tap_dance_state_t *state, void *user_data) {
void dance_media(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code(KC_MPLY);
    } else if (state->count == 2) {


@@ 29,7 29,7 @@ void dance_media(qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for shift, twice for Caps Lock
    [0] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
    [1] = ACTION_TAP_DANCE_FN(dance_media)};

M keyboards/h0oni/deskpad/keymaps/default/keymap.c => keyboards/h0oni/deskpad/keymaps/default/keymap.c +11 -11
@@ 46,15 46,15 @@ enum custom_keycodes {
    VSCODE,
};

td_state_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(tap_dance_state_t *state);

/* Quad layer switching */
void layer_finished(qk_tap_dance_state_t *state, void *user_data);
void layer_reset(qk_tap_dance_state_t *state, void *user_data);
void layer_finished(tap_dance_state_t *state, void *user_data);
void layer_reset(tap_dance_state_t *state, void *user_data);

/* Copy, paste, select all, cut */
void cvxa_finished(qk_tap_dance_state_t *state, void *user_data);
void cvxa_reset(qk_tap_dance_state_t *state, void *user_data);
void cvxa_finished(tap_dance_state_t *state, void *user_data);
void cvxa_reset(tap_dance_state_t *state, void *user_data);

static td_tap_t layerTap_state = {
    .is_press_action = true,


@@ 67,7 67,7 @@ static td_tap_t cvxa_state = {
};

// Determine the current tap dance state
td_state_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
        // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'.


@@ 79,7 79,7 @@ td_state_t cur_dance(qk_tap_dance_state_t *state) {
    } else return TD_UNKNOWN;
}

void layer_finished(qk_tap_dance_state_t *state, void *user_data) {
void layer_finished(tap_dance_state_t *state, void *user_data) {
    layerTap_state.state = cur_dance(state);
    layer_off(get_highest_layer(layer_state));
    switch (layerTap_state.state) {


@@ 91,11 91,11 @@ void layer_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void layer_reset(qk_tap_dance_state_t *state, void *user_data) {
void layer_reset(tap_dance_state_t *state, void *user_data) {
    layerTap_state.state = TD_NONE;
}

void cvxa_finished(qk_tap_dance_state_t *state, void *user_data) {
void cvxa_finished(tap_dance_state_t *state, void *user_data) {
    cvxa_state.state = cur_dance(state);
    register_mods(MOD_BIT(KC_LCTL));
    switch (cvxa_state.state) {


@@ 108,12 108,12 @@ void cvxa_finished(qk_tap_dance_state_t *state, void *user_data) {
    unregister_mods(MOD_BIT(KC_LCTL));
}

void cvxa_reset(qk_tap_dance_state_t *state, void *user_data) {
void cvxa_reset(tap_dance_state_t *state, void *user_data) {
    cvxa_state.state = TD_NONE;
}

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_CUT_REDO] = ACTION_TAP_DANCE_DOUBLE(C(KC_Z), S(C(KC_Z))),
    [TD_PLAY_PAUSE_MUTE] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_MUTE),
    [TD_MNXT_RIGHT] = ACTION_TAP_DANCE_DOUBLE(KC_MNXT, KC_RIGHT),

M keyboards/h0oni/deskpad/keymaps/via/keymap.c => keyboards/h0oni/deskpad/keymaps/via/keymap.c +11 -11
@@ 46,15 46,15 @@ enum custom_keycodes {
    VSCODE,
};

td_state_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(tap_dance_state_t *state);

/* Quad layer switching */
void layer_finished(qk_tap_dance_state_t *state, void *user_data);
void layer_reset(qk_tap_dance_state_t *state, void *user_data);
void layer_finished(tap_dance_state_t *state, void *user_data);
void layer_reset(tap_dance_state_t *state, void *user_data);

/* Copy, paste, select all, cut */
void cvxa_finished(qk_tap_dance_state_t *state, void *user_data);
void cvxa_reset(qk_tap_dance_state_t *state, void *user_data);
void cvxa_finished(tap_dance_state_t *state, void *user_data);
void cvxa_reset(tap_dance_state_t *state, void *user_data);

static td_tap_t layerTap_state = {
    .is_press_action = true,


@@ 67,7 67,7 @@ static td_tap_t cvxa_state = {
};

// Determine the current tap dance state
td_state_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
        // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'.


@@ 79,7 79,7 @@ td_state_t cur_dance(qk_tap_dance_state_t *state) {
    } else return TD_UNKNOWN;
}

void layer_finished(qk_tap_dance_state_t *state, void *user_data) {
void layer_finished(tap_dance_state_t *state, void *user_data) {
    layerTap_state.state = cur_dance(state);
    layer_off(get_highest_layer(layer_state));
    switch (layerTap_state.state) {


@@ 91,11 91,11 @@ void layer_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void layer_reset(qk_tap_dance_state_t *state, void *user_data) {
void layer_reset(tap_dance_state_t *state, void *user_data) {
    layerTap_state.state = TD_NONE;
}

void cvxa_finished(qk_tap_dance_state_t *state, void *user_data) {
void cvxa_finished(tap_dance_state_t *state, void *user_data) {
    cvxa_state.state = cur_dance(state);
    register_mods(MOD_BIT(KC_LCTL));
    switch (cvxa_state.state) {


@@ 108,12 108,12 @@ void cvxa_finished(qk_tap_dance_state_t *state, void *user_data) {
    unregister_mods(MOD_BIT(KC_LCTL));
}

void cvxa_reset(qk_tap_dance_state_t *state, void *user_data) {
void cvxa_reset(tap_dance_state_t *state, void *user_data) {
    cvxa_state.state = TD_NONE;
}

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_CUT_REDO] = ACTION_TAP_DANCE_DOUBLE(C(KC_Z), S(C(KC_Z))),
    [TD_PLAY_PAUSE_MUTE] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_MUTE),
    [TD_MNXT_RIGHT] = ACTION_TAP_DANCE_DOUBLE(KC_MNXT, KC_RIGHT),

M keyboards/halokeys/elemental75/keymaps/default/keymap.c => keyboards/halokeys/elemental75/keymaps/default/keymap.c +2 -2
@@ 35,7 35,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    return true;
}

void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_cln_finished(tap_dance_state_t *state, void *user_data) {
   uprintf("Tap Dance count: %u", state->count);
    if (state->count == 1) {
        tap_code(KC_MPLY);


@@ 47,7 47,7 @@ void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
}

/* All tap dance functions would go here. Only showing this one. */
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_PLAY_FORWARD_BACK] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, NULL),
};


M keyboards/halokeys/elemental75/keymaps/via/keymap.c => keyboards/halokeys/elemental75/keymaps/via/keymap.c +2 -2
@@ 32,7 32,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    return true;
}

void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_cln_finished(tap_dance_state_t *state, void *user_data) {
   uprintf("Tap Dance count: %u", state->count);
    if (state->count == 1) {
        tap_code(KC_MPLY);


@@ 44,7 44,7 @@ void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
}

/* All tap dance functions would go here. Only showing this one. */
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_PLAY_FORWARD_BACK] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, NULL),
};


M keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c => keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c +9 -9
@@ 49,48 49,48 @@ void send_french_unicode_char(uint8_t count, uint32_t once, uint32_t twice)
	register_unicode(twice);
}

void dance_a_q(qk_tap_dance_state_t *state, void *user_data)
void dance_a_q(tap_dance_state_t *state, void *user_data)
{
    send_french_unicode_char(state->count, FR_A_GRAVE, FR_L_QUOTE);
}

void dance_e_q(qk_tap_dance_state_t *state, void *user_data)
void dance_e_q(tap_dance_state_t *state, void *user_data)
{
    send_french_unicode_char(state->count, FR_E_AIGU, FR_R_QUOTE);
}

void dance_e_u(qk_tap_dance_state_t *state, void *user_data)
void dance_e_u(tap_dance_state_t *state, void *user_data)
{
    send_french_unicode_char(state->count, FR_E_GRAVE, FR_U_GRAVE);
}

void dance_e_e(qk_tap_dance_state_t *state, void *user_data)
void dance_e_e(tap_dance_state_t *state, void *user_data)
{
    send_french_unicode_char(state->count, FR_E_HAT, FR_E_UMLAUT);
}

void dance_a_y(qk_tap_dance_state_t *state, void *user_data)
void dance_a_y(tap_dance_state_t *state, void *user_data)
{
    send_french_unicode_char(state->count, FR_A_HAT, FR_Y_UMLAUT);
}

void dance_i_i(qk_tap_dance_state_t *state, void *user_data)
void dance_i_i(tap_dance_state_t *state, void *user_data)
{
    send_french_unicode_char(state->count, FR_I_HAT, FR_I_UMLAUT);
}

void dance_o_c(qk_tap_dance_state_t *state, void *user_data)
void dance_o_c(tap_dance_state_t *state, void *user_data)
{
    send_french_unicode_char(state->count, FR_O_HAT, FR_C_CIRCUM);
}

void dance_u_u(qk_tap_dance_state_t *state, void *user_data)
void dance_u_u(tap_dance_state_t *state, void *user_data)
{
    send_french_unicode_char(state->count, FR_U_HAT, FR_U_UMLAUT);
}

/* Define the tap dance actions for the french characters */
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [A_Q] = ACTION_TAP_DANCE_FN(dance_a_q),
    [E_Q] = ACTION_TAP_DANCE_FN(dance_e_q),
    [E_U] = ACTION_TAP_DANCE_FN(dance_e_u),

M keyboards/handwired/concertina/64key/keymaps/default/keymap.c => keyboards/handwired/concertina/64key/keymaps/default/keymap.c +1 -1
@@ 29,7 29,7 @@ enum taps {
    PNX,  // Play/pause; next track.
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [PNX] = ACTION_TAP_DANCE_DOUBLE(KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK),
};


M keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c => keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c +3 -3
@@ 26,7 26,7 @@ enum {
    TD_ESC_WINDOWS_EMOJI
};

void td_esc_spotlight_emoji (qk_tap_dance_state_t *state, void *user_data) {
void td_esc_spotlight_emoji (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code(KC_ESC);
    } else if (state->count == 2) {


@@ 36,7 36,7 @@ void td_esc_spotlight_emoji (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_esc_windows_emoji (qk_tap_dance_state_t *state, void *user_data) {
void td_esc_windows_emoji (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code(KC_ESC);
    } else if (state->count == 2) {


@@ 47,7 47,7 @@ void td_esc_windows_emoji (qk_tap_dance_state_t *state, void *user_data) {
};

 // Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_ESC_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN(td_esc_spotlight_emoji),
    [TD_ESC_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN(td_esc_windows_emoji)
};

M keyboards/handwired/jscotto/scottocmd/keymaps/default/keymap.c => keyboards/handwired/jscotto/scottocmd/keymaps/default/keymap.c +3 -3
@@ 26,7 26,7 @@ enum {
    TD_ESC_WINDOWS_EMOJI
};

void td_esc_spotlight_emoji (qk_tap_dance_state_t *state, void *user_data) {
void td_esc_spotlight_emoji (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code(KC_ESC);
    } else if (state->count == 2) {


@@ 36,7 36,7 @@ void td_esc_spotlight_emoji (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_esc_windows_emoji (qk_tap_dance_state_t *state, void *user_data) {
void td_esc_windows_emoji (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code(KC_ESC);
    } else if (state->count == 2) {


@@ 47,7 47,7 @@ void td_esc_windows_emoji (qk_tap_dance_state_t *state, void *user_data) {
};

 // Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_ESC_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN(td_esc_spotlight_emoji),
    [TD_ESC_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN(td_esc_windows_emoji)
};

M keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c => keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c +1 -1
@@ 6,7 6,7 @@ enum {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Esc, twice for Caps Lock
  [TD_DOT_COMMAS]  = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_COMMA)
// Other declarations would go here, separated by commas, if you have them

M keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c => keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c +3 -3
@@ 78,7 78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#define CHOREOGRAPH(DANCE, PRESS, RELEASE, TAP, DOUBLETAP)              \
    static bool dance_ ## DANCE ## _pressed;                            \
                                                                        \
    void dance_ ## DANCE ## _finished(qk_tap_dance_state_t *state, void *user_data) { \
    void dance_ ## DANCE ## _finished(tap_dance_state_t *state, void *user_data) { \
        if (state->count == 1) {                                        \
            if (state->pressed) {                                       \
                dance_ ## DANCE ## _pressed = true;                     \


@@ 93,7 93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        }                                                               \
    }                                                                   \
                                                                        \
    void dance_ ## DANCE ## _reset(qk_tap_dance_state_t *state, void *user_data) { \
    void dance_ ## DANCE ## _reset(tap_dance_state_t *state, void *user_data) { \
        if (state->count == 1) {                                        \
            if (dance_ ## DANCE ## _pressed) {                          \
                RELEASE;                                                \


@@ 138,7 138,7 @@ CHOREOGRAPH(TD_C_X,
            SEND_STRING(SS_UP(X_LCTL)),
            SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_X) SS_UP(X_LCTL)),);

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    STEPS(TD_LEFT), STEPS(TD_RGHT), STEPS(TD_C_X)
};


M keyboards/handwired/myskeeb/keymaps/default/keymap.c => keyboards/handwired/myskeeb/keymaps/default/keymap.c +5 -5
@@ 12,7 12,7 @@ enum {
};

// Tap Dance Functions
void tri_open(qk_tap_dance_state_t *state, void *user_data) {
void tri_open(tap_dance_state_t *state, void *user_data) {
	if (state->count == 1) {
		tap_code16(KC_LPRN);
	} else if (state->count == 2) {


@@ 22,7 22,7 @@ void tri_open(qk_tap_dance_state_t *state, void *user_data) {
	}
}

void tri_close(qk_tap_dance_state_t *state, void *user_data) {
void tri_close(tap_dance_state_t *state, void *user_data) {
	if (state->count == 1) {
		tap_code16(KC_RPRN);
	} else if (state->count == 2) {


@@ 32,7 32,7 @@ void tri_close(qk_tap_dance_state_t *state, void *user_data) {
	}
}

void dquote(qk_tap_dance_state_t *state, void *user_data) {
void dquote(tap_dance_state_t *state, void *user_data) {
	if (state->count == 1) {
		if (state->interrupted)
			tap_code(KC_QUOT);


@@ 44,7 44,7 @@ void dquote(qk_tap_dance_state_t *state, void *user_data) {
	}
}

void tilded(qk_tap_dance_state_t *state, void *user_data) {
void tilded(tap_dance_state_t *state, void *user_data) {
	if (state->count == 1) {
		if (state->interrupted)
			tap_code16(KC_TILD);


@@ 55,7 55,7 @@ void tilded(qk_tap_dance_state_t *state, void *user_data) {
	}
} 
  
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
	[OP_QT] = ACTION_TAP_DANCE_FN(tri_open),
	[CL_QT] = ACTION_TAP_DANCE_FN(tri_close),
	[TD_DQ] = ACTION_TAP_DANCE_FN(dquote),

M keyboards/handwired/onekey/keymaps/backlight/keymap.c => keyboards/handwired/onekey/keymaps/backlight/keymap.c +3 -3
@@ 5,11 5,11 @@ enum {
    TD_BL = 0
};

void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_cln_finished(tap_dance_state_t *state, void *user_data) {
    // noop
}

void dance_cln_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_cln_reset(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:
            // single tap - step through backlight


@@ 30,7 30,7 @@ void dance_cln_reset(qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_BL]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, dance_cln_reset)
};


M keyboards/handwired/onekey/keymaps/oled/keymap.c => keyboards/handwired/onekey/keymaps/oled/keymap.c +2 -2
@@ 63,7 63,7 @@ static void stop_scrolling(void) {
    }
}

static void dance_oled_finished(qk_tap_dance_state_t *state, void *user_data) {
static void dance_oled_finished(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:
            if (state->pressed) {


@@ 155,7 155,7 @@ static void dance_oled_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {[TD_OLED] = ACTION_TAP_DANCE_FN(dance_oled_finished)};
tap_dance_action_t tap_dance_actions[] = {[TD_OLED] = ACTION_TAP_DANCE_FN(dance_oled_finished)};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {LAYOUT_ortho_1x1(TD(TD_OLED))};


M keyboards/handwired/ortho5x14/keymaps/2u/keymap.c => keyboards/handwired/ortho5x14/keymaps/2u/keymap.c +28 -28
@@ 108,11 108,11 @@ enum {
// // Alt held down, then use as normal.
//
// Alt tapped, then hold Alt,
int cur_dance (qk_tap_dance_state_t *state);
void alt_finished (qk_tap_dance_state_t *state, void *user_data);
void alt_reset (qk_tap_dance_state_t *state, void *user_data);
int cur_dance (tap_dance_state_t *state);
void alt_finished (tap_dance_state_t *state, void *user_data);
void alt_reset (tap_dance_state_t *state, void *user_data);

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->pressed) return SINGLE_HOLD;
    else return SINGLE_TAP;


@@ 133,7 133,7 @@ static tap alttap_state = {
  .state = 0
};

void alt_finished (qk_tap_dance_state_t *state, void *user_data) {
void alt_finished (tap_dance_state_t *state, void *user_data) {
  alttap_state.state = cur_dance(state);
  switch (alttap_state.state) {
    case SINGLE_TAP: set_oneshot_layer(_ALT, ONESHOT_START); clear_oneshot_layer_state(ONESHOT_PRESSED); break;


@@ 146,7 146,7 @@ void alt_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void alt_reset (qk_tap_dance_state_t *state, void *user_data) {
void alt_reset (tap_dance_state_t *state, void *user_data) {
  switch (alttap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: unregister_code(KC_LALT); break;


@@ 157,15 157,15 @@ void alt_reset (qk_tap_dance_state_t *state, void *user_data) {
}

// Ctrl tapped, then hold Ctrl,
void ctl_finished (qk_tap_dance_state_t *state, void *user_data);
void ctl_reset (qk_tap_dance_state_t *state, void *user_data);
void ctl_finished (tap_dance_state_t *state, void *user_data);
void ctl_reset (tap_dance_state_t *state, void *user_data);

static tap ctltap_state = {
  .is_press_action = true,
  .state = 0
};

void ctl_finished (qk_tap_dance_state_t *state, void *user_data) {
void ctl_finished (tap_dance_state_t *state, void *user_data) {
  ctltap_state.state = cur_dance(state);
  switch (ctltap_state.state) {
    case SINGLE_TAP: set_oneshot_mods(MOD_BIT(KC_LCTL)); break;


@@ 176,7 176,7 @@ void ctl_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void ctl_reset (qk_tap_dance_state_t *state, void *user_data) {
void ctl_reset (tap_dance_state_t *state, void *user_data) {
  switch (ctltap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: unregister_code(KC_LCTL); break;


@@ 189,15 189,15 @@ void ctl_reset (qk_tap_dance_state_t *state, void *user_data) {


// Layer Down tap dance
void layerDown_finished (qk_tap_dance_state_t *state, void *user_data);
void layerDown_reset (qk_tap_dance_state_t *state, void *user_data);
void layerDown_finished (tap_dance_state_t *state, void *user_data);
void layerDown_reset (tap_dance_state_t *state, void *user_data);

static tap layerdn_tap_state = {
  .is_press_action = true,
  .state = 0
};

void layerDown_finished (qk_tap_dance_state_t *state, void *user_data) {
void layerDown_finished (tap_dance_state_t *state, void *user_data) {
  layerdn_tap_state.state = cur_dance(state);
  switch (layerdn_tap_state.state) {
    case SINGLE_TAP: break;


@@ 208,7 208,7 @@ void layerDown_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void layerDown_reset (qk_tap_dance_state_t *state, void *user_data) {
void layerDown_reset (tap_dance_state_t *state, void *user_data) {
  switch (layerdn_tap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: layer_off(_LOWER); break;


@@ 219,15 219,15 @@ void layerDown_reset (qk_tap_dance_state_t *state, void *user_data) {
}

// Layer Up tap dance
void layerUp_finished (qk_tap_dance_state_t *state, void *user_data);
void layerUp_reset (qk_tap_dance_state_t *state, void *user_data);
void layerUp_finished (tap_dance_state_t *state, void *user_data);
void layerUp_reset (tap_dance_state_t *state, void *user_data);

static tap layerup_tap_state = {
  .is_press_action = true,
  .state = 0
};

void layerUp_finished (qk_tap_dance_state_t *state, void *user_data) {
void layerUp_finished (tap_dance_state_t *state, void *user_data) {
  layerup_tap_state.state = cur_dance(state);
  switch (layerup_tap_state.state) {
    case SINGLE_TAP: break;


@@ 238,7 238,7 @@ void layerUp_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void layerUp_reset (qk_tap_dance_state_t *state, void *user_data) {
void layerUp_reset (tap_dance_state_t *state, void *user_data) {
  switch (layerup_tap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: layer_off(_RAISE); break;


@@ 255,16 255,16 @@ void layerUp_reset (qk_tap_dance_state_t *state, void *user_data) {
// Shift tapped, then Capitlize next keystroke only.
// Shift double-tapped, then CAPSLOCK
// Shift double-tapped again, CAPS UNLOCKED
// void dance_onshot_lsft(qk_tap_dance_state_t *state, void *user_data) {
void lshift_finished (qk_tap_dance_state_t *state, void *user_data);
void lshift_reset (qk_tap_dance_state_t *state, void *user_data);
// void dance_onshot_lsft(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);

static tap lshifttap_state = {
  .is_press_action = true,
  .state = 0
};

void lshift_finished (qk_tap_dance_state_t *state, void *user_data) {
void lshift_finished (tap_dance_state_t *state, void *user_data) {
  lshifttap_state.state = cur_dance(state);
  switch (lshifttap_state.state) {
    case SINGLE_TAP: set_oneshot_mods(MOD_BIT(KC_LSFT)); break;


@@ 274,7 274,7 @@ void lshift_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void lshift_reset (qk_tap_dance_state_t *state, void *user_data) {
void lshift_reset (tap_dance_state_t *state, void *user_data) {
  switch (lshifttap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: unregister_code(KC_LSFT); break;


@@ 285,15 285,15 @@ void lshift_reset (qk_tap_dance_state_t *state, void *user_data) {
}

//TD_LSPACE
void lspace_finished (qk_tap_dance_state_t *state, void *user_data);
void lspace_reset (qk_tap_dance_state_t *state, void *user_data);
void lspace_finished (tap_dance_state_t *state, void *user_data);
void lspace_reset (tap_dance_state_t *state, void *user_data);

static tap lspacetap_state = {
  .is_press_action = true,
  .state = 0
};

void lspace_finished (qk_tap_dance_state_t *state, void *user_data) {
void lspace_finished (tap_dance_state_t *state, void *user_data) {
  lspacetap_state.state = cur_dance(state);
  switch (lspacetap_state.state) {
    case SINGLE_TAP: tap_code (KC_SPACE); break;


@@ 303,7 303,7 @@ void lspace_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void lspace_reset (qk_tap_dance_state_t *state, void *user_data) {
void lspace_reset (tap_dance_state_t *state, void *user_data) {
  switch (lspacetap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: layer_off(_LOWER); break;


@@ 318,7 318,7 @@ void lspace_reset (qk_tap_dance_state_t *state, void *user_data) {


//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
   [TD_DEL_BSPC]  = ACTION_TAP_DANCE_DOUBLE(KC_DEL, KC_BSPC),
   [TD_ESC_GRAVE]  = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_GRAVE),
   [TD_TAB_TILDE]  = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_TILDE),

M keyboards/handwired/ortho5x14/keymaps/default/keymap.c => keyboards/handwired/ortho5x14/keymaps/default/keymap.c +2 -2
@@ 63,7 63,7 @@ enum {
// Shift tapped, then Capitlize next keystroke only.
// Shift double-tapped, then CAPSLOCK
// Shift double-tapped again, CAPS UNLOCKED
void dance_onshot_lsft(qk_tap_dance_state_t *state, void *user_data) {
void dance_onshot_lsft(tap_dance_state_t *state, void *user_data) {
  switch (state->count) {
    case 1: // =>
      set_oneshot_mods (MOD_LSFT);


@@ 76,7 76,7 @@ void dance_onshot_lsft(qk_tap_dance_state_t *state, void *user_data) {
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
   [TD_DEL_BSPC]  = ACTION_TAP_DANCE_DOUBLE(KC_DEL, KC_BSPC),
   [TD_ESC_GRAVE]  = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_GRAVE),
   [TD_TAB_TILDE]  = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_TILDE),

M keyboards/handwired/ortho5x14/keymaps/split1/keymap.c => keyboards/handwired/ortho5x14/keymaps/split1/keymap.c +20 -20
@@ 104,11 104,11 @@ enum {
// // Alt held down, then use as normal.
//
// Alt tapped, then hold Alt,
int cur_dance (qk_tap_dance_state_t *state);
void alt_finished (qk_tap_dance_state_t *state, void *user_data);
void alt_reset (qk_tap_dance_state_t *state, void *user_data);
int cur_dance (tap_dance_state_t *state);
void alt_finished (tap_dance_state_t *state, void *user_data);
void alt_reset (tap_dance_state_t *state, void *user_data);

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->pressed) return SINGLE_HOLD;
    else return SINGLE_TAP;


@@ 129,7 129,7 @@ static tap alttap_state = {
  .state = 0
};

void alt_finished (qk_tap_dance_state_t *state, void *user_data) {
void alt_finished (tap_dance_state_t *state, void *user_data) {
  alttap_state.state = cur_dance(state);
  switch (alttap_state.state) {
    case SINGLE_TAP: set_oneshot_layer(_ALT, ONESHOT_START); clear_oneshot_layer_state(ONESHOT_PRESSED); break;


@@ 142,7 142,7 @@ void alt_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void alt_reset (qk_tap_dance_state_t *state, void *user_data) {
void alt_reset (tap_dance_state_t *state, void *user_data) {
  switch (alttap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: unregister_code(KC_LALT); break;


@@ 153,15 153,15 @@ void alt_reset (qk_tap_dance_state_t *state, void *user_data) {
}

// Ctrl tapped, then hold Ctrl,
void ctl_finished (qk_tap_dance_state_t *state, void *user_data);
void ctl_reset (qk_tap_dance_state_t *state, void *user_data);
void ctl_finished (tap_dance_state_t *state, void *user_data);
void ctl_reset (tap_dance_state_t *state, void *user_data);

static tap ctltap_state = {
  .is_press_action = true,
  .state = 0
};

void ctl_finished (qk_tap_dance_state_t *state, void *user_data) {
void ctl_finished (tap_dance_state_t *state, void *user_data) {
  ctltap_state.state = cur_dance(state);
  switch (ctltap_state.state) {
    case SINGLE_TAP: set_oneshot_mods(MOD_BIT(KC_LCTL)); break;


@@ 174,7 174,7 @@ void ctl_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void ctl_reset (qk_tap_dance_state_t *state, void *user_data) {
void ctl_reset (tap_dance_state_t *state, void *user_data) {
  switch (ctltap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: unregister_code(KC_LCTL); break;


@@ 186,15 186,15 @@ void ctl_reset (qk_tap_dance_state_t *state, void *user_data) {


// Layer Down tap dance
void layerDown_finished (qk_tap_dance_state_t *state, void *user_data);
void layerDown_reset (qk_tap_dance_state_t *state, void *user_data);
void layerDown_finished (tap_dance_state_t *state, void *user_data);
void layerDown_reset (tap_dance_state_t *state, void *user_data);

static tap layerdn_tap_state = {
  .is_press_action = true,
  .state = 0
};

void layerDown_finished (qk_tap_dance_state_t *state, void *user_data) {
void layerDown_finished (tap_dance_state_t *state, void *user_data) {
  layerdn_tap_state.state = cur_dance(state);
  switch (layerdn_tap_state.state) {
    case SINGLE_TAP: break;


@@ 204,7 204,7 @@ void layerDown_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void layerDown_reset (qk_tap_dance_state_t *state, void *user_data) {
void layerDown_reset (tap_dance_state_t *state, void *user_data) {
  switch (layerdn_tap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: layer_off(_LOWER); break;


@@ 222,16 222,16 @@ void layerDown_reset (qk_tap_dance_state_t *state, void *user_data) {
// Shift tapped, then Capitlize next keystroke only.
// Shift double-tapped, then CAPSLOCK
// Shift double-tapped again, CAPS UNLOCKED
// void dance_onshot_lsft(qk_tap_dance_state_t *state, void *user_data) {
void lshift_finished (qk_tap_dance_state_t *state, void *user_data);
void lshift_reset (qk_tap_dance_state_t *state, void *user_data);
// void dance_onshot_lsft(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);

static tap lshifttap_state = {
  .is_press_action = true,
  .state = 0
};

void lshift_finished (qk_tap_dance_state_t *state, void *user_data) {
void lshift_finished (tap_dance_state_t *state, void *user_data) {
  lshifttap_state.state = cur_dance(state);
  switch (lshifttap_state.state) {
    case SINGLE_TAP: set_oneshot_mods(MOD_BIT(KC_LSFT)); break;


@@ 241,7 241,7 @@ void lshift_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void lshift_reset (qk_tap_dance_state_t *state, void *user_data) {
void lshift_reset (tap_dance_state_t *state, void *user_data) {
  switch (lshifttap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: unregister_code(KC_LSFT); break;


@@ 254,7 254,7 @@ void lshift_reset (qk_tap_dance_state_t *state, void *user_data) {


//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
   [TD_DEL_BSPC]  = ACTION_TAP_DANCE_DOUBLE(KC_DEL, KC_BSPC),
   [TD_ESC_GRAVE]  = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_GRAVE),
   [TD_TAB_TILDE]  = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_TILDE),

M keyboards/handwired/space_oddity/keymaps/default/keymap.c => keyboards/handwired/space_oddity/keymaps/default/keymap.c +1 -1
@@ 35,7 35,7 @@ enum {
};

// Tap dance actions - double tap for Caps Lock.
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {

  [SFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),


M keyboards/hub16/keymaps/macro/keymap.c => keyboards/hub16/keymaps/macro/keymap.c +3 -3
@@ 25,11 25,11 @@ enum keyboard_layers{
};

// Tap Dance Declarations
void td_ctrl (qk_tap_dance_state_t *state, void *user_data);
void td_ctrl (tap_dance_state_t *state, void *user_data);

enum tap_dance { CTRL = 0, BASE = 1 };

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for standard key on base layer, twice to toggle to control layer
    [CTRL] = ACTION_TAP_DANCE_FN(td_ctrl),
    [BASE] = ACTION_TAP_DANCE_LAYER_MOVE(_______, _BASE)};


@@ 105,7 105,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {

// Below works around TD() not running key press through process_record_user.
// Fixes bug of CTRL layer move key not being wrapped in by modifier on single tap
void td_ctrl (qk_tap_dance_state_t *state, void *user_data) {
void td_ctrl (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    register_code(KC_WRAP);
    tap_code(KC_P);

M keyboards/hub20/keymaps/macro/keymap.c => keyboards/hub20/keymaps/macro/keymap.c +3 -3
@@ 25,14 25,14 @@ enum keyboard_layers{
};

// Tap Dance stuff
void td_ctrl (qk_tap_dance_state_t *state, void *user_data);
void td_ctrl (tap_dance_state_t *state, void *user_data);

enum tap_dance {
    CTRL = 0,
    BASE = 1
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for standard key, twice to toggle layers
    [CTRL] = ACTION_TAP_DANCE_FN(td_ctrl),
    [BASE] = ACTION_TAP_DANCE_LAYER_MOVE(_______, _BASE)


@@ 110,7 110,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}

// Below works around TD() not running key press through process_record_user
void td_ctrl (qk_tap_dance_state_t *state, void *user_data) {
void td_ctrl (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    register_code(KC_WRAP);
    tap_code(KC_D);

M keyboards/idobao/id75/keymaps/egstad/keymap.c => keyboards/idobao/id75/keymaps/egstad/keymap.c +1 -1
@@ 61,7 61,7 @@ enum {
};

// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  // Tap once for Left Brace, twice for Right Brace
  [TD_BRC]  = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC),
  //Tap once for Minus, twice for Equal

M keyboards/jones/v03/keymaps/default_jp/keymap.c => keyboards/jones/v03/keymaps/default_jp/keymap.c +7 -7
@@ 43,13 43,13 @@ enum {

// Declare the functions to be used with your tap dance key(s)
// Function associated with all tap dances
uint8_t cur_dance(qk_tap_dance_state_t *state);
uint8_t cur_dance(tap_dance_state_t *state);
// Functions associated with individual tap dances
void ql_finished(qk_tap_dance_state_t *state, void *user_data);
void ql_reset(qk_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);

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
    [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset),
};


@@ 279,7 279,7 @@ typedef struct {
} tap;

// Determine the current tap dance state
uint8_t cur_dance(qk_tap_dance_state_t *state) {
uint8_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (!state->pressed) {
            return SINGLE_TAP;


@@ 310,7 310,7 @@ static tap ql_tap_state = {
};

// Functions that control what our tap dance key does
void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
void ql_finished(tap_dance_state_t *state, void *user_data) {
    ql_tap_state.state = cur_dance(state);
    switch(TAP_DANCE_KEYCODE(state)) {
        case TD(TD_ESC_NUM): // ESC key action


@@ 340,7 340,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
void ql_reset(tap_dance_state_t *state, void *user_data) {
    switch(TAP_DANCE_KEYCODE(state)) {
        case TD(TD_ESC_NUM):
            // If the key was held down and now is released then switch off the layer

M keyboards/jones/v03_1/keymaps/default_ansi/keymap.c => keyboards/jones/v03_1/keymaps/default_ansi/keymap.c +7 -7
@@ 42,13 42,13 @@ enum {

// Declare the functions to be used with your tap dance key(s)
// Function associated with all tap dances
uint8_t cur_dance(qk_tap_dance_state_t *state);
uint8_t cur_dance(tap_dance_state_t *state);
// Functions associated with individual tap dances
void ql_finished(qk_tap_dance_state_t *state, void *user_data);
void ql_reset(qk_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);

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
    [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset),
};


@@ 298,7 298,7 @@ typedef struct {
} tap;

// Determine the current tap dance state
uint8_t cur_dance(qk_tap_dance_state_t *state) {
uint8_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (!state->pressed) {
            return SINGLE_TAP;


@@ 329,7 329,7 @@ static tap ql_tap_state = {
};

// Functions that control what our tap dance key does
void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
void ql_finished(tap_dance_state_t *state, void *user_data) {
    ql_tap_state.state = cur_dance(state);
    switch(TAP_DANCE_KEYCODE(state)) {
        case TD(TD_ESC_NUM): // ESC key action


@@ 359,7 359,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
void ql_reset(tap_dance_state_t *state, void *user_data) {
    switch(TAP_DANCE_KEYCODE(state)) {
        case TD(TD_ESC_NUM):
            // If the key was held down and now is released then switch off the layer

M keyboards/jones/v03_1/keymaps/default_jp/keymap.c => keyboards/jones/v03_1/keymaps/default_jp/keymap.c +7 -7
@@ 43,13 43,13 @@ enum {

// Declare the functions to be used with your tap dance key(s)
// Function associated with all tap dances
uint8_t cur_dance(qk_tap_dance_state_t *state);
uint8_t cur_dance(tap_dance_state_t *state);
// Functions associated with individual tap dances
void ql_finished(qk_tap_dance_state_t *state, void *user_data);
void ql_reset(qk_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);

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
    [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset),
};


@@ 300,7 300,7 @@ typedef struct {
} tap;

// Determine the current tap dance state
uint8_t cur_dance(qk_tap_dance_state_t *state) {
uint8_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (!state->pressed) {
            return SINGLE_TAP;


@@ 331,7 331,7 @@ static tap ql_tap_state = {
};

// Functions that control what our tap dance key does
void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
void ql_finished(tap_dance_state_t *state, void *user_data) {
    ql_tap_state.state = cur_dance(state);
    switch(TAP_DANCE_KEYCODE(state)) {
        case TD(TD_ESC_NUM): // ESC key action


@@ 361,7 361,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
void ql_reset(tap_dance_state_t *state, void *user_data) {
    switch(TAP_DANCE_KEYCODE(state)) {
        case TD(TD_ESC_NUM):
            // If the key was held down and now is released then switch off the layer

M keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c => keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c +1 -1
@@ 14,7 14,7 @@ enum tapdance {
    TD_END
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Home, twice for PageUp
    [TD_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_PGUP),
    // Tap once for End, twice for PageDown

M keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c => keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c +9 -9
@@ 66,7 66,7 @@ enum {
  GUI_NM = 3
};

void dance_CTL_NM_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_CTL_NM_finished (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
	set_oneshot_mods(MOD_LCTL);
  } else {


@@ 75,7 75,7 @@ void dance_CTL_NM_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_CTL_NM_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_CTL_NM_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    unregister_code (KC_LCTL);
  } else {


@@ 84,7 84,7 @@ void dance_CTL_NM_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_GUI_NM_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_GUI_NM_finished (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
	register_code (KC_LGUI);
  } else {


@@ 93,7 93,7 @@ void dance_GUI_NM_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_GUI_NM_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_GUI_NM_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    unregister_code (KC_LGUI);
  } else {


@@ 102,7 102,7 @@ void dance_GUI_NM_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_ALT_NM_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_ALT_NM_finished (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
	register_code (KC_LALT);
  } else {


@@ 111,7 111,7 @@ void dance_ALT_NM_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_ALT_NM_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_ALT_NM_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    unregister_code (KC_LALT);
  } else {


@@ 120,7 120,7 @@ void dance_ALT_NM_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_SFT_NM_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_SFT_NM_finished (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
	register_code (KC_LSFT);
	set_oneshot_mods(MOD_LSFT);


@@ 130,7 130,7 @@ void dance_SFT_NM_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_SFT_NM_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_SFT_NM_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    unregister_code (KC_LSFT);
  } else {


@@ 140,7 140,7 @@ void dance_SFT_NM_reset (qk_tap_dance_state_t *state, void *user_data) {
}


qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
 [CTL_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_CTL_NM_finished, dance_CTL_NM_reset),
 [GUI_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_GUI_NM_finished, dance_GUI_NM_reset),
 [ALT_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_ALT_NM_finished, dance_ALT_NM_reset),

M keyboards/kbdfans/kbd75/keymaps/adamdehaven/keymap.c => keyboards/kbdfans/kbd75/keymaps/adamdehaven/keymap.c +1 -1
@@ 44,7 44,7 @@ enum tapdance {
    TD_PGDN
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for PageUp, twice for Home
    [TD_PGUP] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, KC_HOME),
    // Tap once for PageDown, twice for End

M keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c => keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c +1 -1
@@ 31,7 31,7 @@ enum tap_dances {
};

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Escape, twice for Caps Lock
    [LAG] = ACTION_TAP_DANCE_DOUBLE(KC_LALT, KC_LGUI),
    [RAG] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, KC_RGUI),

M keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/keymap.c => keyboards/kbdfans/kbdpad/mk2/keymaps/iracing_replay/keymap.c +3 -3
@@ 51,7 51,7 @@ void camera_number(uint16_t tens, uint16_t ones) {
    tap_code(KC_ENT);
}

void cam_up(qk_tap_dance_state_t *state, void *user_data) {
void cam_up(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:                     
            tap_code(KC_C);             // tap once for next cam


@@ 62,7 62,7 @@ void cam_up(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void cam_down(qk_tap_dance_state_t *state, void *user_data) {
void cam_down(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:                     
            tap_code16(LSFT(KC_C));     // tap once for prev cam


@@ 74,7 74,7 @@ void cam_down(qk_tap_dance_state_t *state, void *user_data) {
}

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_CAR] = ACTION_TAP_DANCE_DOUBLE(
        LSFT(KC_V),                 // tap once for prev car
        LCTL(KC_V)                  // tap twice for my car

M keyboards/keebio/bdn9/keymaps/brandonschlack/keymap.c => keyboards/keebio/bdn9/keymaps/brandonschlack/keymap.c +1 -1
@@ 57,7 57,7 @@ enum bdn9_dances {
    TD_DTAP_ADJT
};
// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_DTAP_ADIO] = ACTION_TAP_DANCE_TRIGGER_LAYER(DOUBLE_TAP, _AUDIO),
    [TD_DTAP_LGHT] = ACTION_TAP_DANCE_TRIGGER_LAYER(DOUBLE_TAP, _LIGHT),
    [TD_DTAP_ADJT] = ACTION_TAP_DANCE_TRIGGER_LAYER(DOUBLE_TAP, _ADJUST),

M keyboards/keebio/bdn9/keymaps/eosti/keymap.c => keyboards/keebio/bdn9/keymaps/eosti/keymap.c +7 -7
@@ 48,11 48,11 @@ static td_state_t td_state;
// declare your tapdance functions:

// function to determine the current tapdance state
int cur_dance (qk_tap_dance_state_t *state);
int cur_dance (tap_dance_state_t *state);

// `finished` and `reset` functions for each tapdance keycode
void altlp_finished (qk_tap_dance_state_t *state, void *user_data);
void altlp_reset (qk_tap_dance_state_t *state, void *user_data);
void altlp_finished (tap_dance_state_t *state, void *user_data);
void altlp_reset (tap_dance_state_t *state, void *user_data);

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  switch (keycode) {


@@ 137,7 137,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
// Tapdance! Hold to use as a modifier to the _MOD layout, tap to change it between _BASE and _MACRO

// determine the tapdance state to return
int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->interrupted || !state->pressed) { return SINGLE_TAP; }
    else { return SINGLE_HOLD; }


@@ 146,7 146,7 @@ int cur_dance (qk_tap_dance_state_t *state) {

// handle the possible states for each tapdance keycode you define:

void altlp_finished (qk_tap_dance_state_t *state, void *user_data) {
void altlp_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 158,7 158,7 @@ void altlp_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void altlp_reset (qk_tap_dance_state_t *state, void *user_data) {
void altlp_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      break;


@@ 169,6 169,6 @@ void altlp_reset (qk_tap_dance_state_t *state, void *user_data) {
}

// define `ACTION_TAP_DANCE_FN_ADVANCED()` for each tapdance keycode, passing in `finished` and `reset` functions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [LAY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altlp_finished, altlp_reset)
};

M keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c => keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c +3 -3
@@ 47,20 47,20 @@ enum {
  PSLPAS
};

void dance_LAYER_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_on(_ADJUST2);
     set_oneshot_layer(_ADJUST2, ONESHOT_START);
  }
}
void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_off(_ADJUST2);
     clear_oneshot_layer_state(ONESHOT_PRESSED);
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
[ADJ]    = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset),  //  Double-tap to activate Adjust layer via oneshot layer
[LBCB]   = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR),  // Left bracket on a single-tap, left brace on a double-tap
[RBCB]   = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR),  // Right bracket on a single-tap, right brace on a double-tap

M keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c => keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c +3 -3
@@ 36,20 36,20 @@ enum {
  PSPA
};

void dance_LAYER_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_on(_ADJUST2);
     set_oneshot_layer(_ADJUST2, ONESHOT_START);
  }
}
void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_off(_ADJUST2);
     clear_oneshot_layer_state(ONESHOT_PRESSED);
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
[ADJ]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset),  //  Double-tap to activate Adjust layer via oneshot layer
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR),  // Left bracket on a single-tap, left brace on a double-tap
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR),  // Right bracket on a single-tap, right brace on a double-tap

M keyboards/keebio/iris/keymaps/adamgate/keymap.c => keyboards/keebio/iris/keymaps/adamgate/keymap.c +1 -1
@@ 36,7 36,7 @@ enum custom_tapdances {
   TD_SHFT_CAPS = 0,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), //shift if pressed 1x, caps lock if pressed 2x
};


M keyboards/keebio/iris/keymaps/boo/keymap.c => keyboards/keebio/iris/keymaps/boo/keymap.c +1 -1
@@ 44,7 44,7 @@ enum keycodes {
    KC_KAK = SAFE_RANGE,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [_LCTLGUI] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, KC_LGUI),
};


M keyboards/keebio/iris/keymaps/davidrambo/keymap.c => keyboards/keebio/iris/keymaps/davidrambo/keymap.c +3 -3
@@ 126,7 126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Shift vs. capslock function. From bbaserdem's Planck keymap (since deprecated).
void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
void caps_tap (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_code (KC_LSFT);
    } else if (state->count == 2) {


@@ 134,7 134,7 @@ void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
        register_code (KC_CAPS);
    }
}
void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
void caps_tap_end (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code (KC_LSFT);
    } else {


@@ 142,7 142,7 @@ void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    //Tap once for Shift, twice for Caps Lock
    [SFT_LCK] = ACTION_TAP_DANCE_FN_ADVANCED( caps_tap, NULL, caps_tap_end)
};

M keyboards/keebio/iris/keymaps/khord/keymap.c => keyboards/keebio/iris/keymaps/khord/keymap.c +1 -1
@@ 79,7 79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  )
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [SFT_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
};


M keyboards/keebio/iris/keymaps/omgvee/keymap.c => keyboards/keebio/iris/keymaps/omgvee/keymap.c +1 -1
@@ 40,7 40,7 @@ enum {
  TD_SCL = 0
};
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Shift, twice for Caps Lock
  [TD_SCL]  = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
};

M keyboards/keebio/iris/keymaps/sq5rix/keymap.c => keyboards/keebio/iris/keymaps/sq5rix/keymap.c +1 -1
@@ 36,7 36,7 @@ enum custom_keycodes {
enum {
    TD_S
};
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_S] = ACTION_TAP_DANCE_DOUBLE(KC_S, KC_Z),
};


M keyboards/keebio/iris/keymaps/two_knob/keymap.c => keyboards/keebio/iris/keymaps/two_knob/keymap.c +1 -1
@@ 53,7 53,7 @@ enum tapdances {
 *
 * To use this in the configurator, enter the name 'TD_FIVE_ENTER' in the "Any" key.
 */
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    /* Tap once for 5, twice for Enter. */
    [_TD_FIVE_ENTER] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_ENT),
};

M keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c => keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c +3 -3
@@ 43,20 43,20 @@ enum {
  PSLPAS
};

void dance_LAYER_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_on(_ADJUST2);
     set_oneshot_layer(_ADJUST2, ONESHOT_START);
  }
}
void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_off(_ADJUST2);
     clear_oneshot_layer_state(ONESHOT_PRESSED);
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
[ADJ]    = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset),  //  Double-tap to activate Adjust layer via oneshot layer
[LBCB]   = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR),  // Left bracket on a single-tap, left brace on a double-tap
[RBCB]   = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR),  // Right bracket on a single-tap, right brace on a double-tap

M keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c => keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c +3 -3
@@ 34,20 34,20 @@ enum {
  PSPA
};

void dance_LAYER_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_on(_ADJUST2);
     set_oneshot_layer(_ADJUST2, ONESHOT_START);
  }
}
void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_off(_ADJUST2);
     clear_oneshot_layer_state(ONESHOT_PRESSED);
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
[ADJ]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset),  //  Double-tap to activate Adjust layer via oneshot layer
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR),  // Left bracket on a single-tap, left brace on a double-tap
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR),  // Right bracket on a single-tap, right brace on a double-tap

M keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c => keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c +3 -3
@@ 92,7 92,7 @@ bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
	}
}

void dance_hex(qk_tap_dance_state_t *state, void *user_data) {
void dance_hex(tap_dance_state_t *state, void *user_data) {
  switch(state->count) {
    case 1:
			SEND_STRING("0x");


@@ 103,7 103,7 @@ void dance_hex(qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_lang(qk_tap_dance_state_t *state, void *user_data) {
void dance_lang(tap_dance_state_t *state, void *user_data) {
  uint32_t default_layer;
  switch(state->count) {
    case 1:


@@ 121,7 121,7 @@ void dance_lang(qk_tap_dance_state_t *state, void *user_data) {
}


qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TdH] = ACTION_TAP_DANCE_FN(dance_hex),
  [TdL] = ACTION_TAP_DANCE_FN(dance_lang)
};

M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_mac_caps.c => keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_mac_caps.c +2 -2
@@ 19,7 19,7 @@

static td_tap_t mac_caps_language_tap_state = {.is_press_action = true, .state = TD_NONE};

void mac_caps_language_finished(qk_tap_dance_state_t *state, void *user_data) {
void mac_caps_language_finished(tap_dance_state_t *state, void *user_data) {
    mac_caps_language_tap_state.state = current_dance(state);
    switch (mac_caps_language_tap_state.state) {
        case TD_SINGLE_TAP:


@@ 34,7 34,7 @@ void mac_caps_language_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void mac_caps_language_reset(qk_tap_dance_state_t *state, void *user_data) {
void mac_caps_language_reset(tap_dance_state_t *state, void *user_data) {
    switch (mac_caps_language_tap_state.state) {
        case TD_SINGLE_TAP:
            unregister_code(KC_SPACE);

M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_mac_caps.h => keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_mac_caps.h +2 -2
@@ 19,5 19,5 @@

#include "tap_dance_setup.h"

void mac_caps_language_finished(qk_tap_dance_state_t *state, void *user_data);
void mac_caps_language_reset(qk_tap_dance_state_t *state, void *user_data);
void mac_caps_language_finished(tap_dance_state_t *state, void *user_data);
void mac_caps_language_reset(tap_dance_state_t *state, void *user_data);

M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_setup.c => keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_setup.c +1 -1
@@ 15,7 15,7 @@
 */
#include "tap_dance_setup.h"

td_state_t current_dance(qk_tap_dance_state_t *state) {
td_state_t current_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
        /* Key has not been interrupted, but the key is still held. Means you w ant to send a 'HOLD'. */

M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_setup.h => keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_setup.h +1 -1
@@ 35,4 35,4 @@ typedef struct {
    td_state_t state;
} td_tap_t;

td_state_t current_dance(qk_tap_dance_state_t *state);
td_state_t current_dance(tap_dance_state_t *state);

M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_user.c => keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_user.c +1 -1
@@ 20,7 20,7 @@

// clang-format off

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [MAC_CAPS_LANGUAGE_CHANGE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, mac_caps_language_finished, mac_caps_language_reset),
    [WIN_CAPS_LANGUAGE_CHANGE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, win_caps_language_finished, win_caps_language_reset)
};

M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_win_caps.c => keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_win_caps.c +2 -2
@@ 19,7 19,7 @@

static td_tap_t win_caps_language_tap_state = {.is_press_action = true, .state = TD_NONE};

void win_caps_language_finished(qk_tap_dance_state_t *state, void *user_data) {
void win_caps_language_finished(tap_dance_state_t *state, void *user_data) {
    win_caps_language_tap_state.state = current_dance(state);
    switch (win_caps_language_tap_state.state) {
        case TD_SINGLE_TAP:


@@ 34,7 34,7 @@ void win_caps_language_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void win_caps_language_reset(qk_tap_dance_state_t *state, void *user_data) {
void win_caps_language_reset(tap_dance_state_t *state, void *user_data) {
    switch (win_caps_language_tap_state.state) {
        case TD_SINGLE_TAP:
            unregister_code(KC_SPACE);

M keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_win_caps.h => keyboards/keychron/q1/ansi/keymaps/teimor/tap_dance_win_caps.h +2 -2
@@ 19,5 19,5 @@

#include "tap_dance_setup.h"

void win_caps_language_finished(qk_tap_dance_state_t *state, void *user_data);
void win_caps_language_reset(qk_tap_dance_state_t *state, void *user_data);
void win_caps_language_finished(tap_dance_state_t *state, void *user_data);
void win_caps_language_reset(tap_dance_state_t *state, void *user_data);

M keyboards/keyhive/navi10/keymaps/default/keymap.c => keyboards/keyhive/navi10/keymaps/default/keymap.c +7 -7
@@ 33,11 33,11 @@ enum {
};

//function to handle all the tap dances
int cur_dance(qk_tap_dance_state_t *state);
int cur_dance(tap_dance_state_t *state);

//functions for each tap dance
void tk_finished(qk_tap_dance_state_t *state, void *user_data);
void tk_reset(qk_tap_dance_state_t *state, void *user_data);
void tk_finished(tap_dance_state_t *state, void *user_data);
void tk_reset(tap_dance_state_t *state, void *user_data);

#define INDICATOR_LED   B5



@@ 66,7 66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

//determine the current tap dance state
int cur_dance (qk_tap_dance_state_t *state){
int cur_dance (tap_dance_state_t *state){
    if(state->count == 1){
        //if a tap was registered
        if(!state->pressed){


@@ 88,7 88,7 @@ static tap tk_tap_state = {
};

//functions that control what our tap dance key does
void tk_finished(qk_tap_dance_state_t *state, void *user_data){
void tk_finished(tap_dance_state_t *state, void *user_data){
    tk_tap_state.state = cur_dance(state);
    switch(tk_tap_state.state){
        case SINGLE_TAP:


@@ 116,7 116,7 @@ void tk_finished(qk_tap_dance_state_t *state, void *user_data){
    }
}

void tk_reset(qk_tap_dance_state_t *state, void *user_data){
void tk_reset(tap_dance_state_t *state, void *user_data){
    //if held and released, leave the layer
    if(tk_tap_state.state == SINGLE_HOLD){
        layer_off(_FN0);


@@ 126,6 126,6 @@ void tk_reset(qk_tap_dance_state_t *state, void *user_data){
}

//associate the tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tk_finished, tk_reset)
};

M keyboards/keyhive/navi10/keymaps/devdev/keymap.c => keyboards/keyhive/navi10/keymaps/devdev/keymap.c +7 -7
@@ 67,11 67,11 @@ enum custom_keycodes { // git macros
};

//function to handle all the tap dances
int cur_dance(qk_tap_dance_state_t *state);
int cur_dance(tap_dance_state_t *state);

//functions for each tap dance
void tk_finished(qk_tap_dance_state_t *state, void *user_data);
void tk_reset(qk_tap_dance_state_t *state, void *user_data);
void tk_finished(tap_dance_state_t *state, void *user_data);
void tk_reset(tap_dance_state_t *state, void *user_data);

// define the macros in here 
bool process_record_user(uint16_t keycode, keyrecord_t *record) {


@@ 167,7 167,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

//determine the current tap dance state
int cur_dance (qk_tap_dance_state_t *state){
int cur_dance (tap_dance_state_t *state){
    if(state->count == 1)
    {
        //if a tap was registered


@@ 203,7 203,7 @@ static tap tk_tap_state = {
};

//functions that control what our tap dance key does
void tk_finished(qk_tap_dance_state_t *state, void *user_data){
void tk_finished(tap_dance_state_t *state, void *user_data){
    tk_tap_state.state = cur_dance(state);
	uint8_t val = rgblight_get_val();
    switch(tk_tap_state.state){


@@ 246,7 246,7 @@ void tk_finished(qk_tap_dance_state_t *state, void *user_data){
    }
}

void tk_reset(qk_tap_dance_state_t *state, void *user_data){
void tk_reset(tap_dance_state_t *state, void *user_data){
    //if held and released, leave the layer
    if(tk_tap_state.state == SINGLE_HOLD){
        layer_off(_GI4);


@@ 258,6 258,6 @@ void tk_reset(qk_tap_dance_state_t *state, void *user_data){
}

//associate the tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tk_finished, tk_reset)
};

M keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c => keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c +7 -7
@@ 34,11 34,11 @@ enum {
};

//function to handle all the tap dances
int cur_dance(qk_tap_dance_state_t *state);
int cur_dance(tap_dance_state_t *state);

//functions for each tap dance
void tk_finished(qk_tap_dance_state_t *state, void *user_data);
void tk_reset(qk_tap_dance_state_t *state, void *user_data);
void tk_finished(tap_dance_state_t *state, void *user_data);
void tk_reset(tap_dance_state_t *state, void *user_data);

#define INDICATOR_LED   B5
#define TX_LED          D5


@@ 85,7 85,7 @@ void matrix_init_user(void) {
}

//determine the current tap dance state
int cur_dance (qk_tap_dance_state_t *state){
int cur_dance (tap_dance_state_t *state){
    if(state->count == 1){
        //if a tap was registered
        if(!state->pressed){


@@ 114,7 114,7 @@ static tap tk_tap_state = {
};

//functions that control what our tap dance key does
void tk_finished(qk_tap_dance_state_t *state, void *user_data){
void tk_finished(tap_dance_state_t *state, void *user_data){
    tk_tap_state.state = cur_dance(state);
    switch(tk_tap_state.state){
        case SINGLE_TAP:


@@ 166,7 166,7 @@ void tk_finished(qk_tap_dance_state_t *state, void *user_data){
    }
}

void tk_reset(qk_tap_dance_state_t *state, void *user_data){
void tk_reset(tap_dance_state_t *state, void *user_data){
    //if held and released, leave the layer
    if(tk_tap_state.state == SINGLE_HOLD){
        layer_off(_FN0);


@@ 177,6 177,6 @@ void tk_reset(qk_tap_dance_state_t *state, void *user_data){


//associate the tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tk_finished, tk_reset)
};

M keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c => keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c +1 -1
@@ 89,6 89,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_PLAY_DO_NOT_DISTURB] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_F6)
};
\ No newline at end of file

M keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c => keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c +1 -1
@@ 30,7 30,7 @@ enum tapdance {
    TD_APP_CAPS_LOCK,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_SINGLE_QUOTE_DOUBLE_QUOTES] = ACTION_TAP_DANCE_DOUBLE(KC_QUOT, KC_DQUO),
    [TD_APP_CAPS_LOCK]              = ACTION_TAP_DANCE_DOUBLE(KC_APP, KC_CAPS),
};

M keyboards/kinesis/keymaps/farmergreg/keymap.c => keyboards/kinesis/keymaps/farmergreg/keymap.c +1 -1
@@ 45,7 45,7 @@ enum tap_dances {
	TD_CAPS,	// ESC on tap, CAPS on double tap
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
};


M keyboards/kinesis/keymaps/insertsnideremarks/keymap.c => keyboards/kinesis/keymaps/insertsnideremarks/keymap.c +3 -3
@@ 47,20 47,20 @@ enum {
  PSLPAS
};

void dance_LAYER_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_on(_ADJUST2);
     set_oneshot_layer(_ADJUST2, ONESHOT_START);
  }
}
void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_off(_ADJUST2);
     clear_oneshot_layer_state(ONESHOT_PRESSED);
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
[ADJ]    = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset),  //  Double-tap to activate Adjust layer via oneshot layer
[LBCB]   = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR),  // Left bracket on a single-tap, left brace on a double-tap
[RBCB]   = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR),  // Right bracket on a single-tap, right brace on a double-tap

M keyboards/kinesis/keymaps/tuesdayjohn/keymap.c => keyboards/kinesis/keymaps/tuesdayjohn/keymap.c +3 -3
@@ 36,20 36,20 @@ enum {
  PSPA
};

void dance_LAYER_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_on(_ADJUST2);
     set_oneshot_layer(_ADJUST2, ONESHOT_START);
  }
}
void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
     layer_off(_ADJUST2);
     clear_oneshot_layer_state(ONESHOT_PRESSED);
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
[ADJ]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset),  //  Double-tap to activate Adjust layer via oneshot layer
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR),  // Left bracket on a single-tap, left brace on a double-tap
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR),  // Right bracket on a single-tap, right brace on a double-tap

M keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c => keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c +2 -2
@@ 32,7 32,7 @@ enum avenue_tapcodes {
  TD_DBQT,
};

void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) { // *Line_Note.001
void dance_rst_reset (tap_dance_state_t *state, void *user_data) { // *Line_Note.001
  if (state->count >= 2) {
    reset_keyboard();
    reset_tap_dance(state);


@@ 40,7 40,7 @@ void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) { // *Line_N
}

//Tap Dance Functions:
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
 [TD_RST] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, NULL, dance_rst_reset), // References "dance_rst_reset" (*Line_Note.001)
 [TD_DBQT] = ACTION_TAP_DANCE_DOUBLE (KC_QUOTE, KC_DQT)
};

M keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c => keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c +2 -2
@@ 32,7 32,7 @@ enum avenue_tapcodes {
  TD_DBQT,
};

void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) { // *Line_Note.001
void dance_rst_reset (tap_dance_state_t *state, void *user_data) { // *Line_Note.001
  if (state->count >= 2) {
    reset_keyboard();
    reset_tap_dance(state);


@@ 40,7 40,7 @@ void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) { // *Line_N
}

//Tap Dance Functions:
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
 [TD_RST] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, NULL, dance_rst_reset), // References "dance_rst_reset" (*Line_Note.001)
 [TD_DBQT] = ACTION_TAP_DANCE_DOUBLE (KC_QUOTE, KC_DQT)
};

M keyboards/knops/mini/keymaps/mverteuil/keymap.c => keyboards/knops/mini/keymaps/mverteuil/keymap.c +5 -5
@@ 21,8 21,8 @@

void led_init_animation(void);
void led_set_layer(int layer);
void td_spectacles_finish(qk_tap_dance_state_t *state, void *user_data);
void td_spectacles_reset(qk_tap_dance_state_t *state, void *user_data);
void td_spectacles_finish(tap_dance_state_t *state, void *user_data);
void td_spectacles_reset(tap_dance_state_t *state, void *user_data);

enum layer_led_mode {
    ALL_LAYERS_OFF = -1,


@@ 47,7 47,7 @@ enum mini_layers {

enum { TD_SPEC = 0 };

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    /* Tap once for spectacles macro, hold for layer toggle */
    [TD_SPEC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_spectacles_finish, td_spectacles_reset),
};


@@ 295,7 295,7 @@ void matrix_init_user(void) {
    led_init_animation();
}

void td_spectacles_finish(qk_tap_dance_state_t *state, void *user_data) {
void td_spectacles_finish(tap_dance_state_t *state, void *user_data) {
    if (state->pressed) {
        layer_on(_LAYER_SELECT);
    } else {


@@ 303,4 303,4 @@ void td_spectacles_finish(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_spectacles_reset(qk_tap_dance_state_t *state, void *user_data) { layer_off(_LAYER_SELECT); }
void td_spectacles_reset(tap_dance_state_t *state, void *user_data) { layer_off(_LAYER_SELECT); }

M keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c => keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c +1 -1
@@ 48,7 48,7 @@ enum {
    TD_PASTE_COPY
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_PAST_PSLS]  = ACTION_TAP_DANCE_DOUBLE(KC_PAST,    KC_PSLS),
    [TD_PASTE_COPY] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_V), LCTL(KC_C))
};

M keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c => keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c +1 -1
@@ 21,7 21,7 @@ enum {
    TD_MEDIA, TD_SCREEN,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
    [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
};

M keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c => keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c +1 -1
@@ 177,7 177,7 @@ enum {
};

//tap dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
    [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
};

M keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c => keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c +1 -1
@@ 150,7 150,7 @@ enum {
};

//tap dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
    [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
};

M keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c => keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c +1 -1
@@ 114,7 114,7 @@ enum {
};

//tap dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
    [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
};

M keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c => keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c +1 -1
@@ 23,7 23,7 @@ enum {
};

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  // tap once for home, twice for end
  [TD_HOME_END] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END)
};

M keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c => keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c +1 -1
@@ 22,7 22,7 @@ enum {
};

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //tap once for home, twice for end
  [TD_HOME_END] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END)
};

M keyboards/kprepublic/jj40/keymaps/stevexyz/keymap.c => keyboards/kprepublic/jj40/keymaps/stevexyz/keymap.c +1 -1
@@ 57,7 57,7 @@ enum {
  TD_O_GRAVE,
  TD_U_GRAVE,
};
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_P_BSPC] = ACTION_TAP_DANCE_DOUBLE(KC_P, KC_BSPC),
  [TD_Q_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC),
  [TD_A_TAB] = ACTION_TAP_DANCE_DOUBLE(KC_A, KC_TAB),

M keyboards/kprepublic/jj50/keymaps/archetype/keymap.c => keyboards/kprepublic/jj50/keymaps/archetype/keymap.c +8 -8
@@ 36,7 36,7 @@ enum {
};


void left_brackets(qk_tap_dance_state_t *state, void *user_data) {
void left_brackets(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
      if (!state->pressed) {
        register_code16(KC_LPRN);


@@ 50,7 50,7 @@ void left_brackets(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void left_brackets_reset(qk_tap_dance_state_t *state, void *user_data) {
void left_brackets_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code16(KC_LPRN);
    } else if (state->count == 2) {


@@ 62,7 62,7 @@ void left_brackets_reset(qk_tap_dance_state_t *state, void *user_data) {
    unregister_code(KC_LCTL);
}

void right_brackets(qk_tap_dance_state_t *state, void *user_data) {
void right_brackets(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
      if (!state->pressed) {
        register_code16(KC_RPRN);


@@ 76,7 76,7 @@ void right_brackets(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void right_brackets_reset(qk_tap_dance_state_t *state, void *user_data) {
void right_brackets_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code16(KC_RPRN);
    } else if (state->count == 2) {


@@ 104,7 104,7 @@ enum {
  TRIPLE_SINGLE_TAP = 8, //send three single taps
};

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->interrupted || !state->pressed)  return SINGLE_TAP;
    else return SINGLE_HOLD;


@@ 128,7 128,7 @@ static tap tap_state = {
  .state = 0
};

void layer_switcher (qk_tap_dance_state_t *state, void *user_data) {
void layer_switcher (tap_dance_state_t *state, void *user_data) {
  tap_state.state = cur_dance(state);
  switch (tap_state.state) {
    case SINGLE_TAP: register_code(KC_ESC); break;


@@ 145,7 145,7 @@ void layer_switcher (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void layer_switcher_reset (qk_tap_dance_state_t *state, void *user_data) {
void layer_switcher_reset (tap_dance_state_t *state, void *user_data) {
  switch (tap_state.state) {
    case SINGLE_TAP: unregister_code(KC_ESC); break;
    case SINGLE_HOLD: unregister_code(KC_ESC); break;


@@ 159,7 159,7 @@ void layer_switcher_reset (qk_tap_dance_state_t *state, void *user_data) {
  tap_state.state = 0;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  // Single tap = Backspace | Double tap = Delete
  [TD_BSPC_DEL] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, KC_DEL),
  // Single tap = ( | Double tap = [ | Triple tap = { | Single hold = KC_LCTL

M keyboards/late9/rev1/keymaps/multitap/keymap.c => keyboards/late9/rev1/keymaps/multitap/keymap.c +12 -12
@@ 68,7 68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Tap Dance cycles
void dance_1 (qk_tap_dance_state_t *state, void *user_data) {
void dance_1 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_DOT);
        else return tap_code(KC_1);


@@ 93,7 93,7 @@ void dance_1 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_2 (qk_tap_dance_state_t *state, void *user_data) {
void dance_2 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_A);
        else return tap_code(KC_2);


@@ 106,7 106,7 @@ void dance_2 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_3 (qk_tap_dance_state_t *state, void *user_data) {
void dance_3 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_D);
        else return tap_code(KC_3);


@@ 119,7 119,7 @@ void dance_3 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_4 (qk_tap_dance_state_t *state, void *user_data) {
void dance_4 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_G);
        else return tap_code(KC_4);


@@ 132,7 132,7 @@ void dance_4 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_5 (qk_tap_dance_state_t *state, void *user_data) {
void dance_5 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_J);
        else return tap_code(KC_5);


@@ 145,7 145,7 @@ void dance_5 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_6 (qk_tap_dance_state_t *state, void *user_data) {
void dance_6 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_M);
        else return tap_code(KC_6);


@@ 158,7 158,7 @@ void dance_6 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_7 (qk_tap_dance_state_t *state, void *user_data) {
void dance_7 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_P);
        else return tap_code(KC_7);


@@ 173,7 173,7 @@ void dance_7 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_8 (qk_tap_dance_state_t *state, void *user_data) {
void dance_8 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_T);
        else return tap_code(KC_8);


@@ 186,7 186,7 @@ void dance_8 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_9 (qk_tap_dance_state_t *state, void *user_data) {
void dance_9 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_W);
        else return tap_code(KC_9);


@@ 201,7 201,7 @@ void dance_9 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_0 (qk_tap_dance_state_t *state, void *user_data) {
void dance_0 (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return tap_code(KC_SPACE);
        else return tap_code(KC_0);


@@ 210,7 210,7 @@ void dance_0 (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_maiusc (qk_tap_dance_state_t *state, void *user_data) {
void dance_maiusc (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return set_oneshot_mods(MOD_BIT(KC_LSFT)); 
        else return tap_code(KC_CAPS);


@@ 220,7 220,7 @@ void dance_maiusc (qk_tap_dance_state_t *state, void *user_data) {
}

// Tap Dance actions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_PNCT] = ACTION_TAP_DANCE_FN (dance_1),
    [TD_ABC] = ACTION_TAP_DANCE_FN (dance_2),
    [TD_DEF] = ACTION_TAP_DANCE_FN (dance_3),

M keyboards/lets_split/keymaps/adam/keymap.c => keyboards/lets_split/keymaps/adam/keymap.c +2 -2
@@ 48,7 48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

#ifdef TAP_DANCE_ENABLE
void tap_1(qk_tap_dance_state_t *state, void *user_data) {
void tap_1(tap_dance_state_t *state, void *user_data) {
  switch (state->count) {
  case 1:
    register_code (KC_1);


@@ 66,7 66,7 @@ void tap_1(qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
	[0]  = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_ESC),
  [1]  = ACTION_TAP_DANCE_FN(tap_1)
};

M keyboards/lets_split/keymaps/cpeters1982/keymap.c => keyboards/lets_split/keymaps/cpeters1982/keymap.c +1 -1
@@ 32,7 32,7 @@ enum {
};

// Tap dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_GRV_TILD] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD),
};
*/

M keyboards/lets_split/keymaps/geripgeri/keymap.c => keyboards/lets_split/keymaps/geripgeri/keymap.c +7 -7
@@ 47,10 47,10 @@ enum {
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)

int cur_dance (qk_tap_dance_state_t *state);
int cur_dance (tap_dance_state_t *state);

void u_finished (qk_tap_dance_state_t *state, void *user_data);
void o_finished (qk_tap_dance_state_t *state, void *user_data);
void u_finished (tap_dance_state_t *state, void *user_data);
void o_finished (tap_dance_state_t *state, void *user_data);

uint8_t rgb_mode = RGBLIGHT_MODE_BREATHING + 1;



@@ 281,7 281,7 @@ void led_set_user(uint8_t usb_led) {
  rgblight_mode_noeeprom(rgb_mode);
}

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->interrupted || !state->pressed)  return SINGLE_TAP;
    //key has not been interrupted, but they key is still held. Means you want to send a 'HOLD'.


@@ 317,7 317,7 @@ static tap otap_state = {
  .state = 0
};

void u_finished (qk_tap_dance_state_t *state, void *user_data) {
void u_finished (tap_dance_state_t *state, void *user_data) {
  utap_state.state = cur_dance(state);
  switch(utap_state.state) {
    case SINGLE_TAP: SEND_STRING(SS_RALT("]")); break;


@@ 326,7 326,7 @@ void u_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void o_finished (qk_tap_dance_state_t *state, void *user_data) {
void o_finished (tap_dance_state_t *state, void *user_data) {
  otap_state.state = cur_dance(state);
  switch(otap_state.state) {
    case SINGLE_TAP: SEND_STRING(SS_RALT("=")); break;


@@ 335,7 335,7 @@ void o_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [U] = ACTION_TAP_DANCE_FN(u_finished),
  [O] = ACTION_TAP_DANCE_FN(o_finished),
  [NEXTPREV] = ACTION_TAP_DANCE_DOUBLE(KC_MNXT, KC_MPRV),

M keyboards/lets_split/keymaps/heartrobotninja/keymap.c => keyboards/lets_split/keymaps/heartrobotninja/keymap.c +1 -1
@@ 109,7 109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
        [TD_BTK] = ACTION_TAP_DANCE_DOUBLE(KC_QUOT, KC_GRV),
        [TD_TDE] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_TILD),
        [TD_LPRN] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LPRN),

M keyboards/lets_split/keymaps/khord/keymap.c => keyboards/lets_split/keymaps/khord/keymap.c +1 -1
@@ 102,7 102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [SFT_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
};


M keyboards/lets_split/keymaps/mbsurfer/keymap.c => keyboards/lets_split/keymaps/mbsurfer/keymap.c +1 -1
@@ 153,7 153,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
int RGB_current_mode;
int RGB_current_hue;

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [SFT_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
  [LFT_HOM] = ACTION_TAP_DANCE_DOUBLE(KC_LEFT, KC_HOME),
  [DWN_PDN] = ACTION_TAP_DANCE_DOUBLE(KC_DOWN, KC_PGDN),

M keyboards/lets_split/keymaps/tylerwince/keymap.c => keyboards/lets_split/keymaps/tylerwince/keymap.c +1 -1
@@ 26,7 26,7 @@ enum {
  TD_SEMI_COLON,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_SEMI_COLON] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_COLN),
};


M keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c => keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c +5 -5
@@ 105,7 105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    )
};

void tap_space_spam_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_space_spam_finished(tap_dance_state_t *state, void *user_data) {
    if (get_mods() & (MOD_BIT(KC_LGUI))) {
      return;
    }


@@ 115,12 115,12 @@ void tap_space_spam_finished(qk_tap_dance_state_t *state, void *user_data) {
    tap_code(KC_SPC);
}

void tap_space_spam_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_space_spam_reset(tap_dance_state_t *state, void *user_data) {
    spam_space = false;
    unregister_code(KC_SPC);
}

void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_esc_func_finished(tap_dance_state_t *state, void *user_data) {
    if (state->pressed) {
        layer_on(FUNC);
    } else {


@@ 128,11 128,11 @@ void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void tap_esc_func_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_esc_func_reset(tap_dance_state_t *state, void *user_data) {
    layer_off(FUNC);
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset),
    [TD_SPC_SPAM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_space_spam_finished, tap_space_spam_reset),
};

M keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c => keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c +3 -3
@@ 155,7 155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    )
};

void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_esc_func_finished(tap_dance_state_t *state, void *user_data) {
    if (state->pressed) {
        layer_on(FUNC);
    } else {


@@ 163,11 163,11 @@ void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void tap_esc_func_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_esc_func_reset(tap_dance_state_t *state, void *user_data) {
    layer_off(FUNC);
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset),
};


M keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c => keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c +3 -3
@@ 93,7 93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    )
};

void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_esc_func_finished(tap_dance_state_t *state, void *user_data) {
    if (state->pressed) {
        layer_on(FUNC);
    } else {


@@ 101,11 101,11 @@ void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void tap_esc_func_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_esc_func_reset(tap_dance_state_t *state, void *user_data) {
    layer_off(FUNC);
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset),
};


M keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c => keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c +1 -1
@@ 41,7 41,7 @@ enum launchpad_dances {
    TD_REDR_H
};
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_SHLD_LGHT] = ACTION_TAP_DANCE_TRIGGER_LAYER(SINGLE_HOLD, _LIGHT),
    [TD_SHLD_ADJT] = ACTION_TAP_DANCE_TRIGGER_LAYER(SINGLE_HOLD, _ADJUST),
    [TD_REDR_H] = ACTION_TAP_DANCE_DOUBLE(KC_H, KC_R)

M keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c => keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c +23 -23
@@ 40,17 40,17 @@ typedef enum {
} td_state_t;

static td_state_t td_state;
int cur_dance (qk_tap_dance_state_t *state);
void altlp_finished (qk_tap_dance_state_t *state, void *user_data);
void altlp_reset (qk_tap_dance_state_t *state, void *user_data);
void ctlrcb_finished (qk_tap_dance_state_t *state, void *user_data);
void ctlrcb_reset (qk_tap_dance_state_t *state, void *user_data);
void guirp_finished (qk_tap_dance_state_t *state, void *user_data);
void guirp_reset (qk_tap_dance_state_t *state, void *user_data);
void sftlcb_finished (qk_tap_dance_state_t *state, void *user_data);
void sftlcb_reset (qk_tap_dance_state_t *state, void *user_data);
void sftpls_finished (qk_tap_dance_state_t *state, void *user_data);
void sftpls_reset (qk_tap_dance_state_t *state, void *user_data);
int cur_dance (tap_dance_state_t *state);
void altlp_finished (tap_dance_state_t *state, void *user_data);
void altlp_reset (tap_dance_state_t *state, void *user_data);
void ctlrcb_finished (tap_dance_state_t *state, void *user_data);
void ctlrcb_reset (tap_dance_state_t *state, void *user_data);
void guirp_finished (tap_dance_state_t *state, void *user_data);
void guirp_reset (tap_dance_state_t *state, void *user_data);
void sftlcb_finished (tap_dance_state_t *state, void *user_data);
void sftlcb_reset (tap_dance_state_t *state, void *user_data);
void sftpls_finished (tap_dance_state_t *state, void *user_data);
void sftpls_reset (tap_dance_state_t *state, void *user_data);

#define ALT_2 LALT_T(KC_2)
#define ALT_3 LALT_T(KC_3)


@@ 276,7 276,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  }
};

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->interrupted || !state->pressed) return SINGLE_TAP;
    else return SINGLE_HOLD;


@@ 285,7 285,7 @@ int cur_dance (qk_tap_dance_state_t *state) {
  else return 3;
}

void altlp_finished (qk_tap_dance_state_t *state, void *user_data) {
void altlp_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 300,7 300,7 @@ void altlp_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void altlp_reset (qk_tap_dance_state_t *state, void *user_data) {
void altlp_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      unregister_code16(KC_LPRN);


@@ 313,7 313,7 @@ void altlp_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void ctlrcb_finished (qk_tap_dance_state_t *state, void *user_data) {
void ctlrcb_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 328,7 328,7 @@ void ctlrcb_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void ctlrcb_reset (qk_tap_dance_state_t *state, void *user_data) {
void ctlrcb_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      unregister_code16(KC_RCBR);


@@ 341,7 341,7 @@ void ctlrcb_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void guirp_finished (qk_tap_dance_state_t *state, void *user_data) {
void guirp_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 356,7 356,7 @@ void guirp_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void guirp_reset (qk_tap_dance_state_t *state, void *user_data) {
void guirp_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      unregister_code16(KC_RPRN);


@@ 369,7 369,7 @@ void guirp_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void sftlcb_finished (qk_tap_dance_state_t *state, void *user_data) {
void sftlcb_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 384,7 384,7 @@ void sftlcb_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void sftlcb_reset (qk_tap_dance_state_t *state, void *user_data) {
void sftlcb_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      unregister_code16(KC_LCBR);


@@ 397,7 397,7 @@ void sftlcb_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void sftpls_finished (qk_tap_dance_state_t *state, void *user_data) {
void sftpls_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 412,7 412,7 @@ void sftpls_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void sftpls_reset (qk_tap_dance_state_t *state, void *user_data) {
void sftpls_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      unregister_code16(KC_PLUS);


@@ 425,7 425,7 @@ void sftpls_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [ALT_LP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altlp_finished, altlp_reset),
  [CTL_RCB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctlrcb_finished, ctlrcb_reset),
  [GUI_RP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, guirp_finished, guirp_reset),

M keyboards/marksard/treadstone32/keymaps/default/keymap.c => keyboards/marksard/treadstone32/keymaps/default/keymap.c +1 -1
@@ 55,7 55,7 @@ enum custom_keycodes {
// #define KC_CODO  TD(TD_CODO)
// #define KC_SLRO  TD(TD_SLRO)

// qk_tap_dance_action_t tap_dance_actions[] = {
// tap_dance_action_t tap_dance_actions[] = {
//   [TD_CODO] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT),
//   [TD_SLRO] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, JP_BSLS),
// };

M keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c => keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c +1 -1
@@ 56,7 56,7 @@ enum custom_keycodes {
// #define KC_CODO  TD(TD_CODO)
// #define KC_SLRO  TD(TD_SLRO)

// qk_tap_dance_action_t tap_dance_actions[] = {
// tap_dance_action_t tap_dance_actions[] = {
//   [TD_CODO] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT),
//   [TD_SLRO] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, JP_BSLS),
// };

M keyboards/massdrop/alt/keymaps/jdelkins/keymap.c => keyboards/massdrop/alt/keymaps/jdelkins/keymap.c +4 -4
@@ 42,7 42,7 @@ enum alt_keycodes {

int ctl_state = 0;

void ctl_finished(qk_tap_dance_state_t *state, void *user_data) {
void ctl_finished(tap_dance_state_t *state, void *user_data) {
    ctl_state = cur_dance(state);
    switch(ctl_state) {
        case SINGLE_TAP:    leader_start(); break;


@@ 54,7 54,7 @@ void ctl_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ctl_reset(qk_tap_dance_state_t *state, void *user_data) {
void ctl_reset(tap_dance_state_t *state, void *user_data) {
    switch(ctl_state) {
        case SINGLE_HOLD:   unregister_code(KC_LCTL); break;
        case DOUBLE_HOLD:


@@ 63,7 63,7 @@ void ctl_reset(qk_tap_dance_state_t *state, void *user_data) {
    ctl_state = 0;
}

void g_finished(qk_tap_dance_state_t *state, void *user_data) {
void g_finished(tap_dance_state_t *state, void *user_data) {
    switch (cur_dance(state)) {
        case SINGLE_TAP:
            tap_code16(C(KC_END));


@@ 80,7 80,7 @@ enum {
    TD_G,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LDCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctl_finished, ctl_reset),
    [TD_GUI]   = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, KC_RGUI),
    [TD_G]     = ACTION_TAP_DANCE_FN_ADVANCED(NULL, g_finished, NULL),

M keyboards/massdrop/ctrl/keymaps/endgame/keymap.c => keyboards/massdrop/ctrl/keymaps/endgame/keymap.c +1 -1
@@ 25,7 25,7 @@ static const char * sendstring_commands[] = {
};

//Associate our tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LGUI_ML] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_LGUI, _ML),
    [TD_APP_YL] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_APP, _YL),
    [TD_CTRL_TERM] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, LCA(KC_T)),

M keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c => keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c +4 -4
@@ 355,7 355,7 @@ bool rgb_matrix_indicators_user(void) {



td_state_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(tap_dance_state_t *state) {
    if (state->pressed && !state->interrupted) {
        if (state->count == 1) { return TD_SINGLE_HOLD; }
        return TD_DOUBLE_HOLD;


@@ 368,7 368,7 @@ static td_tap_t fn_tap_state = {
    .state = TD_NONE
};

void fn_tap_finished(qk_tap_dance_state_t *state, void *user_data) {
void fn_tap_finished(tap_dance_state_t *state, void *user_data) {
    fn_tap_state.state = cur_dance(state);
    switch (fn_tap_state.state) {
        case TD_SINGLE_HOLD:


@@ 387,7 387,7 @@ void fn_tap_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void fn_tap_reset(qk_tap_dance_state_t *state, void *user_data) {
void fn_tap_reset(tap_dance_state_t *state, void *user_data) {
    switch (fn_tap_state.state) {
        case TD_UNKNOWN:
            unregister_code(KC_APP);


@@ 406,6 406,6 @@ void fn_tap_reset(qk_tap_dance_state_t *state, void *user_data) {
    fn_tap_state.state = TD_NONE;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_FN_SWITCH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, fn_tap_finished, fn_tap_reset)
};

M keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h => keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h +3 -3
@@ 86,11 86,11 @@ typedef struct {
// Declare your tapdance functions:

// Function to determine the current tapdance state
td_state_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(tap_dance_state_t *state);

// `finished` and `reset` functions for each tapdance keycode
void fn_tap_finished(qk_tap_dance_state_t *state, void *user_data);
void fn_tap_reset(qk_tap_dance_state_t *state, void *user_data);
void fn_tap_finished(tap_dance_state_t *state, void *user_data);
void fn_tap_reset(tap_dance_state_t *state, void *user_data);

enum ctrl_keycodes {
    MD_BOOT = SAFE_RANGE,  // Restart into bootloader after hold timeout

M keyboards/matrix/noah/keymaps/blockader/keymap.c => keyboards/matrix/noah/keymaps/blockader/keymap.c +1 -1
@@ 32,7 32,7 @@ enum{
    DANCE_PGUP_TOP,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [DANCE_PGDN_BOTTOM] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, LGUI(KC_DOWN)),
    [DANCE_PGUP_TOP] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, LGUI(KC_UP)),
};

M keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c => keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c +1 -1
@@ 11,7 11,7 @@ enum
  TD_DOTCOM = 0
};
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    //Tap once for Esc, twice for Caps Lock
    [TD_DOTCOM] = ACTION_TAP_DANCE_DOUBLE(KC_COMMA, KC_DOT)
    // Other declarations would go here, separated by commas, if you have them

M keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c => keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c +1 -1
@@ 13,7 13,7 @@ enum {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for ;, twice for ' -not using this currently
  [TD_SEMI_QUOT]  = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_QUOT),
  //Tap once for , twice for -

M keyboards/mechwild/bde/lefty/keymaps/fancy/keymap.c => keyboards/mechwild/bde/lefty/keymaps/fancy/keymap.c +7 -7
@@ 44,9 44,9 @@ enum {
    left_enter,
};

uint8_t cur_dance(qk_tap_dance_state_t *state);
void left_enter_finished(qk_tap_dance_state_t *state, void *user_data);
void left_enter_reset(qk_tap_dance_state_t *state, void *user_data);
uint8_t cur_dance(tap_dance_state_t *state);
void left_enter_finished(tap_dance_state_t *state, void *user_data);
void left_enter_reset(tap_dance_state_t *state, void *user_data);





@@ 79,7 79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};


uint8_t cur_dance(qk_tap_dance_state_t *state) {
uint8_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return SINGLE_TAP;
        // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'.


@@ 95,7 95,7 @@ static tap left_enter_tap_state = {
    .state = 0
};

void left_enter_finished(qk_tap_dance_state_t *state, void *user_data) {
void left_enter_finished(tap_dance_state_t *state, void *user_data) {
    left_enter_tap_state.state = cur_dance(state);
    switch (left_enter_tap_state.state) {
        //case SINGLE_TAP: register_code(KC_ENT); break;


@@ 104,7 104,7 @@ void left_enter_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void left_enter_reset(qk_tap_dance_state_t *state, void *user_data) {
void left_enter_reset(tap_dance_state_t *state, void *user_data) {
    switch (left_enter_tap_state.state) {
        //case SINGLE_TAP: unregister_code(KC_ENT); break;
        case SINGLE_HOLD: unregister_code(KC_LSFT); break;


@@ 113,7 113,7 @@ void left_enter_reset(qk_tap_dance_state_t *state, void *user_data) {
    left_enter_tap_state.state = 0;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [left_enter] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, left_enter_finished, left_enter_reset)
};


M keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c => keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c +1 -1
@@ 58,7 58,7 @@ enum {
};

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Tab, twice for Esc
    [TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
};

M keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c => keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c +1 -1
@@ 57,7 57,7 @@ enum {
};

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Tab, twice for Esc
    [TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
};

M keyboards/minimacro5/keymaps/devdev/keymap.c => keyboards/minimacro5/keymaps/devdev/keymap.c +1 -1
@@ 114,7 114,7 @@ void keyboard_post_init_user(void) {
}

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Escape, twice for Caps Lock
    [TD_TO_DISCORD] = ACTION_TAP_DANCE_LAYER_MOVE(KC_MUTE, _DISCORD),
	[TD_TO_PHOTOSHOP] = ACTION_TAP_DANCE_LAYER_MOVE(KC_E, _PHOTOSHOP),

M keyboards/mt/mt980/keymaps/walker/keymap.c => keyboards/mt/mt980/keymaps/walker/keymap.c +7 -7
@@ 20,9 20,9 @@ enum {
  ALT_L1 = 0
};

int cur_dance (qk_tap_dance_state_t *state);
void alt_finished (qk_tap_dance_state_t *state, void *user_data);
void alt_reset (qk_tap_dance_state_t *state, void *user_data);
int cur_dance (tap_dance_state_t *state);
void alt_finished (tap_dance_state_t *state, void *user_data);
void alt_reset (tap_dance_state_t *state, void *user_data);

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {



@@ 44,7 44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

};

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->pressed) return SINGLE_HOLD;
    else return SINGLE_TAP;


@@ 65,7 65,7 @@ static tap alttap_state = {
  .state = 0
};

void alt_finished (qk_tap_dance_state_t *state, void *user_data) {
void alt_finished (tap_dance_state_t *state, void *user_data) {
  alttap_state.state = cur_dance(state);
  switch (alttap_state.state) {
    case SINGLE_TAP: set_oneshot_layer(1, ONESHOT_START); clear_oneshot_layer_state(ONESHOT_PRESSED); break;


@@ 75,7 75,7 @@ void alt_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void alt_reset (qk_tap_dance_state_t *state, void *user_data) {
void alt_reset (tap_dance_state_t *state, void *user_data) {
  switch (alttap_state.state) {
    case SINGLE_TAP: break;
    case SINGLE_HOLD: unregister_code(KC_LALT); break;


@@ 85,7 85,7 @@ void alt_reset (qk_tap_dance_state_t *state, void *user_data) {
  alttap_state.state = 0;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [ALT_L1] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,alt_finished, alt_reset)
};


M keyboards/nasu/keymaps/mariocs/keymap.c => keyboards/nasu/keymaps/mariocs/keymap.c +1 -1
@@ 25,7 25,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
    return state;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LGUI] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_LGUI, 1),
};


M keyboards/numatreus/keymaps/like_jis/keymap.c => keyboards/numatreus/keymaps/like_jis/keymap.c +1 -1
@@ 56,7 56,7 @@ enum tapdances{
#define KC_CODO  TD(TD_CODO)
// #define KC_MNUB  TD(TD_MNUB)

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_CODO] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT),
  // [TD_MNUB] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, LSFT(JP_BSLS)),
};

M keyboards/planck/keymaps/altgr/common/keycode_functions.h => keyboards/planck/keymaps/altgr/common/keycode_functions.h +31 -31
@@ 109,7 109,7 @@ void double_shift(uint16_t keycode, uint8_t layer)
}

// tap dance LT (LAYER, KEY) emulation with <KEY><DOWN> -> <KEY><SHIFT> and auto-repeat extensions!
void tap_shift(qk_tap_dance_state_t *state, uint16_t keycode, uint8_t layer)
void tap_shift(tap_dance_state_t *state, uint16_t keycode, uint8_t layer)
{
  // double tap plus down
  if (state->count > 2) {


@@ 152,23 152,23 @@ void tap_reset(uint16_t keycode, uint8_t layer)
}

// augment pseudo LT (_RSHIFT, KC_ENT) handling below for rapid <ENTER><SHIFT> sequences
void enter(qk_tap_dance_state_t *state, void *user_data)
void enter(tap_dance_state_t *state, void *user_data)
{
  tap_shift(state, KC_ENT, _RSHIFT);
}

void enter_reset(qk_tap_dance_state_t *state, void *user_data)
void enter_reset(tap_dance_state_t *state, void *user_data)
{
  tap_reset(KC_ENT, _RSHIFT);
}

// augment pseudo LT (_LSHIFT, KC_SPC) handling below for rapid <SPACE><SHIFT> sequences
void space(qk_tap_dance_state_t *state, void *user_data)
void space(tap_dance_state_t *state, void *user_data)
{
  tap_shift(state, KC_SPC, _LSHIFT);
}

void space_reset(qk_tap_dance_state_t *state, void *user_data)
void space_reset(tap_dance_state_t *state, void *user_data)
{
  tap_reset(KC_SPC, _LSHIFT);
}


@@ 191,7 191,7 @@ void double_max(uint8_t count, uint8_t shift, uint16_t keycode)
  }
}

void colon(qk_tap_dance_state_t *state, void *user_data)
void colon(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 205,7 205,7 @@ void colon(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void eql(qk_tap_dance_state_t *state, void *user_data)
void eql(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key(KC_SPC);


@@ 219,7 219,7 @@ void eql(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void greater(qk_tap_dance_state_t *state, void *user_data)
void greater(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 233,7 233,7 @@ void greater(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void lesser(qk_tap_dance_state_t *state, void *user_data)
void lesser(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 247,7 247,7 @@ void lesser(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void tilde(qk_tap_dance_state_t *state, void *user_data)
void tilde(tap_dance_state_t *state, void *user_data)
{
  // double tap plus down: repeating keycode
  if (state->count > 2) {


@@ 264,7 264,7 @@ void tilde(qk_tap_dance_state_t *state, void *user_data)
  }
}

void tilde_reset(qk_tap_dance_state_t *state, void *user_data)
void tilde_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_GRV);
  unregister_code(KC_LSFT);


@@ 293,7 293,7 @@ void symbol_pair(uint8_t shift, uint16_t left, uint16_t right)
#define CLOSE 1

// tap dance symbol pairs
void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close)
void tap_pair(tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close)
{
  // triple tap: left right with cursor between symbol pair a la vim :-)
  if (state->count > 2) {


@@ 324,69 324,69 @@ void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_
  }
}

void doublequote(qk_tap_dance_state_t *state, void *user_data)
void doublequote(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_QUOT, KC_QUOT, 0, 0);
}

void grave(qk_tap_dance_state_t *state, void *user_data)
void grave(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_GRV, KC_GRV, 0, 0);
}

void lbrace(qk_tap_dance_state_t *state, void *user_data)
void lbrace(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, 0);
}

void lcurly(qk_tap_dance_state_t *state, void *user_data)
void lcurly(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, 0);
}

void lparen(qk_tap_dance_state_t *state, void *user_data)
void lparen(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_9, KC_0, KC_LCTL, 0);
}

void lparen_reset(qk_tap_dance_state_t *state, void *user_data)
void lparen_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LCTL);
}

void quote(qk_tap_dance_state_t *state, void *user_data)
void quote(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_QUOT, KC_QUOT, 0, 0);
}

void rangle(qk_tap_dance_state_t *state, void *user_data)
void rangle(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_COMM, KC_DOT, 0, CLOSE);
}

void rbrace(qk_tap_dance_state_t *state, void *user_data)
void rbrace(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, CLOSE);
}

void rcurly(qk_tap_dance_state_t *state, void *user_data)
void rcurly(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, CLOSE);
}

void rparen(qk_tap_dance_state_t *state, void *user_data)
void rparen(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_9, KC_0, 0, CLOSE);
}

void rparen_reset(qk_tap_dance_state_t *state, void *user_data)
void rparen_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LCTL);
}

// ............................................................ Tap Dance Insert

void comma(qk_tap_dance_state_t *state, void *user_data)
void comma(tap_dance_state_t *state, void *user_data)
{
  tap_key(KC_COMM);
  if (state->count > 1) {


@@ 395,7 395,7 @@ void comma(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void dot(qk_tap_dance_state_t *state, void *user_data)
void dot(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    shift_key(KC_COLN);


@@ 407,7 407,7 @@ void dot(qk_tap_dance_state_t *state, void *user_data)
}

// compile time macro string, see functions/hardware planck script
void private(qk_tap_dance_state_t *state, void *user_data)
void private(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
#ifdef PRIVATE_STRING


@@ 418,7 418,7 @@ void private(qk_tap_dance_state_t *state, void *user_data)
}

// config.h defined string
void send(qk_tap_dance_state_t *state, void *user_data)
void send(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    SEND_STRING(PUBLIC_STRING);


@@ 428,7 428,7 @@ void send(qk_tap_dance_state_t *state, void *user_data)

// .......................................................... Tap Dance One Shot

void caps(qk_tap_dance_state_t *state, void *user_data)
void caps(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    tap_key(KC_CAPS);


@@ 439,14 439,14 @@ void caps(qk_tap_dance_state_t *state, void *user_data)
  }
}

void caps_reset(qk_tap_dance_state_t *state, void *user_data)
void caps_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LSFT);
}

// ................................................................... Tap Dance

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, caps_reset)
 ,[_COLN] = ACTION_TAP_DANCE_FN         (colon)
 ,[_COMM] = ACTION_TAP_DANCE_FN         (comma)

M keyboards/planck/keymaps/ariccb/keymap.c => keyboards/planck/keymaps/ariccb/keymap.c +9 -9
@@ 98,11 98,11 @@ enum {

// Declare the functions to be used with your tap dance key(s)
// Function associated with all tap dances
td_state_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(tap_dance_state_t *state);

// Functions associated with individual tap dances
void usl_finished(qk_tap_dance_state_t *state, void *user_data);
void usl_reset(qk_tap_dance_state_t *state, void *user_data);
void usl_finished(tap_dance_state_t *state, void *user_data);
void usl_reset(tap_dance_state_t *state, void *user_data);

/* ----------------------------------------------------------------------------------------------------------------------------- */



@@ 304,7 304,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
	  return state;
}

// void dance_media (qk_tap_dance_state_t *state, void *user_data)
// void dance_media (tap_dance_state_t *state, void *user_data)
//     if (state->count == 1) {
//         tap_code(KC_MPLY);
//     } else if (state->count == 2) {


@@ 316,12 316,12 @@ layer_state_t layer_state_set_user(layer_state_t state) {
//     }
// }

// qk_tap_dance_action_t tap_dance_actions[] = {
// tap_dance_action_t tap_dance_actions[] = {
//  [0] = ACTION_TAP_DANCE_FN (dance_media),
// };

// Determine the current tap dance state
td_state_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(tap_dance_state_t *state) {
    if (state->interrupted) return TD_SINGLE_HOLD;
    if (state->count == 1) {
        if (!state->pressed) return TD_SINGLE_TAP;


@@ 337,7 337,7 @@ static td_tap_t usl_tap_state = {
};

// Functions that control what our tap dance key does
void usl_finished(qk_tap_dance_state_t *state, void *user_data) {
void usl_finished(tap_dance_state_t *state, void *user_data) {
    usl_tap_state.state = cur_dance(state);
    switch (usl_tap_state.state) {
        case TD_SINGLE_TAP:


@@ 368,7 368,7 @@ void usl_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void usl_reset(qk_tap_dance_state_t *state, void *user_data) {
void usl_reset(tap_dance_state_t *state, void *user_data) {
    // If the key was held down and now is released then switch off the layer
    if (usl_tap_state.state == TD_SINGLE_HOLD) {
        layer_off(_LOWER);


@@ 378,7 378,7 @@ void usl_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Associate our tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [UNDS_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, usl_finished, usl_reset)
};


M keyboards/planck/keymaps/circuit/keymap.c => keyboards/planck/keymaps/circuit/keymap.c +1 -1
@@ 36,7 36,7 @@ enum planck_keycodes {

// Tap Dance Definitions
#ifdef TAP_DANCE_ENABLE
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [0]  = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
};
#endif

M keyboards/planck/keymaps/copface/keymap.c => keyboards/planck/keymaps/copface/keymap.c +1 -1
@@ 53,7 53,7 @@ enum tapdancers {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [T_BR] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC),
  [T_PA] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN),
  [T_CU] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR),

M keyboards/planck/keymaps/corvec/tapdance.c => keyboards/planck/keymaps/corvec/tapdance.c +8 -8
@@ 30,7 30,7 @@ typedef struct {
  int state;
} tap;

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
    if (state->count == 1) {
      if (state->interrupted || !state->pressed) {
        return SINGLE_TAP;


@@ 57,7 57,7 @@ static tap quote_state = {
  .state = 0
};

void quote_finished(qk_tap_dance_state_t *state, void *user_data) {
void quote_finished(tap_dance_state_t *state, void *user_data) {
    quote_state.state = cur_dance(state);
    switch(quote_state.state) {
      case SINGLE_TAP: register_code(KC_QUOT); break;


@@ 66,7 66,7 @@ void quote_finished(qk_tap_dance_state_t *state, void *user_data) {
      case DOUBLE_SINGLE_TAP: register_code(KC_QUOT); unregister_code(KC_QUOT); register_code(KC_QUOT); break;
    }
}
void quote_reset(qk_tap_dance_state_t *state, void *user_data) {
void quote_reset(tap_dance_state_t *state, void *user_data) {
    switch(quote_state.state) {
      case SINGLE_TAP: unregister_code(KC_QUOT); break;
      case SINGLE_HOLD: layer_off(_LEANDOWN); break;


@@ 85,7 85,7 @@ static tap ralt_state = {
  .state = 0
};

void ralt_finished(qk_tap_dance_state_t *state, void *user_data) {
void ralt_finished(tap_dance_state_t *state, void *user_data) {
    ralt_state.state = cur_dance(state);
    switch(ralt_state.state) {
      case SINGLE_TAP: register_code(KC_LBRC); break;


@@ 95,7 95,7 @@ void ralt_finished(qk_tap_dance_state_t *state, void *user_data) {
      case DOUBLE_SINGLE_TAP: register_code(KC_RALT); break;
    }
}
void ralt_reset(qk_tap_dance_state_t *state, void *user_data) {
void ralt_reset(tap_dance_state_t *state, void *user_data) {
    switch(ralt_state.state) {
      case SINGLE_TAP: unregister_code(KC_LBRC); break;
      case SINGLE_HOLD: unregister_code(KC_RALT); break;


@@ 114,7 114,7 @@ static tap rgui_state = {
  .state = 0
};

void rgui_finished(qk_tap_dance_state_t *state, void *user_data) {
void rgui_finished(tap_dance_state_t *state, void *user_data) {
    rgui_state.state = cur_dance(state);
    switch(rgui_state.state) {
      case SINGLE_TAP: register_code(KC_RBRC); break;


@@ 124,7 124,7 @@ void rgui_finished(qk_tap_dance_state_t *state, void *user_data) {
      case DOUBLE_SINGLE_TAP: register_code(KC_RGUI); break;
    }
}
void rgui_reset(qk_tap_dance_state_t *state, void *user_data) {
void rgui_reset(tap_dance_state_t *state, void *user_data) {
    switch(rgui_state.state) {
      case SINGLE_TAP: unregister_code(KC_RBRC); break;
      case SINGLE_HOLD: unregister_code(KC_RGUI); break;


@@ 146,7 146,7 @@ enum {
  TD_RBRC_RGUI_RCBR
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  // Tap once for Alt, twice for Shift
  [TD_ALT_SHIFT] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, KC_RSFT),
  [TD_QUOT_LEAN_MINS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, quote_finished, quote_reset),

M keyboards/planck/keymaps/davidrambo/keymap.c => keyboards/planck/keymaps/davidrambo/keymap.c +3 -3
@@ 91,7 91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Shift vs capslock function. From bbaserdem's Planck keymap.
void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
void caps_tap (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_code (KC_LSFT);
    } else if (state->count == 2) {


@@ 99,7 99,7 @@ void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
        register_code (KC_CAPS);
    }
}
void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
void caps_tap_end (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code (KC_LSFT);
    } else {


@@ 108,7 108,7 @@ void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Shift, twice for Caps Lock
  [SFT_LCK] = ACTION_TAP_DANCE_FN_ADVANCED( caps_tap, NULL, caps_tap_end )
};

M keyboards/planck/keymaps/dc/keymap.c => keyboards/planck/keymaps/dc/keymap.c +1 -1
@@ 26,7 26,7 @@ enum tap_dance_codes {
    CT_DEL_ESC
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [0] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_LPRN),
    [1] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_LCBR),
    [2] = ACTION_TAP_DANCE_DOUBLE(KC_J, KC_LBRC),

M keyboards/planck/keymaps/dodger/keymap.c => keyboards/planck/keymaps/dodger/keymap.c +1 -1
@@ 44,7 44,7 @@ enum {
  TD_ESC_CAPS
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT),
  [TD_ESC_CAPS]  = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS)
};

M keyboards/planck/keymaps/dr_notsokind/keymap.c => keyboards/planck/keymaps/dr_notsokind/keymap.c +1 -1
@@ 50,7 50,7 @@ enum planck_keycodes {

// Tap Dance Definitions
#ifdef TAP_DANCE_ENABLE
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [0]  = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
};
#endif

M keyboards/planck/keymaps/dvorak2space/keymap.c => keyboards/planck/keymaps/dvorak2space/keymap.c +6 -6
@@ 179,7 179,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { //X_KEY doesn'
};

//tapdance state evaluation
int cur_dance(qk_tap_dance_state_t *state) {
int cur_dance(tap_dance_state_t *state) {
  int press = 0;
  switch(state->count) {
    case 1:


@@ 196,11 196,11 @@ int cur_dance(qk_tap_dance_state_t *state) {
  return press;
}

void back_tap(qk_tap_dance_state_t *state, void *user_data) { tap_code(KC_BACKSPACE); }
void back_tap(tap_dance_state_t *state, void *user_data) { tap_code(KC_BACKSPACE); }

void back_finished(qk_tap_dance_state_t *state, void *user_data) { if(!(state->interrupted || !state->pressed)) tap_code16(LCTL(KC_BACKSPACE)); }
void back_finished(tap_dance_state_t *state, void *user_data) { if(!(state->interrupted || !state->pressed)) tap_code16(LCTL(KC_BACKSPACE)); }

void slash_finished(qk_tap_dance_state_t *state, void *user_data) {
void slash_finished(tap_dance_state_t *state, void *user_data) {
  int td_state = cur_dance(state);
  switch(td_state) {
    case SINGLE_TAP:


@@ 213,7 213,7 @@ void slash_finished(qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dash_finished(qk_tap_dance_state_t *state, void *user_data) {
void dash_finished(tap_dance_state_t *state, void *user_data) {
  int td_state = cur_dance(state);
  switch(td_state) {
    case SINGLE_TAP:


@@ 233,7 233,7 @@ void dash_finished(qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [LPN] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_LBRC),
  [RPN] = ACTION_TAP_DANCE_DOUBLE(KC_RPRN, KC_RBRC),
  [FB]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, slash_finished, NULL),

M keyboards/planck/keymaps/hiea/common/keycode_functions.h => keyboards/planck/keymaps/hiea/common/keycode_functions.h +31 -31
@@ 109,7 109,7 @@ void double_shift(uint16_t keycode, uint8_t layer)
}

// tap dance LT (LAYER, KEY) emulation with <KEY><DOWN> -> <KEY><SHIFT> and auto-repeat extensions!
void tap_shift(qk_tap_dance_state_t *state, uint16_t keycode, uint8_t layer)
void tap_shift(tap_dance_state_t *state, uint16_t keycode, uint8_t layer)
{
  // double tap plus down
  if (state->count > 2) {


@@ 152,23 152,23 @@ void tap_reset(uint16_t keycode, uint8_t layer)
}

// augment pseudo LT (_RSHIFT, KC_ENT) handling below for rapid <ENTER><SHIFT> sequences
void enter(qk_tap_dance_state_t *state, void *user_data)
void enter(tap_dance_state_t *state, void *user_data)
{
  tap_shift(state, KC_ENT, _RSHIFT);
}

void enter_reset(qk_tap_dance_state_t *state, void *user_data)
void enter_reset(tap_dance_state_t *state, void *user_data)
{
  tap_reset(KC_ENT, _RSHIFT);
}

// augment pseudo LT (_LSHIFT, KC_SPC) handling below for rapid <SPACE><SHIFT> sequences
void space(qk_tap_dance_state_t *state, void *user_data)
void space(tap_dance_state_t *state, void *user_data)
{
  tap_shift(state, KC_SPC, _LSHIFT);
}

void space_reset(qk_tap_dance_state_t *state, void *user_data)
void space_reset(tap_dance_state_t *state, void *user_data)
{
  tap_reset(KC_SPC, _LSHIFT);
}


@@ 191,7 191,7 @@ void double_max(uint8_t count, uint8_t shift, uint16_t keycode)
  }
}

void colon(qk_tap_dance_state_t *state, void *user_data)
void colon(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 205,7 205,7 @@ void colon(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void eql(qk_tap_dance_state_t *state, void *user_data)
void eql(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key(KC_SPC);


@@ 219,7 219,7 @@ void eql(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void greater(qk_tap_dance_state_t *state, void *user_data)
void greater(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 233,7 233,7 @@ void greater(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void lesser(qk_tap_dance_state_t *state, void *user_data)
void lesser(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 247,7 247,7 @@ void lesser(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void tilde(qk_tap_dance_state_t *state, void *user_data)
void tilde(tap_dance_state_t *state, void *user_data)
{
  // double tap plus down: repeating keycode
  if (state->count > 2) {


@@ 264,7 264,7 @@ void tilde(qk_tap_dance_state_t *state, void *user_data)
  }
}

void tilde_reset(qk_tap_dance_state_t *state, void *user_data)
void tilde_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_GRV);
  unregister_code(KC_LSFT);


@@ 293,7 293,7 @@ void symbol_pair(uint8_t shift, uint16_t left, uint16_t right)
#define CLOSE 1

// tap dance symbol pairs
void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close)
void tap_pair(tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close)
{
  // triple tap: left right with cursor between symbol pair a la vim :-)
  if (state->count > 2) {


@@ 324,69 324,69 @@ void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_
  }
}

void doublequote(qk_tap_dance_state_t *state, void *user_data)
void doublequote(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_QUOT, KC_QUOT, 0, 0);
}

void grave(qk_tap_dance_state_t *state, void *user_data)
void grave(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_GRV, KC_GRV, 0, 0);
}

void lbrace(qk_tap_dance_state_t *state, void *user_data)
void lbrace(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, 0);
}

void lcurly(qk_tap_dance_state_t *state, void *user_data)
void lcurly(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, 0);
}

void lparen(qk_tap_dance_state_t *state, void *user_data)
void lparen(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_9, KC_0, KC_LCTL, 0);
}

void lparen_reset(qk_tap_dance_state_t *state, void *user_data)
void lparen_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LCTL);
}

void quote(qk_tap_dance_state_t *state, void *user_data)
void quote(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_QUOT, KC_QUOT, 0, 0);
}

void rangle(qk_tap_dance_state_t *state, void *user_data)
void rangle(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_COMM, KC_DOT, 0, CLOSE);
}

void rbrace(qk_tap_dance_state_t *state, void *user_data)
void rbrace(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, CLOSE);
}

void rcurly(qk_tap_dance_state_t *state, void *user_data)
void rcurly(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, CLOSE);
}

void rparen(qk_tap_dance_state_t *state, void *user_data)
void rparen(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_9, KC_0, 0, CLOSE);
}

void rparen_reset(qk_tap_dance_state_t *state, void *user_data)
void rparen_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LCTL);
}

// ............................................................ Tap Dance Insert

void comma(qk_tap_dance_state_t *state, void *user_data)
void comma(tap_dance_state_t *state, void *user_data)
{
  tap_key(KC_COMM);
  if (state->count > 1) {


@@ 395,7 395,7 @@ void comma(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void dot(qk_tap_dance_state_t *state, void *user_data)
void dot(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    shift_key(KC_COLN);


@@ 407,7 407,7 @@ void dot(qk_tap_dance_state_t *state, void *user_data)
}

// compile time macro string, see functions/hardware planck script
void private(qk_tap_dance_state_t *state, void *user_data)
void private(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
#ifdef PRIVATE_STRING


@@ 418,7 418,7 @@ void private(qk_tap_dance_state_t *state, void *user_data)
}

// config.h defined string
void send(qk_tap_dance_state_t *state, void *user_data)
void send(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    SEND_STRING(PUBLIC_STRING);


@@ 428,7 428,7 @@ void send(qk_tap_dance_state_t *state, void *user_data)

// .......................................................... Tap Dance One Shot

void caps(qk_tap_dance_state_t *state, void *user_data)
void caps(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    tap_key(KC_CAPS);


@@ 439,14 439,14 @@ void caps(qk_tap_dance_state_t *state, void *user_data)
  }
}

void caps_reset(qk_tap_dance_state_t *state, void *user_data)
void caps_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LSFT);
}

// ................................................................... Tap Dance

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, caps_reset)
 ,[_COLN] = ACTION_TAP_DANCE_FN         (colon)
 ,[_COMM] = ACTION_TAP_DANCE_FN         (comma)

M keyboards/planck/keymaps/hieax/common/keycode_functions.h => keyboards/planck/keymaps/hieax/common/keycode_functions.h +31 -31
@@ 115,7 115,7 @@ void double_shift(uint16_t keycode, uint8_t layer)
}

// tap dance LT (LAYER, KEY) emulation with <KEY><DOWN> -> <KEY><SHIFT> and auto-repeat extensions!
void tap_shift(qk_tap_dance_state_t *state, uint16_t keycode, uint8_t layer)
void tap_shift(tap_dance_state_t *state, uint16_t keycode, uint8_t layer)
{
  // double tap plus down
  if (state->count > 2) {


@@ 158,23 158,23 @@ void tap_reset(uint16_t keycode, uint8_t layer)
}

// augment pseudo LT (_RSHIFT, KC_ENT) handling below for rapid <ENTER><SHIFT> sequences
void enter(qk_tap_dance_state_t *state, void *user_data)
void enter(tap_dance_state_t *state, void *user_data)
{
  tap_shift(state, KC_ENT, _RSHIFT);
}

void enter_reset(qk_tap_dance_state_t *state, void *user_data)
void enter_reset(tap_dance_state_t *state, void *user_data)
{
  tap_reset(KC_ENT, _RSHIFT);
}

// augment pseudo LT (_LSHIFT, KC_SPC) handling below for rapid <SPACE><SHIFT> sequences
void space(qk_tap_dance_state_t *state, void *user_data)
void space(tap_dance_state_t *state, void *user_data)
{
  tap_shift(state, KC_SPC, _LSHIFT);
}

void space_reset(qk_tap_dance_state_t *state, void *user_data)
void space_reset(tap_dance_state_t *state, void *user_data)
{
  tap_reset(KC_SPC, _LSHIFT);
}


@@ 197,7 197,7 @@ void double_max(uint8_t count, uint8_t shift, uint16_t keycode)
  }
}

void colon(qk_tap_dance_state_t *state, void *user_data)
void colon(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 211,7 211,7 @@ void colon(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void eql(qk_tap_dance_state_t *state, void *user_data)
void eql(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key(KC_SPC);


@@ 225,7 225,7 @@ void eql(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void greater(qk_tap_dance_state_t *state, void *user_data)
void greater(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 239,7 239,7 @@ void greater(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void lesser(qk_tap_dance_state_t *state, void *user_data)
void lesser(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 253,7 253,7 @@ void lesser(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void tilde(qk_tap_dance_state_t *state, void *user_data)
void tilde(tap_dance_state_t *state, void *user_data)
{
  // double tap plus down: repeating keycode
  if (state->count > 2) {


@@ 270,7 270,7 @@ void tilde(qk_tap_dance_state_t *state, void *user_data)
  }
}

void tilde_reset(qk_tap_dance_state_t *state, void *user_data)
void tilde_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_GRV);
  unregister_code(KC_LSFT);


@@ 299,7 299,7 @@ void symbol_pair(uint8_t shift, uint16_t left, uint16_t right)
#define CLOSE 1

// tap dance symbol pairs
void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close)
void tap_pair(tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close)
{
  // triple tap: left right with cursor between symbol pair a la vim :-)
  if (state->count > 2) {


@@ 330,69 330,69 @@ void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_
  }
}

void doublequote(qk_tap_dance_state_t *state, void *user_data)
void doublequote(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_QUOT, KC_QUOT, 0, 0);
}

void grave(qk_tap_dance_state_t *state, void *user_data)
void grave(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_GRV, KC_GRV, 0, 0);
}

void lbrace(qk_tap_dance_state_t *state, void *user_data)
void lbrace(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, 0);
}

void lcurly(qk_tap_dance_state_t *state, void *user_data)
void lcurly(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, 0);
}

void lparen(qk_tap_dance_state_t *state, void *user_data)
void lparen(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_9, KC_0, KC_LCTL, 0);
}

void lparen_reset(qk_tap_dance_state_t *state, void *user_data)
void lparen_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LCTL);
}

void quote(qk_tap_dance_state_t *state, void *user_data)
void quote(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_QUOT, KC_QUOT, 0, 0);
}

void rangle(qk_tap_dance_state_t *state, void *user_data)
void rangle(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_COMM, KC_DOT, 0, CLOSE);
}

void rbrace(qk_tap_dance_state_t *state, void *user_data)
void rbrace(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, CLOSE);
}

void rcurly(qk_tap_dance_state_t *state, void *user_data)
void rcurly(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, CLOSE);
}

void rparen(qk_tap_dance_state_t *state, void *user_data)
void rparen(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_9, KC_0, 0, CLOSE);
}

void rparen_reset(qk_tap_dance_state_t *state, void *user_data)
void rparen_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LCTL);
}

// ............................................................ Tap Dance Insert

void comma(qk_tap_dance_state_t *state, void *user_data)
void comma(tap_dance_state_t *state, void *user_data)
{
  tap_key(KC_COMM);
  if (state->count > 1) {


@@ 401,7 401,7 @@ void comma(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void dot(qk_tap_dance_state_t *state, void *user_data)
void dot(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    shift_key(KC_COLN);


@@ 413,7 413,7 @@ void dot(qk_tap_dance_state_t *state, void *user_data)
}

// compile time macro string, see functions/hardware planck script
void private(qk_tap_dance_state_t *state, void *user_data)
void private(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
#ifdef PRIVATE_STRING


@@ 424,7 424,7 @@ void private(qk_tap_dance_state_t *state, void *user_data)
}

// config.h defined string
void send(qk_tap_dance_state_t *state, void *user_data)
void send(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    SEND_STRING(PUBLIC_STRING);


@@ 434,7 434,7 @@ void send(qk_tap_dance_state_t *state, void *user_data)

// .......................................................... Tap Dance One Shot

void caps(qk_tap_dance_state_t *state, void *user_data)
void caps(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    tap_key(KC_CAPS);


@@ 445,14 445,14 @@ void caps(qk_tap_dance_state_t *state, void *user_data)
  }
}

void caps_reset(qk_tap_dance_state_t *state, void *user_data)
void caps_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LSFT);
}

// ................................................................... Tap Dance

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, caps_reset)
 ,[_COLN] = ACTION_TAP_DANCE_FN         (colon)
 ,[_COMM] = ACTION_TAP_DANCE_FN         (comma)

M keyboards/planck/keymaps/jdelkins/keymap.c => keyboards/planck/keymaps/jdelkins/keymap.c +6 -6
@@ 40,7 40,7 @@ enum {

int ctl_state = 0;

void ctl_finished(qk_tap_dance_state_t *state, void *user_data) {
void ctl_finished(tap_dance_state_t *state, void *user_data) {
    ctl_state = cur_dance(state);
    switch (ctl_state) {
        case SINGLE_TAP:    leader_start(); break;


@@ 52,7 52,7 @@ void ctl_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ctl_reset(qk_tap_dance_state_t *state, void *user_data) {
void ctl_reset(tap_dance_state_t *state, void *user_data) {
    switch (ctl_state) {
        case SINGLE_HOLD:   unregister_code(KC_LCTL); break;
        case DOUBLE_HOLD:


@@ 61,7 61,7 @@ void ctl_reset(qk_tap_dance_state_t *state, void *user_data) {
    ctl_state = 0;
}

void g_finished(qk_tap_dance_state_t *state, void *user_data) {
void g_finished(tap_dance_state_t *state, void *user_data) {
    switch (cur_dance(state)) {
        case SINGLE_TAP:
            tap_code16(C(KC_END));


@@ 74,7 74,7 @@ void g_finished(qk_tap_dance_state_t *state, void *user_data) {

int kp_state = 0;

void kp_finished(qk_tap_dance_state_t *state, void *user_data) {
void kp_finished(tap_dance_state_t *state, void *user_data) {
    kp_state = hold_cur_dance(state);
    switch (kp_state) {
        case SINGLE_HOLD: layer_on(_KP);  break;


@@ 82,7 82,7 @@ void kp_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void kp_reset(qk_tap_dance_state_t *state, void *user_data) {
void kp_reset(tap_dance_state_t *state, void *user_data) {
    switch (kp_state) {
        case SINGLE_HOLD: layer_off(_KP);  break;
        case DOUBLE_HOLD: layer_off(_RPT); break;


@@ 96,7 96,7 @@ enum {
    TD_KP
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LDCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctl_finished, ctl_reset),
    [TD_G]     = ACTION_TAP_DANCE_FN_ADVANCED(NULL, g_finished, NULL),
    [TD_KP]    = ACTION_TAP_DANCE_FN_ADVANCED(NULL, kp_finished, kp_reset),

M keyboards/planck/keymaps/jweickm/keymap.c => keyboards/planck/keymaps/jweickm/keymap.c +8 -8
@@ 290,7 290,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// define the tap dance functions
void dance_prn(qk_tap_dance_state_t *state, void *user_data) {
void dance_prn(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code16(KC_LPRN);
    } else {


@@ 299,7 299,7 @@ void dance_prn(qk_tap_dance_state_t *state, void *user_data) {
        tap_code(KC_LEFT);
    }
}
void dance_brc(qk_tap_dance_state_t *state, void *user_data) {
void dance_brc(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code(KC_LBRC);
    } else {


@@ 308,7 308,7 @@ void dance_brc(qk_tap_dance_state_t *state, void *user_data) {
        tap_code(KC_LEFT);
    }
}
void dance_cbr(qk_tap_dance_state_t *state, void *user_data) {
void dance_cbr(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code16(KC_LCBR);
    } else {


@@ 317,7 317,7 @@ void dance_cbr(qk_tap_dance_state_t *state, void *user_data) {
        tap_code(KC_LEFT);
    }
}
void dance_prn_de(qk_tap_dance_state_t *state, void *user_data) {
void dance_prn_de(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code16(KC_ASTR);
    } else {


@@ 326,7 326,7 @@ void dance_prn_de(qk_tap_dance_state_t *state, void *user_data) {
        tap_code(KC_LEFT);
    }
}
void dance_brc_de(qk_tap_dance_state_t *state, void *user_data) {
void dance_brc_de(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code16(RALT(KC_8));
    } else {


@@ 335,7 335,7 @@ void dance_brc_de(qk_tap_dance_state_t *state, void *user_data) {
        tap_code(KC_LEFT);
    }
}
void dance_cbr_de(qk_tap_dance_state_t *state, void *user_data) {
void dance_cbr_de(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code16(RALT(KC_7));
    } else {


@@ 344,7 344,7 @@ void dance_cbr_de(qk_tap_dance_state_t *state, void *user_data) {
        tap_code(KC_LEFT);
    }
}
void vim_gg(qk_tap_dance_state_t *state, void *user_data) {
void vim_gg(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code16(LCTL(KC_END));
    } else {


@@ 352,7 352,7 @@ void vim_gg(qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // declare tap dance actions here
    [TD_PRN] = ACTION_TAP_DANCE_FN(dance_prn), [TD_BRC] = ACTION_TAP_DANCE_FN(dance_brc), [TD_CBR] = ACTION_TAP_DANCE_FN(dance_cbr), [TD_PRN_DE] = ACTION_TAP_DANCE_FN(dance_prn_de), [TD_BRC_DE] = ACTION_TAP_DANCE_FN(dance_brc_de), [TD_CBR_DE] = ACTION_TAP_DANCE_FN(dance_cbr_de), [TD_VIM_GG] = ACTION_TAP_DANCE_FN(vim_gg)};


M keyboards/planck/keymaps/mjuma/keymap.c => keyboards/planck/keymaps/mjuma/keymap.c +1 -1
@@ 36,7 36,7 @@ enum taps {
    TD_SHIFT_CAPS = 0
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_SHIFT_CAPS]  = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
};


M keyboards/planck/keymaps/roguepullrequest/keymap.c => keyboards/planck/keymaps/roguepullrequest/keymap.c +15 -15
@@ 31,12 31,12 @@ enum {
	SLASH	
};

int cur_dance (qk_tap_dance_state_t *state);
int cur_dance (tap_dance_state_t *state);

void x_finished (qk_tap_dance_state_t *state, void *user_data);
void x_reset (qk_tap_dance_state_t *state, void *user_data);
void lshift_finished (qk_tap_dance_state_t *state, void *user_data);
void lshift_reset(qk_tap_dance_state_t *state, void *user_data);
void x_finished (tap_dance_state_t *state, void *user_data);
void x_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);


bool is_alt_tab_active = false;


@@ 142,7 142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

// Super crazy tap dancing stuff - see quad dance in feature_tap_dance.md

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
	if (state->count == 1) {
		if (state->interrupted || !state->pressed) return SINGLE_TAP;
		// key not interrupted, but still held sends 'HOLD'


@@ 166,7 166,7 @@ static tap xtap_state = {
};

// registering keypresses
void x_finished (qk_tap_dance_state_t *state, void *user_data) {
void x_finished (tap_dance_state_t *state, void *user_data) {
	xtap_state.state = cur_dance(state);
	switch (xtap_state.state) {
		case SINGLE_TAP: register_code16(KC_AT); break;


@@ 176,7 176,7 @@ void x_finished (qk_tap_dance_state_t *state, void *user_data) {
	}
}

void lshift_finished (qk_tap_dance_state_t *state, void *user_data) {
void lshift_finished (tap_dance_state_t *state, void *user_data) {
	xtap_state.state = cur_dance(state);
	switch (xtap_state.state) {
		case SINGLE_TAP: register_code16(KC_LSFT); register_code16(KC_9); break;


@@ 185,7 185,7 @@ void lshift_finished (qk_tap_dance_state_t *state, void *user_data) {
		case TRIPLE_TAP: register_code16(KC_LSFT); register_code16(KC_LBRC); break;
	}
}
void s_finished (qk_tap_dance_state_t *state, void *user_data) {
void s_finished (tap_dance_state_t *state, void *user_data) {
	xtap_state.state = cur_dance(state);
	switch (xtap_state.state) {
		case SINGLE_TAP: register_code16(KC_S); break;


@@ 194,7 194,7 @@ void s_finished (qk_tap_dance_state_t *state, void *user_data) {
	}
}

void rshift_finished (qk_tap_dance_state_t *state, void *user_data) {
void rshift_finished (tap_dance_state_t *state, void *user_data) {
	xtap_state.state = cur_dance(state);
	switch (xtap_state.state) {
		case SINGLE_TAP: register_code16(KC_LSFT); register_code16(KC_0); break;


@@ 206,7 206,7 @@ void rshift_finished (qk_tap_dance_state_t *state, void *user_data) {

// forgetting keypresses

void x_reset (qk_tap_dance_state_t *state, void *user_data) {
void x_reset (tap_dance_state_t *state, void *user_data) {
	switch (xtap_state.state) {
		case SINGLE_TAP: unregister_code16(KC_AT); break;
		case SINGLE_HOLD: clear_oneshot_layer_state(ONESHOT_PRESSED); break;


@@ 215,7 215,7 @@ void x_reset (qk_tap_dance_state_t *state, void *user_data) {
	}
	xtap_state.state = 0;
}
void lshift_reset (qk_tap_dance_state_t *state, void *user_data) {
void lshift_reset (tap_dance_state_t *state, void *user_data) {
	switch (xtap_state.state) {
		case SINGLE_TAP: unregister_code16(KC_9); unregister_code16(KC_LSFT); break;
		case SINGLE_HOLD: unregister_code16(KC_LSFT); break;


@@ 225,7 225,7 @@ void lshift_reset (qk_tap_dance_state_t *state, void *user_data) {
	xtap_state.state = 0;
}

void rshift_reset (qk_tap_dance_state_t *state, void *user_data) {
void rshift_reset (tap_dance_state_t *state, void *user_data) {
	switch (xtap_state.state) {
		case SINGLE_TAP: unregister_code16(KC_0); unregister_code16(KC_LSFT); break;
		case SINGLE_HOLD: unregister_code16(KC_RSFT); break;


@@ 234,7 234,7 @@ void rshift_reset (qk_tap_dance_state_t *state, void *user_data) {
	}
	xtap_state.state = 0;
}
void s_reset (qk_tap_dance_state_t *state, void *user_data) {
void s_reset (tap_dance_state_t *state, void *user_data) {
	switch (xtap_state.state) {
		case SINGLE_TAP: unregister_code16(KC_S); break;
		case DOUBLE_TAP: unregister_code16(KC_MINUS); break;


@@ 242,7 242,7 @@ void s_reset (qk_tap_dance_state_t *state, void *user_data) {
	}
	xtap_state.state = 0;
}
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
	[X_AT_FUN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, x_finished, x_reset),
	[LSHIFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lshift_finished, lshift_reset),
	[RSHIFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rshift_finished, rshift_reset),

M keyboards/planck/keymaps/rootiest/keymap.c => keyboards/planck/keymaps/rootiest/keymap.c +20 -20
@@ 243,15 243,15 @@ bool did_leader_succeed;
LEADER_EXTERNS();

// Tap-Dance stuffs, initializing functions that are coded further below
td_state_t cur_dance(qk_tap_dance_state_t* state);
void       sml_finished(qk_tap_dance_state_t* state, void* user_data);
void       sml_reset(qk_tap_dance_state_t* state, void* user_data);
void       scap_finished(qk_tap_dance_state_t* state, void* user_data);
void       scap_reset(qk_tap_dance_state_t* state, void* user_data);
void       slctl_finished(qk_tap_dance_state_t* state, void* user_data);
void       slctl_reset(qk_tap_dance_state_t* state, void* user_data);
void       slalt_finished(qk_tap_dance_state_t* state, void* user_data);
void       slalt_reset(qk_tap_dance_state_t* state, void* user_data);
td_state_t cur_dance(tap_dance_state_t* state);
void       sml_finished(tap_dance_state_t* state, void* user_data);
void       sml_reset(tap_dance_state_t* state, void* user_data);
void       scap_finished(tap_dance_state_t* state, void* user_data);
void       scap_reset(tap_dance_state_t* state, void* user_data);
void       slctl_finished(tap_dance_state_t* state, void* user_data);
void       slctl_reset(tap_dance_state_t* state, void* user_data);
void       slalt_finished(tap_dance_state_t* state, void* user_data);
void       slalt_reset(tap_dance_state_t* state, void* user_data);
bool       lctl_sticky = false;
bool       lalt_sticky = false;



@@ 1325,7 1325,7 @@ void rgb_wakeup_sequence(void) {
}

// Spits out some unicode special characters in response to a tap-dance
void send_degree_symbol(qk_tap_dance_state_t* state, void* user_data) {
void send_degree_symbol(tap_dance_state_t* state, void* user_data) {
    switch (state->count) {
        case 4:
            // ℃


@@ 1416,7 1416,7 @@ void leader_end_user(void) {
}

// Monitors and labels the current state of any tap-dances
td_state_t cur_dance(qk_tap_dance_state_t* state) {
td_state_t cur_dance(tap_dance_state_t* state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
        // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'.


@@ 1446,7 1446,7 @@ static td_tap_t slctl_state = {.is_press_action = true, .state = TD_NONE};
static td_tap_t slalt_state = {.is_press_action = true, .state = TD_NONE};

// Left-Shift->Sticky-Caps tap-dance finished
void scap_finished(qk_tap_dance_state_t* state, void* user_data) {
void scap_finished(tap_dance_state_t* state, void* user_data) {
    scap_state.state = cur_dance(state);
    switch (scap_state.state) {
        case TD_SINGLE_HOLD:


@@ 1471,13 1471,13 @@ void scap_finished(qk_tap_dance_state_t* state, void* user_data) {
}

// Left-Shift->Sticky-Caps tap-dance reset
void scap_reset(qk_tap_dance_state_t* state, void* user_data) {
void scap_reset(tap_dance_state_t* state, void* user_data) {
    unregister_code(KC_LSFT);
    scap_state.state = TD_NONE;
}

// Sticky-Left-Control tap-dance finished
void slctl_finished(qk_tap_dance_state_t* state, void* user_data) {
void slctl_finished(tap_dance_state_t* state, void* user_data) {
    slctl_state.state = cur_dance(state);
    switch (slctl_state.state) {
        case TD_SINGLE_HOLD:


@@ 1507,7 1507,7 @@ void slctl_finished(qk_tap_dance_state_t* state, void* user_data) {
}

// Sticky-Left-Control tap-dance reset
void slctl_reset(qk_tap_dance_state_t* state, void* user_data) {
void slctl_reset(tap_dance_state_t* state, void* user_data) {
    if (!lctl_sticky) {
        unregister_code(KC_LCTL);
        slctl_state.state = TD_NONE;


@@ 1517,7 1517,7 @@ void slctl_reset(qk_tap_dance_state_t* state, void* user_data) {
}

// Sticky-Left-Alt tap-dance finished
void slalt_finished(qk_tap_dance_state_t* state, void* user_data) {
void slalt_finished(tap_dance_state_t* state, void* user_data) {
    slalt_state.state = cur_dance(state);
    switch (slalt_state.state) {
        case TD_SINGLE_HOLD:


@@ 1547,7 1547,7 @@ void slalt_finished(qk_tap_dance_state_t* state, void* user_data) {
}

// Sticky-Left-Alt tap-dance reset
void slalt_reset(qk_tap_dance_state_t* state, void* user_data) {
void slalt_reset(tap_dance_state_t* state, void* user_data) {
    if (!lalt_sticky) {
        unregister_code(KC_LALT);
        slalt_state.state = TD_NONE;


@@ 1557,7 1557,7 @@ void slalt_reset(qk_tap_dance_state_t* state, void* user_data) {
}

// Smiley key tap-dance finished
void sml_finished(qk_tap_dance_state_t* state, void* user_data) {
void sml_finished(tap_dance_state_t* state, void* user_data) {
    sml_state.state = cur_dance(state);
    switch (sml_state.state) {
        default:


@@ 1653,10 1653,10 @@ void sml_finished(qk_tap_dance_state_t* state, void* user_data) {
            break;
    }
}
void sml_reset(qk_tap_dance_state_t* state, void* user_data) { sml_state.state = TD_NONE; }
void sml_reset(tap_dance_state_t* state, void* user_data) { sml_state.state = TD_NONE; }

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for °, twice for ℉, thrice for ℃
    [TD_DEG_DEGF]    = ACTION_TAP_DANCE_FN(send_degree_symbol),                          //
    [TD_LSHFT_CAPS]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, scap_finished, scap_reset),    //

M keyboards/planck/keymaps/sdothum/common/keycode_functions.h => keyboards/planck/keymaps/sdothum/common/keycode_functions.h +31 -31
@@ 109,7 109,7 @@ void double_shift(uint16_t keycode, uint8_t layer)
}

// tap dance LT (LAYER, KEY) emulation with <KEY><DOWN> -> <KEY><SHIFT> and auto-repeat extensions!
void tap_shift(qk_tap_dance_state_t *state, uint16_t keycode, uint8_t layer)
void tap_shift(tap_dance_state_t *state, uint16_t keycode, uint8_t layer)
{
  // double tap plus down
  if (state->count > 2) {


@@ 152,23 152,23 @@ void tap_reset(uint16_t keycode, uint8_t layer)
}

// augment pseudo LT (_RSHIFT, KC_ENT) handling below for rapid <ENTER><SHIFT> sequences
void enter(qk_tap_dance_state_t *state, void *user_data)
void enter(tap_dance_state_t *state, void *user_data)
{
  tap_shift(state, KC_ENT, _RSHIFT);
}

void enter_reset(qk_tap_dance_state_t *state, void *user_data)
void enter_reset(tap_dance_state_t *state, void *user_data)
{
  tap_reset(KC_ENT, _RSHIFT);
}

// augment pseudo LT (_LSHIFT, KC_SPC) handling below for rapid <SPACE><SHIFT> sequences
void space(qk_tap_dance_state_t *state, void *user_data)
void space(tap_dance_state_t *state, void *user_data)
{
  tap_shift(state, KC_SPC, _LSHIFT);
}

void space_reset(qk_tap_dance_state_t *state, void *user_data)
void space_reset(tap_dance_state_t *state, void *user_data)
{
  tap_reset(KC_SPC, _LSHIFT);
}


@@ 191,7 191,7 @@ void double_max(uint8_t count, uint8_t shift, uint16_t keycode)
  }
}

void colon(qk_tap_dance_state_t *state, void *user_data)
void colon(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 205,7 205,7 @@ void colon(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void eql(qk_tap_dance_state_t *state, void *user_data)
void eql(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key(KC_SPC);


@@ 219,7 219,7 @@ void eql(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void greater(qk_tap_dance_state_t *state, void *user_data)
void greater(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 233,7 233,7 @@ void greater(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void lesser(qk_tap_dance_state_t *state, void *user_data)
void lesser(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_key  (KC_SPC);


@@ 247,7 247,7 @@ void lesser(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void tilde(qk_tap_dance_state_t *state, void *user_data)
void tilde(tap_dance_state_t *state, void *user_data)
{
  // double tap plus down: repeating keycode
  if (state->count > 2) {


@@ 264,7 264,7 @@ void tilde(qk_tap_dance_state_t *state, void *user_data)
  }
}

void tilde_reset(qk_tap_dance_state_t *state, void *user_data)
void tilde_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_GRV);
  unregister_code(KC_LSFT);


@@ 293,7 293,7 @@ void symbol_pair(uint8_t shift, uint16_t left, uint16_t right)
#define CLOSE 1

// tap dance symbol pairs
void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close)
void tap_pair(tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close)
{
  // triple tap: left right with cursor between symbol pair a la vim :-)
  if (state->count > 2) {


@@ 324,69 324,69 @@ void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_
  }
}

void doublequote(qk_tap_dance_state_t *state, void *user_data)
void doublequote(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_QUOT, KC_QUOT, 0, 0);
}

void grave(qk_tap_dance_state_t *state, void *user_data)
void grave(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_GRV, KC_GRV, 0, 0);
}

void lbrace(qk_tap_dance_state_t *state, void *user_data)
void lbrace(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, 0);
}

void lcurly(qk_tap_dance_state_t *state, void *user_data)
void lcurly(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, 0);
}

void lparen(qk_tap_dance_state_t *state, void *user_data)
void lparen(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_9, KC_0, KC_LCTL, 0);
}

void lparen_reset(qk_tap_dance_state_t *state, void *user_data)
void lparen_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LCTL);
}

void quote(qk_tap_dance_state_t *state, void *user_data)
void quote(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_QUOT, KC_QUOT, 0, 0);
}

void rangle(qk_tap_dance_state_t *state, void *user_data)
void rangle(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_COMM, KC_DOT, 0, CLOSE);
}

void rbrace(qk_tap_dance_state_t *state, void *user_data)
void rbrace(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, CLOSE);
}

void rcurly(qk_tap_dance_state_t *state, void *user_data)
void rcurly(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, CLOSE);
}

void rparen(qk_tap_dance_state_t *state, void *user_data)
void rparen(tap_dance_state_t *state, void *user_data)
{
  tap_pair(state, S_ALWAYS, KC_9, KC_0, 0, CLOSE);
}

void rparen_reset(qk_tap_dance_state_t *state, void *user_data)
void rparen_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LCTL);
}

// ............................................................ Tap Dance Insert

void comma(qk_tap_dance_state_t *state, void *user_data)
void comma(tap_dance_state_t *state, void *user_data)
{
  tap_key(KC_COMM);
  if (state->count > 1) {


@@ 395,7 395,7 @@ void comma(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void dot(qk_tap_dance_state_t *state, void *user_data)
void dot(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    shift_key(KC_COLN);


@@ 407,7 407,7 @@ void dot(qk_tap_dance_state_t *state, void *user_data)
}

// compile time macro string, see functions/hardware planck script
void private(qk_tap_dance_state_t *state, void *user_data)
void private(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
#ifdef PRIVATE_STRING


@@ 418,7 418,7 @@ void private(qk_tap_dance_state_t *state, void *user_data)
}

// config.h defined string
void send(qk_tap_dance_state_t *state, void *user_data)
void send(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    SEND_STRING(PUBLIC_STRING);


@@ 428,7 428,7 @@ void send(qk_tap_dance_state_t *state, void *user_data)

// .......................................................... Tap Dance One Shot

void caps(qk_tap_dance_state_t *state, void *user_data)
void caps(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    tap_key(KC_CAPS);


@@ 439,14 439,14 @@ void caps(qk_tap_dance_state_t *state, void *user_data)
  }
}

void caps_reset(qk_tap_dance_state_t *state, void *user_data)
void caps_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_code(KC_LSFT);
}

// ................................................................... Tap Dance

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, caps_reset)
 ,[_COLN] = ACTION_TAP_DANCE_FN         (colon)
 ,[_COMM] = ACTION_TAP_DANCE_FN         (comma)

M keyboards/planck/keymaps/snowkuma/keymap.c => keyboards/planck/keymaps/snowkuma/keymap.c +4 -4
@@ 63,13 63,13 @@ enum {
};

// Tap Dance Definitions
void safe_reset(qk_tap_dance_state_t *state, void *user_data) {
void safe_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count >=3) {
        // Reset the keyboard if you tap the key more than three times
        reset_keyboard();
        reset_tap_dance(state);
    }
}; void tilde_home(qk_tap_dance_state_t *state, void *user_data) {
}; void tilde_home(tap_dance_state_t *state, void *user_data) {
    if (state->count > 2) {
	register_code(KC_LSFT);
        register_code(KC_GRV);


@@ 86,7 86,7 @@ void safe_reset(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void tilde_reset(qk_tap_dance_state_t *state, void *user_data)
void tilde_reset(tap_dance_state_t *state, void *user_data)
{
  if (state->count == 2) {
    unregister_code(KC_SLSH);


@@ 97,7 97,7 @@ void tilde_reset(qk_tap_dance_state_t *state, void *user_data)
}


qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_RESET] = ACTION_TAP_DANCE_FN (safe_reset),
  [TD_TILD] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, tilde_home, tilde_reset)
};

M keyboards/planck/keymaps/tylerwince/keymap.c => keyboards/planck/keymaps/tylerwince/keymap.c +1 -1
@@ 19,7 19,7 @@ enum {
  TD_SEMI_COLON,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SEMI_COLON] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_COLN),
};


M keyboards/planck/keymaps/unagi/keymap.c => keyboards/planck/keymaps/unagi/keymap.c +1 -1
@@ 178,7 178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [SFT_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
};


M keyboards/planck/keymaps/zach/zach_common_functions.c => keyboards/planck/keymaps/zach/zach_common_functions.c +8 -8
@@ 68,7 68,7 @@ float unilin[][2]               = SONG(UNICODE_LINUX);
#ifdef TAP_DANCE_ENABLE
#define TAPPING_TERM 200

void dance_raise_press(qk_tap_dance_state_t *state, void *user_data){// Called on each tap
void dance_raise_press(tap_dance_state_t *state, void *user_data){// Called on each tap
  switch(state->count){      // Only turn the layer on once
    case 1:
        layer_off(_UNICODES);


@@ 77,7 77,7 @@ void dance_raise_press(qk_tap_dance_state_t *state, void *user_data){// Called o
        break;
  }
};
void dance_raise_lift(qk_tap_dance_state_t *state, void *user_data){ // Called on release
void dance_raise_lift(tap_dance_state_t *state, void *user_data){ // Called on release
  switch(state->count){
    case 1:         // Normal action. Turn off layers
        layer_off(_RAISE);


@@ 87,7 87,7 @@ void dance_raise_lift(qk_tap_dance_state_t *state, void *user_data){ // Called o
  }
};
/////////////////////////////////////////////////////////////////////
void dance_lower_press(qk_tap_dance_state_t *state, void *user_data){// Called on tap
void dance_lower_press(tap_dance_state_t *state, void *user_data){// Called on tap
  switch(state->count){
    case 1:         // Turn on lower
        layer_off(_UNICODES);


@@ 96,7 96,7 @@ void dance_lower_press(qk_tap_dance_state_t *state, void *user_data){// Called o
        break;
  }
};
void dance_lower_lift(qk_tap_dance_state_t *state, void *user_data){ // Called on release
void dance_lower_lift(tap_dance_state_t *state, void *user_data){ // Called on release
  switch(state->count){
    case 1:         // Normal action. Turn off layers
        layer_off(_LOWER);


@@ 114,12 114,12 @@ void dance_lower_lift(qk_tap_dance_state_t *state, void *user_data){ // Called o
  }
};
/////////////////////////////////////////////////////////////////////
void dance_super_press(qk_tap_dance_state_t *state, void *user_data){   // Called on down
void dance_super_press(tap_dance_state_t *state, void *user_data){   // Called on down
    if(state->count == 1){
        register_code(KC_LGUI);
    }
}
void dance_super_done(qk_tap_dance_state_t *state, void *user_data){    // Called on timeout
void dance_super_done(tap_dance_state_t *state, void *user_data){    // Called on timeout
  switch(state->count){
    case 2:
        register_code(KC_LGUI);


@@ 128,11 128,11 @@ void dance_super_done(qk_tap_dance_state_t *state, void *user_data){    // Calle
        break;
  }
}
void dance_super_lift(qk_tap_dance_state_t *state, void *user_data){        // Called on up
void dance_super_lift(tap_dance_state_t *state, void *user_data){        // Called on up
    unregister_code(KC_LGUI);
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [RAI] = ACTION_TAP_DANCE_FN_ADVANCED(dance_raise_press, NULL, dance_raise_lift),
    [LOW] = ACTION_TAP_DANCE_FN_ADVANCED(dance_lower_press, NULL, dance_lower_lift),
    [SUP] = ACTION_TAP_DANCE_FN_ADVANCED(dance_super_press, dance_super_done, dance_super_lift)

M keyboards/preonic/keymaps/choromanski/keymap.c => keyboards/preonic/keymaps/choromanski/keymap.c +1 -1
@@ 21,7 21,7 @@ enum {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for 1, twice for Grave
  [G1] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_GRV),
  //Tap once for [, twice for ]

M keyboards/preonic/keymaps/davidrambo/keymap.c => keyboards/preonic/keymaps/davidrambo/keymap.c +3 -3
@@ 156,7 156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Shift vs capslock function. From bbaserdem's Planck keymap.
void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
void caps_tap (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_code (KC_LSFT);
    } else if (state->count == 2) {


@@ 164,7 164,7 @@ void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
        register_code (KC_CAPS);
    }
}
void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
void caps_tap_end (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code (KC_LSFT);
    } else {


@@ 173,7 173,7 @@ void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Shift, twice for Caps Lock
  [SFT_LCK] = ACTION_TAP_DANCE_FN_ADVANCED( caps_tap, NULL, caps_tap_end )
};

M keyboards/preonic/keymaps/egstad/keymap.c => keyboards/preonic/keymaps/egstad/keymap.c +1 -1
@@ 219,7 219,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
/* Tap Dance Definitions
   ========================================================================== */

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  // Tap once for Left Brace, twice for Right Brace
  [TD_BRC]  = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC),
  //Tap once for Minus, twice for Equal

M keyboards/preonic/keymaps/era1112/keymap.c => keyboards/preonic/keymaps/era1112/keymap.c +7 -7
@@ 66,7 66,7 @@ typedef struct {
    td_state_t state;
} td_tap_t;

td_state_t cur_dance(qk_tap_dance_state_t* state);
td_state_t cur_dance(tap_dance_state_t* state);

/* Return an integer that corresponds to what kind of tap dance should be executed.
 *


@@ 95,7 95,7 @@ td_state_t cur_dance(qk_tap_dance_state_t* state);
 * For the third point, there does exist the 'TD_DOUBLE_SINGLE_TAP', however this is not fully tested
 *
 */
td_state_t cur_dance(qk_tap_dance_state_t* state) {
td_state_t cur_dance(tap_dance_state_t* state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) {
            return TD_1_TAP;


@@ 117,15 117,15 @@ td_state_t cur_dance(qk_tap_dance_state_t* state) {

//----------- 2tap capslock --------------//
//----------------------------------------//
void twoCapsLock_finished(qk_tap_dance_state_t* state, void* user_data);
void twoCapsLock_reset(qk_tap_dance_state_t* state, void* user_data);
void twoCapsLock_finished(tap_dance_state_t* state, void* user_data);
void twoCapsLock_reset(tap_dance_state_t* state, void* user_data);

static td_tap_t twoCapsLock_tap_state = {
    .is_press_action = true,
    .state = TD_NONE
};

void twoCapsLock_finished(qk_tap_dance_state_t* state, void* user_data) {
void twoCapsLock_finished(tap_dance_state_t* state, void* user_data) {
    twoCapsLock_tap_state.state = cur_dance(state);
    switch (twoCapsLock_tap_state.state) {
    case TD_NONE: register_code(KC_LSFT); break;


@@ 142,7 142,7 @@ void twoCapsLock_finished(qk_tap_dance_state_t* state, void* user_data) {
    }
}

void twoCapsLock_reset(qk_tap_dance_state_t* state, void* user_data) {
void twoCapsLock_reset(tap_dance_state_t* state, void* user_data) {
    switch (twoCapsLock_tap_state.state) {
    case TD_UNKNOWN: unregister_code(KC_LSFT); break;
    case TD_NONE: unregister_code(KC_LSFT); break;


@@ 202,7 202,7 @@ enum custom_keycodes {

static bool blinky = false;         // Track blinky behavior on/off for keycode

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_2_CAPSLOCK] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, twoCapsLock_finished, twoCapsLock_reset)
};


M keyboards/preonic/keymaps/mverteuil/keymap.c => keyboards/preonic/keymaps/mverteuil/keymap.c +27 -27
@@ 75,17 75,17 @@ typedef struct {
    t_tap_state right_brackets;
} t_tap;

t_tap_state get_tapdance_state(qk_tap_dance_state_t *state);
t_tap_state get_tapdance_state(tap_dance_state_t *state);

void td_numpad_funcrow_finished(qk_tap_dance_state_t *state, void *user_data);
void td_numpad_funcrow_reset(qk_tap_dance_state_t *state, void *user_data);
void td_brackets_left_finished(qk_tap_dance_state_t *state, void *user_data);
void td_brackets_left_reset(qk_tap_dance_state_t *state, void *user_data);
void td_brackets_right_finished(qk_tap_dance_state_t *state, void *user_data);
void td_brackets_right_reset(qk_tap_dance_state_t *state, void *user_data);
void td_numpad_funcrow_finished(tap_dance_state_t *state, void *user_data);
void td_numpad_funcrow_reset(tap_dance_state_t *state, void *user_data);
void td_brackets_left_finished(tap_dance_state_t *state, void *user_data);
void td_brackets_left_reset(tap_dance_state_t *state, void *user_data);
void td_brackets_right_finished(tap_dance_state_t *state, void *user_data);
void td_brackets_right_reset(tap_dance_state_t *state, void *user_data);

/* Tap Dance Definitions */
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    /* Tap once for left parenthesis, twice for left bracket, thrice for left brace */
    [TD_BRACKETS_LEFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_brackets_left_finished, td_brackets_left_reset),
    /* Tap once for right parenthesis, twice for right bracket, thrice for right brace */


@@ 290,7 290,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
};

/* Global TapDance State */
static t_tap qk_tap_state = {
static t_tap tap_state = {
    .left_brackets  = 0,
    .numpad_funcrow = 0,
    .right_brackets = 0,


@@ 300,7 300,7 @@ float s_functionrow_on[][2]  = LAYER_FUNCROW_ON_SONG;
float s_functionrow_off[][2] = LAYER_FUNCROW_OFF_SONG;
float s_numpad_toggle[][2]   = LAYER_NMPAD_SONG;

t_tap_state get_tapdance_state(qk_tap_dance_state_t *state) {
t_tap_state get_tapdance_state(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) {
            return SINGLE_TAP;


@@ 323,9 323,9 @@ t_tap_state get_tapdance_state(qk_tap_dance_state_t *state) {
        return TAP_DANCE_NO_MATCH;
}

void td_numpad_funcrow_finished(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_state.numpad_funcrow = get_tapdance_state(state);
    switch (qk_tap_state.numpad_funcrow) {
void td_numpad_funcrow_finished(tap_dance_state_t *state, void *user_data) {
    tap_state.numpad_funcrow = get_tapdance_state(state);
    switch (tap_state.numpad_funcrow) {
        case SINGLE_TAP ... SINGLE_HOLD:
            layer_on(_NUMPAD);
            PLAY_SONG(s_numpad_toggle);


@@ 347,8 347,8 @@ void td_numpad_funcrow_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_numpad_funcrow_reset(qk_tap_dance_state_t *state, void *user_data) {
    switch (qk_tap_state.numpad_funcrow) {
void td_numpad_funcrow_reset(tap_dance_state_t *state, void *user_data) {
    switch (tap_state.numpad_funcrow) {
        case SINGLE_HOLD:
            layer_off(_NUMPAD);
            break;


@@ 360,9 360,9 @@ void td_numpad_funcrow_reset(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_brackets_left_finished(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_state.left_brackets = get_tapdance_state(state);
    switch (qk_tap_state.left_brackets) {
void td_brackets_left_finished(tap_dance_state_t *state, void *user_data) {
    tap_state.left_brackets = get_tapdance_state(state);
    switch (tap_state.left_brackets) {
        case SINGLE_TAP:
            register_code16(KC_LEFT_PAREN);
            break;


@@ 377,8 377,8 @@ void td_brackets_left_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_brackets_left_reset(qk_tap_dance_state_t *state, void *user_data) {
    switch (qk_tap_state.left_brackets) {
void td_brackets_left_reset(tap_dance_state_t *state, void *user_data) {
    switch (tap_state.left_brackets) {
        case SINGLE_TAP:
            unregister_code16(KC_LEFT_PAREN);
            break;


@@ 391,12 391,12 @@ void td_brackets_left_reset(qk_tap_dance_state_t *state, void *user_data) {
        default:
            break;
    }
    qk_tap_state.left_brackets = 0;
    tap_state.left_brackets = 0;
}

void td_brackets_right_finished(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_state.right_brackets = get_tapdance_state(state);
    switch (qk_tap_state.right_brackets) {
void td_brackets_right_finished(tap_dance_state_t *state, void *user_data) {
    tap_state.right_brackets = get_tapdance_state(state);
    switch (tap_state.right_brackets) {
        case SINGLE_TAP:
            register_code16(KC_RIGHT_PAREN);
            break;


@@ 411,8 411,8 @@ void td_brackets_right_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_brackets_right_reset(qk_tap_dance_state_t *state, void *user_data) {
    switch (qk_tap_state.right_brackets) {
void td_brackets_right_reset(tap_dance_state_t *state, void *user_data) {
    switch (tap_state.right_brackets) {
        case SINGLE_TAP:
            unregister_code16(KC_RIGHT_PAREN);
            break;


@@ 425,7 425,7 @@ void td_brackets_right_reset(qk_tap_dance_state_t *state, void *user_data) {
        default:
            break;
    }
    qk_tap_state.right_brackets = 0;
    tap_state.right_brackets = 0;
}

bool     muse_mode      = false;

M keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c => keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c +20 -20
@@ 78,15 78,15 @@ typedef struct {
    t_tap_state right_brackets;
} t_tap;

t_tap_state get_tapdance_state(qk_tap_dance_state_t *state);
t_tap_state get_tapdance_state(tap_dance_state_t *state);

void td_brackets_left_finished(qk_tap_dance_state_t *state, void *user_data);
void td_brackets_left_reset(qk_tap_dance_state_t *state, void *user_data);
void td_brackets_right_finished(qk_tap_dance_state_t *state, void *user_data);
void td_brackets_right_reset(qk_tap_dance_state_t *state, void *user_data);
void td_brackets_left_finished(tap_dance_state_t *state, void *user_data);
void td_brackets_left_reset(tap_dance_state_t *state, void *user_data);
void td_brackets_right_finished(tap_dance_state_t *state, void *user_data);
void td_brackets_right_reset(tap_dance_state_t *state, void *user_data);

/* Tap Dance Definitions */
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    /* Tap once for left parenthesis, twice for left bracket, thrice for left brace */
    [TD_BRACKETS_LEFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_brackets_left_finished, td_brackets_left_reset),
    /* Tap once for right parenthesis, twice for right bracket, thrice for right brace */


@@ 266,14 266,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
};

/* Global TapDance State */
static t_tap qk_tap_state = {
static t_tap tap_state = {
    .left_brackets  = 0,
    .right_brackets = 0,
};

float s_numpad_toggle[][2] = LAYER_NMPAD_SONG;

t_tap_state get_tapdance_state(qk_tap_dance_state_t *state) {
t_tap_state get_tapdance_state(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) {
            return SINGLE_TAP;


@@ 296,9 296,9 @@ t_tap_state get_tapdance_state(qk_tap_dance_state_t *state) {
        return TAP_DANCE_NO_MATCH;
}

void td_brackets_left_finished(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_state.left_brackets = get_tapdance_state(state);
    switch (qk_tap_state.left_brackets) {
void td_brackets_left_finished(tap_dance_state_t *state, void *user_data) {
    tap_state.left_brackets = get_tapdance_state(state);
    switch (tap_state.left_brackets) {
        case SINGLE_TAP:
            register_code16(KC_LEFT_PAREN);
            break;


@@ 313,8 313,8 @@ void td_brackets_left_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_brackets_left_reset(qk_tap_dance_state_t *state, void *user_data) {
    switch (qk_tap_state.left_brackets) {
void td_brackets_left_reset(tap_dance_state_t *state, void *user_data) {
    switch (tap_state.left_brackets) {
        case SINGLE_TAP:
            unregister_code16(KC_LEFT_PAREN);
            break;


@@ 327,12 327,12 @@ void td_brackets_left_reset(qk_tap_dance_state_t *state, void *user_data) {
        default:
            break;
    }
    qk_tap_state.left_brackets = 0;
    tap_state.left_brackets = 0;
}

void td_brackets_right_finished(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_state.right_brackets = get_tapdance_state(state);
    switch (qk_tap_state.right_brackets) {
void td_brackets_right_finished(tap_dance_state_t *state, void *user_data) {
    tap_state.right_brackets = get_tapdance_state(state);
    switch (tap_state.right_brackets) {
        case SINGLE_TAP:
            register_code16(KC_RIGHT_PAREN);
            break;


@@ 347,8 347,8 @@ void td_brackets_right_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_brackets_right_reset(qk_tap_dance_state_t *state, void *user_data) {
    switch (qk_tap_state.right_brackets) {
void td_brackets_right_reset(tap_dance_state_t *state, void *user_data) {
    switch (tap_state.right_brackets) {
        case SINGLE_TAP:
            unregister_code16(KC_RIGHT_PAREN);
            break;


@@ 361,7 361,7 @@ void td_brackets_right_reset(qk_tap_dance_state_t *state, void *user_data) {
        default:
            break;
    }
    qk_tap_state.right_brackets = 0;
    tap_state.right_brackets = 0;
}

bool     muse_mode      = false;

M keyboards/preonic/keymaps/zach/zach_common_functions.c => keyboards/preonic/keymaps/zach/zach_common_functions.c +8 -8
@@ 68,7 68,7 @@ float unilin[][2]               = SONG(UNICODE_LINUX);
#ifdef TAP_DANCE_ENABLE
#define TAPPING_TERM 200

void dance_raise_press(qk_tap_dance_state_t *state, void *user_data){// Called on each tap
void dance_raise_press(tap_dance_state_t *state, void *user_data){// Called on each tap
  switch(state->count){      // Only turn the layer on once
    case 1:
        layer_off(_UNICODES);


@@ 77,7 77,7 @@ void dance_raise_press(qk_tap_dance_state_t *state, void *user_data){// Called o
        break;
  }
};
void dance_raise_lift(qk_tap_dance_state_t *state, void *user_data){ // Called on release
void dance_raise_lift(tap_dance_state_t *state, void *user_data){ // Called on release
  switch(state->count){
    case 1:         // Normal action. Turn off layers
        layer_off(_RAISE);


@@ 87,7 87,7 @@ void dance_raise_lift(qk_tap_dance_state_t *state, void *user_data){ // Called o
  }
};
/////////////////////////////////////////////////////////////////////
void dance_lower_press(qk_tap_dance_state_t *state, void *user_data){// Called on tap
void dance_lower_press(tap_dance_state_t *state, void *user_data){// Called on tap
  switch(state->count){
    case 1:         // Turn on lower
        layer_off(_UNICODES);


@@ 96,7 96,7 @@ void dance_lower_press(qk_tap_dance_state_t *state, void *user_data){// Called o
        break;
  }
};
void dance_lower_lift(qk_tap_dance_state_t *state, void *user_data){ // Called on release
void dance_lower_lift(tap_dance_state_t *state, void *user_data){ // Called on release
  switch(state->count){
    case 1:         // Normal action. Turn off layers
        layer_off(_LOWER);


@@ 114,12 114,12 @@ void dance_lower_lift(qk_tap_dance_state_t *state, void *user_data){ // Called o
  }
};
/////////////////////////////////////////////////////////////////////
void dance_super_press(qk_tap_dance_state_t *state, void *user_data){   // Called on down
void dance_super_press(tap_dance_state_t *state, void *user_data){   // Called on down
    if(state->count == 1){
        register_code(KC_LGUI);
    }
}
void dance_super_done(qk_tap_dance_state_t *state, void *user_data){    // Called on timeout
void dance_super_done(tap_dance_state_t *state, void *user_data){    // Called on timeout
  switch(state->count){
    case 2:
        register_code(KC_LGUI);


@@ 128,11 128,11 @@ void dance_super_done(qk_tap_dance_state_t *state, void *user_data){    // Calle
        break;
  }
}
void dance_super_lift(qk_tap_dance_state_t *state, void *user_data){        // Called on up
void dance_super_lift(tap_dance_state_t *state, void *user_data){        // Called on up
    unregister_code(KC_LGUI);
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [RAI] = ACTION_TAP_DANCE_FN_ADVANCED(dance_raise_press, NULL, dance_raise_lift),
    [LOW] = ACTION_TAP_DANCE_FN_ADVANCED(dance_lower_press, NULL, dance_lower_lift),
    [SUP] = ACTION_TAP_DANCE_FN_ADVANCED(dance_super_press, dance_super_done, dance_super_lift)

M keyboards/primekb/prime_e/keymaps/brandonschlack/keymap.c => keyboards/primekb/prime_e/keymaps/brandonschlack/keymap.c +1 -1
@@ 23,7 23,7 @@ enum {
};

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for LBracket, twice for RBracket
    [TD_LR_BRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC),
    // Tap once for Single Quote, twice for Double Quote

M keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c => keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c +1 -1
@@ 28,7 28,7 @@ enum {
  TD_SPC_ENT = 0
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)

};

M keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c => keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c +1 -1
@@ 54,7 54,7 @@ enum tapdances{
// Tap dance
#define KC_CODO  TD(TD_CODO)

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_CODO] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT),
 };


M keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c => keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c +1 -1
@@ 53,7 53,7 @@ enum custom_keycodes {
// #define KC_CODO  TD(TD_CODO)
// #define KC_SLRO  TD(TD_SLRO)

// qk_tap_dance_action_t tap_dance_actions[] = {
// tap_dance_action_t tap_dance_actions[] = {
//   [TD_CODO] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT),
//   [TD_SLRO] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, JP_BSLS),
// };

M keyboards/redox/keymaps/finex/keymap.c => keyboards/redox/keymaps/finex/keymap.c +7 -7
@@ 47,7 47,7 @@ enum tap_dance{
};

// Semicolon to Colon
void dance_scln_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_scln_finished (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    register_code (KC_SCLN);
  } else {


@@ 55,7 55,7 @@ void dance_scln_finished (qk_tap_dance_state_t *state, void *user_data) {
    register_code (KC_SCLN);
  }
}
void dance_scln_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_scln_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    unregister_code (KC_SCLN);
  } else {


@@ 65,7 65,7 @@ void dance_scln_reset (qk_tap_dance_state_t *state, void *user_data) {
}

// Square braket to curly bracket (left)
void dance_lbrc_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_lbrc_finished (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    register_code (KC_LBRC);
  } else {


@@ 73,7 73,7 @@ void dance_lbrc_finished (qk_tap_dance_state_t *state, void *user_data) {
    register_code (KC_LBRC);
  }
}
void dance_lbrc_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_lbrc_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    unregister_code (KC_LBRC);
  } else {


@@ 83,7 83,7 @@ void dance_lbrc_reset (qk_tap_dance_state_t *state, void *user_data) {
}

// Square braket to curly bracket (right)
void dance_rbrc_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_rbrc_finished (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    register_code (KC_RBRC);
  } else {


@@ 91,7 91,7 @@ void dance_rbrc_finished (qk_tap_dance_state_t *state, void *user_data) {
    register_code (KC_RBRC);
  }
}
void dance_rbrc_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_rbrc_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    unregister_code (KC_RBRC);
  } else {


@@ 102,7 102,7 @@ void dance_rbrc_reset (qk_tap_dance_state_t *state, void *user_data) {


//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SCLN]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_scln_finished, dance_scln_reset),
  [TD_LBRC]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_lbrc_finished, dance_lbrc_reset),
  [TD_RBRC]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_rbrc_finished, dance_rbrc_reset)

M keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c => keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c +2 -2
@@ 163,7 163,7 @@
 #define TD_CTRL_LANG TD(_TD_CTRL_LANG)
 #define TD_SCLN_NTILDE TD(_TD_SCLN_NTILDE) //TP with costum keycodes has to be a funtion

 void td_scln_ntilde(qk_tap_dance_state_t *state, void *user_data) {
 void td_scln_ntilde(tap_dance_state_t *state, void *user_data) {
      if (state->count == 1) {
         register_code(KC_SCLN);
         unregister_code(KC_SCLN);


@@ 174,7 174,7 @@
 }

 // Tap Dance Definitions
 qk_tap_dance_action_t tap_dance_actions[] = {
 tap_dance_action_t tap_dance_actions[] = {
     [_TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
     [_TD_BSPC_WDEL] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, LALT(KC_BSPC)),
     [_TD_SFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),

M keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c => keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c +1 -1
@@ 105,7 105,7 @@ enum {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Esc, twice for Caps Lock
  [TD_SPC_DOT]  = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_PDOT) 
// Other declarations would go here, separated by commas, if you have them

M keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c => keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c +1 -1
@@ 31,7 31,7 @@ enum tapdances{
  TD_ESQW,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
  [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c => keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c +1 -1
@@ 38,7 38,7 @@ enum tapdances{
  TD_ESAR,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _MOUSE),
  [TD_ESAR] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/salicylic_acid3/ajisai74/keymaps/jis/keymap.c => keyboards/salicylic_acid3/ajisai74/keymaps/jis/keymap.c +1 -1
@@ 30,7 30,7 @@ enum tapdances{
  TD_ENT = 0,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_ENT, KC_ENT),
};


M keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c => keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/keymap.c +1 -1
@@ 31,7 31,7 @@ enum tapdances{
  TD_ENT = 0,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_ENT, KC_ENT),
};


M keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c => keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c +1 -1
@@ 38,7 38,7 @@ enum tapdances{
  TD_ESAR,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _MOUSE),
  [TD_ESAR] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c => keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c +1 -1
@@ 22,7 22,7 @@ enum tapdances{
  TD_ESQW,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
  [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c => keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c +1 -1
@@ 33,7 33,7 @@ enum tapdances{
  TD_ESQW,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
  [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c => keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c +1 -1
@@ 31,7 31,7 @@ enum tapdances{
  TD_ESQW,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
  [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c => keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c +1 -1
@@ 32,7 32,7 @@ enum tapdances{
  TD_ESQW,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
  [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c => keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c +1 -1
@@ 37,7 37,7 @@ enum tapdances{
  TD_ESQW,
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
  [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};

M keyboards/sofle/keymaps/flare576/keymap.c => keyboards/sofle/keymaps/flare576/keymap.c +1 -1
@@ 19,7 19,7 @@
#include "enums.h"
#include "graphics.h"

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_PLAY] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_MNXT),
    [TD_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END),
};

M keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c => keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c +3 -3
@@ 8,7 8,7 @@ enum tapdance_keycodes {
    TD_KEY_2
};

void dance_key_one(qk_tap_dance_state_t *state, void *user_data) {
void dance_key_one(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        /* Copy for Mac. */
        /* Windows & Linux use Ctrl+C: tap_code16(C(KC_C)) */


@@ 26,7 26,7 @@ void dance_key_one(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_key_two(qk_tap_dance_state_t *state, void *user_data) {
void dance_key_two(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        /* Paste for Mac. */
        /* Windows & Linux use Ctrl+V: tap_code16(C(KC_V)) */


@@ 45,7 45,7 @@ void dance_key_two(qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_KEY_1] = ACTION_TAP_DANCE_FN(dance_key_one), 
    [TD_KEY_2] = ACTION_TAP_DANCE_FN(dance_key_two)
};

M keyboards/spaceman/2_milk/keymaps/emoji/keymap.c => keyboards/spaceman/2_milk/keymaps/emoji/keymap.c +3 -3
@@ 5,7 5,7 @@ enum tapdance_keycodes {
    TD_KEY_2,
};

void dance_key_one (qk_tap_dance_state_t *state, void *user_data) {
void dance_key_one (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        send_unicode_string("¯\\_(ツ)_/¯");
        tap_code(KC_ENTER);


@@ 16,7 16,7 @@ void dance_key_one (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_key_two (qk_tap_dance_state_t *state, void *user_data) {
void dance_key_two (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        send_unicode_string("ಠ_ಠ");
        tap_code(KC_ENTER);


@@ 40,7 40,7 @@ void dance_key_two (qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_KEY_1] = ACTION_TAP_DANCE_FN(dance_key_one),
    [TD_KEY_2] = ACTION_TAP_DANCE_FN(dance_key_two),
};

M keyboards/spacetime/keymaps/kyleterry/keymap.c => keyboards/spacetime/keymaps/kyleterry/keymap.c +3 -3
@@ 114,7 114,7 @@ void led_set_user(uint8_t usb_led) {

}

void td_common(qk_tap_dance_state_t *state, void *user_data) {
void td_common(tap_dance_state_t *state, void *user_data) {
  switch (state->count) {
    case 1:
      /* this case handles ctrl+o which is my tmux prefix


@@ 132,7 132,7 @@ void td_common(qk_tap_dance_state_t *state, void *user_data) {
  }
}

void td_media(qk_tap_dance_state_t *state, void *user_data) {
void td_media(tap_dance_state_t *state, void *user_data) {
  switch (state->count) {
    case 1:
      tap_code16(KC_MPLY);


@@ 145,7 145,7 @@ void td_media(qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_C]  = ACTION_TAP_DANCE_FN(td_common),
  [TD_MD] = ACTION_TAP_DANCE_FN(td_media),
};

M keyboards/splitkb/kyria/keymaps/artflag/keymap.c => keyboards/splitkb/kyria/keymaps/artflag/keymap.c +3 -3
@@ 9,7 9,7 @@ enum {
    CT_CLN, // Reverses colon and semicolon and triggers semicolon on tap dance.
};

void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_cln_finished(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_code16(KC_COLN);
    } else {


@@ 17,7 17,7 @@ void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_cln_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_cln_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code16(KC_COLN);
    } else {


@@ 26,7 26,7 @@ void dance_cln_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// All tap dance functions would go here.
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, dance_cln_reset),
};


M keyboards/splitkb/kyria/keymaps/lms_ace01/keymap.c => keyboards/splitkb/kyria/keymaps/lms_ace01/keymap.c +7 -7
@@ 130,11 130,11 @@ static td_tap_t td_tap_state = {
    .state           = TD_NONE
};

td_state_t td_current       (qk_tap_dance_state_t *state);
void       td_kc_ly_finished(qk_tap_dance_state_t *state, void *user_data);
void       td_kc_ly_reset   (qk_tap_dance_state_t *state, void *user_data);
td_state_t td_current       (tap_dance_state_t *state);
void       td_kc_ly_finished(tap_dance_state_t *state, void *user_data);
void       td_kc_ly_reset   (tap_dance_state_t *state, void *user_data);

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TAB] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_CAPS),
    [ESC] = ACTION_TAP_DANCE_FN_ADVANCED_USER(NULL, td_kc_ly_finished, td_kc_ly_reset, \
                                              &((td_user_data_t) { KC_ESC, { _NAVIGATION, _QWERTY_ES, _QWERTY_ES }})),


@@ 505,7 505,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 * TAP DANCE FUNCTIONS
 */
#ifdef TAP_DANCE_ENABLE
td_state_t td_current(qk_tap_dance_state_t *state) {
td_state_t td_current(tap_dance_state_t *state) {
    switch (state->count) {
        case 1:
            return ((!state->pressed) ? TD_SINGLE_TAP : TD_SINGLE_HOLD);


@@ 516,7 516,7 @@ td_state_t td_current(qk_tap_dance_state_t *state) {
    }
}

void td_kc_ly_finished(qk_tap_dance_state_t *state, void *user_data) {
void td_kc_ly_finished(tap_dance_state_t *state, void *user_data) {
    td_tap_state.state  = td_current(state);
    uint16_t  keycode   = ((td_user_data_t *)user_data)->keycode;
    uint8_t  *layer_arr = ((td_user_data_t *)user_data)->layer;


@@ 576,7 576,7 @@ void td_kc_ly_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_kc_ly_reset(qk_tap_dance_state_t *state, void *user_data) {
void td_kc_ly_reset(tap_dance_state_t *state, void *user_data) {
    uint8_t *layer_arr = ((td_user_data_t *)user_data)->layer;

    if (td_tap_state.state == TD_SINGLE_HOLD) {

M keyboards/tada68/keymaps/abishalom/keymap.c => keyboards/tada68/keymaps/abishalom/keymap.c +1 -1
@@ 15,7 15,7 @@ enum {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_WIN_LOCK]  = ACTION_TAP_DANCE_DOUBLE(MAGIC_NO_GUI, MAGIC_UNNO_GUI)
};


M keyboards/tada68/keymaps/sm0g/keymap.c => keyboards/tada68/keymaps/sm0g/keymap.c +1 -1
@@ 84,7 84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Tapdance definitions. Tap Dance F Keys.
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_F1] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_F1),
  [TD_F2] = ACTION_TAP_DANCE_DOUBLE(KC_2, KC_F2),
  [TD_F3] = ACTION_TAP_DANCE_DOUBLE(KC_3, KC_F3),

M keyboards/tada68/keymaps/trashcat/keymap.c => keyboards/tada68/keymaps/trashcat/keymap.c +1 -1
@@ 92,7 92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Tapdance definitions. Tap Dance F Keys.
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_F1] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_F1),
  [TD_F2] = ACTION_TAP_DANCE_DOUBLE(KC_2, KC_F2),
  [TD_F3] = ACTION_TAP_DANCE_DOUBLE(KC_3, KC_F3),

M keyboards/the_royal/liminal/keymaps/default/keymap.c => keyboards/the_royal/liminal/keymaps/default/keymap.c +2 -2
@@ 14,7 14,7 @@ enum {
  TD_DBQT
};

void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_rst_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count >= 2) {
    reset_keyboard();
    reset_tap_dance(state);


@@ 22,7 22,7 @@ void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) {
}

//All tap dance functions would go here. Only showing this one.
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
 [TD_RST] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, NULL, dance_rst_reset),
 [TD_DBQT] = ACTION_TAP_DANCE_DOUBLE (KC_QUOTE, KC_DQT)
};

M keyboards/the_royal/liminal/keymaps/default_iso/keymap.c => keyboards/the_royal/liminal/keymaps/default_iso/keymap.c +2 -2
@@ 14,7 14,7 @@ enum {
  TD_DBQT
};

void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_rst_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count >= 2) {
    reset_keyboard();
    reset_tap_dance(state);


@@ 22,7 22,7 @@ void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) {
}

//All tap dance functions would go here. Only showing this one.
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_RST] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, NULL, dance_rst_reset),
  [TD_DBQT] = ACTION_TAP_DANCE_DOUBLE (KC_QUOTE, KC_DQT)
};

M keyboards/the_royal/schwann/keymaps/default/keymap.c => keyboards/the_royal/schwann/keymaps/default/keymap.c +2 -2
@@ 18,7 18,7 @@ enum {
  TD_RST
};

void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_rst_reset (tap_dance_state_t *state, void *user_data) {
  if (state->count >= 2) {
    reset_keyboard();
    reset_tap_dance(state);


@@ 26,7 26,7 @@ void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) {
}

//All tap dance functions would go here. Only showing this one.
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_RST] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, NULL, dance_rst_reset)
};


M keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c => keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c +5 -5
@@ 31,10 31,10 @@ enum belak_td {
    BE_TD_ALT,
};

void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data);
void mod_reset_fn(qk_tap_dance_state_t *state, void *user_data);
void mod_tap_fn(tap_dance_state_t *state, void *user_data);
void mod_reset_fn(tap_dance_state_t *state, void *user_data);

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [BE_TD_GUI] = ACTION_TAP_DANCE_MOD_TAP(KC_LGUI),
    [BE_TD_CTL] = ACTION_TAP_DANCE_MOD_TAP(KC_LCTL),
    [BE_TD_ALT] = ACTION_TAP_DANCE_MOD_TAP(KC_LALT),


@@ 68,7 68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Tap dance functions
void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data) {
void mod_tap_fn(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:
            uint8_t *mod = (uint8_t *)user_data;


@@ 87,7 87,7 @@ void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void mod_reset_fn(qk_tap_dance_state_t *state, void *user_data) {
void mod_reset_fn(tap_dance_state_t *state, void *user_data) {
    uint8_t *mod = (uint8_t *)user_data;
    layer_off(_L1);
    layer_off(_L2);

M keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c => keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c +1 -1
@@ 45,7 45,7 @@ enum tapdances{

#define KC_SCCL  TD(TD_SCCL)

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SCCL] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_QUOT),
};


M keyboards/tunks/ergo33/keymaps/prpro/keymap.c => keyboards/tunks/ergo33/keymaps/prpro/keymap.c +1 -1
@@ 43,7 43,7 @@ enum {
};

/* Tap Dance definitions */
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_1] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_1), LCTL(LSFT(KC_1))),
    [TD_2] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_2), LCTL(LSFT(KC_2))),
    [TD_3] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_3), LCTL(LSFT(KC_3))),

M keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c => keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c +1 -1
@@ 32,7 32,7 @@ enum {
};

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Escape, twice for Number 4 (armor plates in warzone)
    [TD_ESC_TAB] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_TAB),
    [TD_3_L0] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_3, 1),

M keyboards/unikeyboard/diverge3/keymaps/default/keymap.c => keyboards/unikeyboard/diverge3/keymaps/default/keymap.c +4 -4
@@ 34,7 34,7 @@ typedef struct {
  int state;
} tap;

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    //If count = 1, and it has been interrupted - it doesn't matter if it is pressed or not: Send SINGLE_TAP
    if (state->interrupted || state->pressed==0) return SINGLE_TAP;


@@ 58,7 58,7 @@ static tap se_tap_state = {
  .state = 0
};

void se_finished (qk_tap_dance_state_t *state, void *user_data) {
void se_finished (tap_dance_state_t *state, void *user_data) {
  se_tap_state.state = cur_dance(state);
  switch (se_tap_state.state) {
    case SINGLE_TAP: register_code(KC_SPC); break;


@@ 70,7 70,7 @@ void se_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void se_reset (qk_tap_dance_state_t *state, void *user_data) {
void se_reset (tap_dance_state_t *state, void *user_data) {
  switch (se_tap_state.state) {
    case SINGLE_TAP: unregister_code(KC_SPC); break;
    case SINGLE_HOLD: unregister_code(KC_ENT); break;


@@ 79,7 79,7 @@ void se_reset (qk_tap_dance_state_t *state, void *user_data) {
  se_tap_state.state = 0;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [SE_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, se_finished, se_reset)
};


M keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/keymap.c => keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/keymap.c +2 -2
@@ 25,7 25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  LAYOUT(TD(TD_PLAY)),
};

void tap_dance (qk_tap_dance_state_t *state, void *user_data) {
void tap_dance (tap_dance_state_t *state, void *user_data) {
  switch (state->count) {
    case 0 ... 1:
      register_code(KC_MEDIA_PLAY_PAUSE);


@@ 45,6 45,6 @@ void tap_dance (qk_tap_dance_state_t *state, void *user_data) {
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_PLAY] = ACTION_TAP_DANCE_FN(tap_dance),
};

M keyboards/woodkeys/bigseries/1key/keymaps/leddance/keymap.c => keyboards/woodkeys/bigseries/1key/keymaps/leddance/keymap.c +2 -2
@@ 34,7 34,7 @@ enum {
  TD_TOGGLE = 0
};

void dance_toggle (qk_tap_dance_state_t *state, void *user_data) {
void dance_toggle (tap_dance_state_t *state, void *user_data) {
  if (state->count >= 2) {
    println("Double tapped, switching layers");
    if (layer_state_is(LED)) {


@@ 59,7 59,7 @@ void dance_toggle (qk_tap_dance_state_t *state, void *user_data) {
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_TOGGLE]  = ACTION_TAP_DANCE_FN(dance_toggle)
// Other declarations would go here, separated by commas, if you have them
};

M keyboards/work_louder/work_board/keymaps/default/keymap.c => keyboards/work_louder/work_board/keymaps/default/keymap.c +3 -3
@@ 61,7 61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};


void dance_enc_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_enc_finished(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_code(KC_MPLY);
    } else if (state->count == 2) {


@@ 71,7 71,7 @@ void dance_enc_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_enc_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_enc_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code(KC_MPLY);
    } else if (state->count == 2) {


@@ 82,7 82,7 @@ void dance_enc_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [ENC_TAP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_enc_finished, dance_enc_reset),
};


M keyboards/work_louder/work_board/keymaps/via/keymap.c => keyboards/work_louder/work_board/keymaps/via/keymap.c +3 -3
@@ 59,7 59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};


void dance_enc_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_enc_finished(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_code(KC_MPLY);
    } else if (state->count == 2) {


@@ 69,7 69,7 @@ void dance_enc_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_enc_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_enc_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code(KC_MPLY);
    } else if (state->count == 2) {


@@ 80,7 80,7 @@ void dance_enc_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [ENC_TAP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_enc_finished, dance_enc_reset),
};


M keyboards/wsk/gothic50/keymaps/default/keymap.c => keyboards/wsk/gothic50/keymaps/default/keymap.c +1 -1
@@ 51,7 51,7 @@ layer_state_t layer_state_set_user(layer_state_t state)
}

// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // double tap for caps
    [TD_SCAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
};

M keyboards/wsk/gothic70/keymaps/default/keymap.c => keyboards/wsk/gothic70/keymaps/default/keymap.c +1 -1
@@ 63,7 63,7 @@ layer_state_t layer_state_set_user(layer_state_t state)


// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for
    [TD_SCAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
};

M keyboards/xiudi/xd002/keymaps/tap_dance/keymap.c => keyboards/xiudi/xd002/keymaps/tap_dance/keymap.c +1 -1
@@ 8,7 8,7 @@ enum {
  TD_BC = 0
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_BC]  = ACTION_TAP_DANCE_DOUBLE(KC_B, KC_C)
};


M keyboards/xiudi/xd60/keymaps/Jos/keymap.c => keyboards/xiudi/xd60/keymaps/Jos/keymap.c +4 -4
@@ 83,7 83,7 @@ typedef struct {
  bool sticky;
} td_ta_state_t;

static void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) {
static void ang_tap_dance_ta_finished (tap_dance_state_t *state, void *user_data) {
  td_ta_state_t *td_ta = (td_ta_state_t *) user_data;

//  if (td_ta->sticky) {


@@ 105,7 105,7 @@ static void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_d
}

// Added this one to make it more reactive on keyup
static void ang_tap_dance_ta_each (qk_tap_dance_state_t *state, void *user_data) {
static void ang_tap_dance_ta_each (tap_dance_state_t *state, void *user_data) {
  td_ta_state_t *td_ta = (td_ta_state_t *) user_data;

  if (!td_ta->layer_toggle) {   // Braces added for clarity


@@ 114,7 114,7 @@ static void ang_tap_dance_ta_each (qk_tap_dance_state_t *state, void *user_data)
}


static void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data) {
static void ang_tap_dance_ta_reset (tap_dance_state_t *state, void *user_data) {
  td_ta_state_t *td_ta = (td_ta_state_t *) user_data;

  if (!td_ta->layer_toggle) {   // Braces added for clarity


@@ 125,7 125,7 @@ static void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data
}


qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
   [0]  = {
     .fn = { ang_tap_dance_ta_each, ang_tap_dance_ta_finished, ang_tap_dance_ta_reset },
     .user_data = (void *)&((td_ta_state_t) { false, false })

M keyboards/xiudi/xd75/keymaps/davidrambo/keymap.c => keyboards/xiudi/xd75/keymaps/davidrambo/keymap.c +3 -3
@@ 160,7 160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

// Shift vs capslock function. From bbaserdem's Planck keymap.
void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
void caps_tap (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_code (KC_LSFT);
    } else if (state->count == 2) {


@@ 168,7 168,7 @@ void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
        register_code (KC_CAPS);
    }
}
void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
void caps_tap_end (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code (KC_LSFT);
    } else {


@@ 177,7 177,7 @@ void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Shift, twice for Caps Lock
  [SFT_LCK] = ACTION_TAP_DANCE_FN_ADVANCED( caps_tap, NULL, caps_tap_end )
};

M keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/keymap.c => keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/keymap.c +2 -2
@@ 34,7 34,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  return true;
};

void macro_tog_key( qk_tap_dance_state_t *state, void *user_data ) {
void macro_tog_key( tap_dance_state_t *state, void *user_data ) {
  if ( state->count > 3 )
    return;



@@ 60,7 60,7 @@ enum {
  MCROTOG_ = 0
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [MCROTOG_]  = ACTION_TAP_DANCE_FN( macro_tog_key )
};


M keyboards/xiudi/xd75/keymaps/germanized/keymap.c => keyboards/xiudi/xd75/keymaps/germanized/keymap.c +1 -1
@@ 19,7 19,7 @@ enum {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Esc, twice Ctrl+Alt+Del
  [TD_ESC_RUPT]  = ACTION_TAP_DANCE_DOUBLE(KC_ESC, LALT(LCTL(KC_DEL))),
  [TD_TAB]  = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, LGUI(KC_TAB))

M keyboards/xiudi/xd75/keymaps/hybrid/keymap.c => keyboards/xiudi/xd75/keymaps/hybrid/keymap.c +13 -13
@@ 39,7 39,7 @@ enum {



void dance_a_accent (qk_tap_dance_state_t *state, void *user_data) {
void dance_a_accent (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_0);
  }


@@ 47,7 47,7 @@ void dance_a_accent (qk_tap_dance_state_t *state, void *user_data) {
    tap_code (KC_Q);
  }
}
void dance_e_accent (qk_tap_dance_state_t *state, void *user_data) {
void dance_e_accent (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_2);
  }


@@ 58,7 58,7 @@ void dance_e_accent (qk_tap_dance_state_t *state, void *user_data) {
    tap_code (KC_E);
  }
}
void dance_i_accent (qk_tap_dance_state_t *state, void *user_data) {
void dance_i_accent (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_NUM_LOCK);
    register_code (KC_LALT);


@@ 74,7 74,7 @@ void dance_i_accent (qk_tap_dance_state_t *state, void *user_data) {

  }
}
void dance_o_accent (qk_tap_dance_state_t *state, void *user_data) {
void dance_o_accent (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_NUM_LOCK);
    register_code (KC_LALT);


@@ 89,7 89,7 @@ void dance_o_accent (qk_tap_dance_state_t *state, void *user_data) {
    tap_code (KC_O);
  }
}
void dance_u_accent (qk_tap_dance_state_t *state, void *user_data) {
void dance_u_accent (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_NUM_LOCK);
    register_code (KC_LALT);


@@ 105,7 105,7 @@ void dance_u_accent (qk_tap_dance_state_t *state, void *user_data) {
  }

}
void dance_slash (qk_tap_dance_state_t *state, void *user_data) {
void dance_slash (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_NUM_LOCK);
    register_code (KC_LALT);


@@ 119,7 119,7 @@ void dance_slash (qk_tap_dance_state_t *state, void *user_data) {
    tap_code (KC_PSLS);
  }
}
void dance_under (qk_tap_dance_state_t *state, void *user_data) {
void dance_under (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_NUM_LOCK);
    register_code (KC_LALT);


@@ 133,7 133,7 @@ void dance_under (qk_tap_dance_state_t *state, void *user_data) {
    tap_code (KC_6);
  }
}
void dance_open_accol (qk_tap_dance_state_t *state, void *user_data) {
void dance_open_accol (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_NUM_LOCK);
    register_code (KC_LALT);


@@ 157,7 157,7 @@ void dance_open_accol (qk_tap_dance_state_t *state, void *user_data) {
    tap_code (KC_5);
  }
}
void dance_close_accol (qk_tap_dance_state_t *state, void *user_data) {
void dance_close_accol (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_NUM_LOCK);
    register_code (KC_LALT);


@@ 182,7 182,7 @@ void dance_close_accol (qk_tap_dance_state_t *state, void *user_data) {
    tap_code (KC_MINS);
  }
}
void dance_question (qk_tap_dance_state_t *state, void *user_data) {
void dance_question (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_NUM_LOCK);
    register_code (KC_LALT);


@@ 206,7 206,7 @@ void dance_question (qk_tap_dance_state_t *state, void *user_data) {

  }
}
void dance_cedille (qk_tap_dance_state_t *state, void *user_data) {
void dance_cedille (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_9);
  }


@@ 214,7 214,7 @@ void dance_cedille (qk_tap_dance_state_t *state, void *user_data) {
    tap_code (KC_C);
  }
}
void dance_dot (qk_tap_dance_state_t *state, void *user_data) {
void dance_dot (tap_dance_state_t *state, void *user_data) {
  if (state->count == 2) {
    tap_code (KC_NUM_LOCK);
    register_code (KC_LALT);


@@ 234,7 234,7 @@ void dance_dot (qk_tap_dance_state_t *state, void *user_data) {
    tap_code (KC_NUM_LOCK);
  }
}
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_A] = ACTION_TAP_DANCE_FN(dance_a_accent),
  [TD_E] = ACTION_TAP_DANCE_FN(dance_e_accent),
  [TD_I] = ACTION_TAP_DANCE_FN(dance_i_accent),

M keyboards/xiudi/xd75/keymaps/odyssey/keymap.c => keyboards/xiudi/xd75/keymaps/odyssey/keymap.c +7 -7
@@ 13,9 13,9 @@ typedef enum {
} td_state_t;

static td_state_t td_state = NONE_NONE;
int cur_dance (qk_tap_dance_state_t *state);
void altlp_finished (qk_tap_dance_state_t *state, void *user_data);
void altlp_reset (qk_tap_dance_state_t *state, void *user_data);
int cur_dance (tap_dance_state_t *state);
void altlp_finished (tap_dance_state_t *state, void *user_data);
void altlp_reset (tap_dance_state_t *state, void *user_data);

// Four differend underglow states for 2 language layouts x 2 states of colemak layer
enum layer_states {


@@ 65,7 65,7 @@ void update_led_state_c(void) {
  }
}

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->interrupted && state->pressed) { return SINGLE_HOLD; }
    else if (!state->pressed) { return SINGLE_TAP; }


@@ 76,7 76,7 @@ int cur_dance (qk_tap_dance_state_t *state) {
}

// Tapdance code stolen long time ago from one of the forum answers i found related to my problem, sadly can't provide link for the credits
void lesc_finished (qk_tap_dance_state_t *state, void *user_data) {
void lesc_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 94,7 94,7 @@ void lesc_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void lesc_reset (qk_tap_dance_state_t *state, void *user_data) {
void lesc_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      unregister_code16(KC_ESC);


@@ 115,7 115,7 @@ void lesc_reset (qk_tap_dance_state_t *state, void *user_data) {
  update_led_state_c();
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [LESC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lesc_finished, lesc_reset)
};


M keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c => keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c +1 -1
@@ 48,7 48,7 @@ enum {
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Esc, twice for Caps Lock
  [TD_LOCK_SLEEP]  = ACTION_TAP_DANCE_DOUBLE(LGUI(KC_L), KC_SLEP),
  [TD_ABK] = ACTION_TAP_DANCE_DOUBLE(KC_LABK,KC_RABK),

M keyboards/yatara/drink_me/keymaps/queen/keymap.c => keyboards/yatara/drink_me/keymaps/queen/keymap.c +5 -5
@@ 9,7 9,7 @@ enum td_keys {
};


void td_spade_lnx (qk_tap_dance_state_t *state, void *user_data) {
void td_spade_lnx (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_unicode(0x2660); // ♠
    } else {


@@ 19,7 19,7 @@ void td_spade_lnx (qk_tap_dance_state_t *state, void *user_data) {
}


void td_diamond_osx (qk_tap_dance_state_t *state, void *user_data) {
void td_diamond_osx (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_unicode(0x2666); // ♦
    } else {


@@ 29,7 29,7 @@ void td_diamond_osx (qk_tap_dance_state_t *state, void *user_data) {
}


void td_club_win (qk_tap_dance_state_t *state, void *user_data) {
void td_club_win (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_unicode(0x2663); // ♣
    } else {


@@ 39,7 39,7 @@ void td_club_win (qk_tap_dance_state_t *state, void *user_data) {
}


void td_heart_winc (qk_tap_dance_state_t *state, void *user_data) {
void td_heart_winc (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_unicode(0x2665); // ♥
    } else {


@@ 49,7 49,7 @@ void td_heart_winc (qk_tap_dance_state_t *state, void *user_data) {
}


qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_K0] = ACTION_TAP_DANCE_FN(td_spade_lnx),
    [TD_K1] = ACTION_TAP_DANCE_FN(td_diamond_osx),
    [TD_K2] = ACTION_TAP_DANCE_FN(td_club_win),

M keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c => keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c +1 -1
@@ 20,7 20,7 @@ enum {
  TD_H_E = 0
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_H_E] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END)
};
#define ______ KC_TRNS

M keyboards/zfrontier/big_switch/keymaps/longtap/keymap.c => keyboards/zfrontier/big_switch/keymaps/longtap/keymap.c +3 -3
@@ 93,7 93,7 @@ void zf_send_random_string(void) {
    tap_code(KC_ENT);
}

void dance_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_finished(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:
            register_code(KC_ENTER);


@@ 107,12 107,12 @@ void dance_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code(KC_ENTER);
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_ENTER] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_finished, dance_reset)
};

M layouts/community/ergodox/belak/keymap.c => layouts/community/ergodox/belak/keymap.c +7 -7
@@ 45,11 45,11 @@ enum belak_td {
    TD_LAYER_TOGGLE = 0,
};

void belak_td_each(qk_tap_dance_state_t *state, void *user_data);
void belak_td_finished(qk_tap_dance_state_t *state, void *user_data);
void belak_td_reset(qk_tap_dance_state_t *state, void *user_data);
void belak_td_each(tap_dance_state_t *state, void *user_data);
void belak_td_finished(tap_dance_state_t *state, void *user_data);
void belak_td_reset(tap_dance_state_t *state, void *user_data);

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LAYER_TOGGLE] = ACTION_TAP_DANCE_FN_ADVANCED(belak_td_each, belak_td_finished, belak_td_reset),
};



@@ 332,7 332,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    return true;
}

void belak_td_each(qk_tap_dance_state_t *state, void *user_data) {
void belak_td_each(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
    case 1:
        td_led_override = 1;


@@ 345,7 345,7 @@ void belak_td_each(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void belak_td_finished(qk_tap_dance_state_t *state, void *user_data) {
void belak_td_finished(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
    case 1:
        layer_on(SYMB);


@@ 357,6 357,6 @@ void belak_td_finished(qk_tap_dance_state_t *state, void *user_data) {
    td_led_override = 0;
}

void belak_td_reset(qk_tap_dance_state_t *state, void *user_data) {
void belak_td_reset(tap_dance_state_t *state, void *user_data) {
    td_led_override = 0;
}

M layouts/community/ergodox/haegin/keymap.c => layouts/community/ergodox/haegin/keymap.c +5 -5
@@ 167,7 167,7 @@ static fib_tap fib_bspc = {
  .state = BSPC_LETTER
};

void cur_backspace (qk_tap_dance_state_t *state) {
void cur_backspace (tap_dance_state_t *state) {
  int next_fib = fib_bspc.a + fib_bspc.b;
  fib_bspc.a = fib_bspc.b;
  fib_bspc.b = next_fib;


@@ 177,7 177,7 @@ void cur_backspace (qk_tap_dance_state_t *state) {
  }
}

void dance_backspace (qk_tap_dance_state_t *state, void *user_data) {
void dance_backspace (tap_dance_state_t *state, void *user_data) {
  // If we're at the fifth tap, switch to deleting by words, and reset the fib
  // counter
  if (state->count == 4) {


@@ 197,7 197,7 @@ void dance_backspace (qk_tap_dance_state_t *state, void *user_data) {
  }
};

void dance_backspace_ended (qk_tap_dance_state_t *state, void *user_data) {
void dance_backspace_ended (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    if (state->pressed) {
      fib_bspc.state = HOLD_CTRL;


@@ 208,7 208,7 @@ void dance_backspace_ended (qk_tap_dance_state_t *state, void *user_data) {
  }
};

void dance_backspace_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_backspace_reset (tap_dance_state_t *state, void *user_data) {
  switch (fib_bspc.state) {
    case HOLD_CTRL: unregister_code(KC_LCTL); break;
    case BSPC_WORD: unregister_code(KC_BSPC); unregister_code(KC_LALT); break;


@@ 219,7 219,7 @@ void dance_backspace_reset (qk_tap_dance_state_t *state, void *user_data) {
  fib_bspc.state = BSPC_LETTER;
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_BSPC] = ACTION_TAP_DANCE_FN_ADVANCED (dance_backspace, dance_backspace_ended, dance_backspace_reset)
};


M layouts/community/ergodox/meagerfindings/keymap.c => layouts/community/ergodox/meagerfindings/keymap.c +1 -1
@@ 51,7 51,7 @@ enum custom_keycodes {
static uint16_t key_timer; //key timer for macros

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Copy, twice for Paste, three times for Cut.
  [TD_COPY_CUT]  = ACTION_TAP_DANCE_DOUBLE(LGUI(KC_C),LGUI(KC_X)),
    //Tap once for Snagit, twice for Cmd + Shift + Opt + 4 (OS X cropping screenshot that is copied to the clipboard only.)

M layouts/community/ergodox/videck/keymap.c => layouts/community/ergodox/videck/keymap.c +3 -3
@@ 106,7 106,7 @@ typedef struct
  videck_tap_dance_trigger_t trigger;
} videck_tap_dance_tuple_t;

static void videck_tap_dance_finished (qk_tap_dance_state_t *state, void *user_data) {
static void videck_tap_dance_finished (tap_dance_state_t *state, void *user_data) {
  videck_tap_dance_tuple_t *const tuple = (videck_tap_dance_tuple_t *)user_data;

  if (state->count == 1) {


@@ 116,7 116,7 @@ static void videck_tap_dance_finished (qk_tap_dance_state_t *state, void *user_d
  }
}

static void videck_tap_dance_reset (qk_tap_dance_state_t *state, void *user_data) {
static void videck_tap_dance_reset (tap_dance_state_t *state, void *user_data) {
  videck_tap_dance_tuple_t *const tuple = (videck_tap_dance_tuple_t *)user_data;

  if (state->count == 1) {


@@ 139,7 139,7 @@ static void videck_caps_trigger (const uint16_t kc) {
    .user_data = (void *)&((videck_tap_dance_tuple_t) { kc1, kc2, double_trigger }),  \
  }

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_L] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_LSFT, KC_CAPS, videck_caps_trigger),
  [TD_R] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_RSFT, KC_CAPS, videck_caps_trigger)
};

M layouts/community/ortho_5x12/riblee/keymap.c => layouts/community/ortho_5x12/riblee/keymap.c +1 -1
@@ 17,7 17,7 @@


// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_A] = ACTION_TAP_DANCE_FN(dance_key_a),
    [TD_E] = ACTION_TAP_DANCE_FN(dance_key_e),
    [TD_I] = ACTION_TAP_DANCE_FN(dance_key_i),

M quantum/process_keycode/process_tap_dance.c => quantum/process_keycode/process_tap_dance.c +22 -22
@@ 18,8 18,8 @@
static uint16_t active_td;
static uint16_t last_tap_time;

void qk_tap_dance_pair_on_each_tap(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
void tap_dance_pair_on_each_tap(tap_dance_state_t *state, void *user_data) {
    tap_dance_pair_t *pair = (tap_dance_pair_t *)user_data;

    if (state->count == 2) {
        register_code16(pair->kc2);


@@ 27,14 27,14 @@ void qk_tap_dance_pair_on_each_tap(qk_tap_dance_state_t *state, void *user_data)
    }
}

void qk_tap_dance_pair_finished(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
void tap_dance_pair_finished(tap_dance_state_t *state, void *user_data) {
    tap_dance_pair_t *pair = (tap_dance_pair_t *)user_data;

    register_code16(pair->kc1);
}

void qk_tap_dance_pair_reset(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
void tap_dance_pair_reset(tap_dance_state_t *state, void *user_data) {
    tap_dance_pair_t *pair = (tap_dance_pair_t *)user_data;

    if (state->count == 1) {
        wait_ms(TAP_CODE_DELAY);


@@ 44,8 44,8 @@ void qk_tap_dance_pair_reset(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void qk_tap_dance_dual_role_on_each_tap(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_dual_role_t *pair = (qk_tap_dance_dual_role_t *)user_data;
void tap_dance_dual_role_on_each_tap(tap_dance_state_t *state, void *user_data) {
    tap_dance_dual_role_t *pair = (tap_dance_dual_role_t *)user_data;

    if (state->count == 2) {
        layer_move(pair->layer);


@@ 53,8 53,8 @@ void qk_tap_dance_dual_role_on_each_tap(qk_tap_dance_state_t *state, void *user_
    }
}

void qk_tap_dance_dual_role_finished(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_dual_role_t *pair = (qk_tap_dance_dual_role_t *)user_data;
void tap_dance_dual_role_finished(tap_dance_state_t *state, void *user_data) {
    tap_dance_dual_role_t *pair = (tap_dance_dual_role_t *)user_data;

    if (state->count == 1) {
        register_code16(pair->kc);


@@ 63,8 63,8 @@ void qk_tap_dance_dual_role_finished(qk_tap_dance_state_t *state, void *user_dat
    }
}

void qk_tap_dance_dual_role_reset(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_dual_role_t *pair = (qk_tap_dance_dual_role_t *)user_data;
void tap_dance_dual_role_reset(tap_dance_state_t *state, void *user_data) {
    tap_dance_dual_role_t *pair = (tap_dance_dual_role_t *)user_data;

    if (state->count == 1) {
        wait_ms(TAP_CODE_DELAY);


@@ 72,13 72,13 @@ void qk_tap_dance_dual_role_reset(qk_tap_dance_state_t *state, void *user_data) 
    }
}

static inline void _process_tap_dance_action_fn(qk_tap_dance_state_t *state, void *user_data, qk_tap_dance_user_fn_t fn) {
static inline void _process_tap_dance_action_fn(tap_dance_state_t *state, void *user_data, tap_dance_user_fn_t fn) {
    if (fn) {
        fn(state, user_data);
    }
}

static inline void process_tap_dance_action_on_each_tap(qk_tap_dance_action_t *action) {
static inline void process_tap_dance_action_on_each_tap(tap_dance_action_t *action) {
    action->state.count++;
    action->state.weak_mods = get_mods();
    action->state.weak_mods |= get_weak_mods();


@@ 88,17 88,17 @@ static inline void process_tap_dance_action_on_each_tap(qk_tap_dance_action_t *a
    _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_each_tap);
}

static inline void process_tap_dance_action_on_reset(qk_tap_dance_action_t *action) {
static inline void process_tap_dance_action_on_reset(tap_dance_action_t *action) {
    _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_reset);
    del_weak_mods(action->state.weak_mods);
#ifndef NO_ACTION_ONESHOT
    del_mods(action->state.oneshot_mods);
#endif
    send_keyboard_report();
    action->state = (const qk_tap_dance_state_t){0};
    action->state = (const tap_dance_state_t){0};
}

static inline void process_tap_dance_action_on_dance_finished(qk_tap_dance_action_t *action) {
static inline void process_tap_dance_action_on_dance_finished(tap_dance_action_t *action) {
    if (!action->state.finished) {
        action->state.finished = true;
        add_weak_mods(action->state.weak_mods);


@@ 116,7 116,7 @@ static inline void process_tap_dance_action_on_dance_finished(qk_tap_dance_actio
}

bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) {
    qk_tap_dance_action_t *action;
    tap_dance_action_t *action;

    if (!record->event.pressed) return false;



@@ 139,7 139,7 @@ bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) {
}

bool process_tap_dance(uint16_t keycode, keyrecord_t *record) {
    qk_tap_dance_action_t *action;
    tap_dance_action_t *action;

    switch (keycode) {
        case QK_TAP_DANCE ... QK_TAP_DANCE_MAX:


@@ 163,7 163,7 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) {
}

void tap_dance_task() {
    qk_tap_dance_action_t *action;
    tap_dance_action_t *action;

    if (!active_td || timer_elapsed(last_tap_time) <= GET_TAPPING_TERM(active_td, &(keyrecord_t){})) return;



@@ 173,7 173,7 @@ void tap_dance_task() {
    }
}

void reset_tap_dance(qk_tap_dance_state_t *state) {
void reset_tap_dance(tap_dance_state_t *state) {
    active_td = 0;
    process_tap_dance_action_on_reset((qk_tap_dance_action_t *)state);
    process_tap_dance_action_on_reset((tap_dance_action_t *)state);
}

M quantum/process_keycode/process_tap_dance.h => quantum/process_keycode/process_tap_dance.h +21 -21
@@ 31,39 31,39 @@ typedef struct {
    bool pressed : 1;
    bool finished : 1;
    bool interrupted : 1;
} qk_tap_dance_state_t;
} tap_dance_state_t;

typedef void (*qk_tap_dance_user_fn_t)(qk_tap_dance_state_t *state, void *user_data);
typedef void (*tap_dance_user_fn_t)(tap_dance_state_t *state, void *user_data);

typedef struct {
    qk_tap_dance_state_t state;
    tap_dance_state_t state;
    struct {
        qk_tap_dance_user_fn_t on_each_tap;
        qk_tap_dance_user_fn_t on_dance_finished;
        qk_tap_dance_user_fn_t on_reset;
        tap_dance_user_fn_t on_each_tap;
        tap_dance_user_fn_t on_dance_finished;
        tap_dance_user_fn_t on_reset;
    } fn;
    void *user_data;
} qk_tap_dance_action_t;
} tap_dance_action_t;

typedef struct {
    uint16_t kc1;
    uint16_t kc2;
} qk_tap_dance_pair_t;
} tap_dance_pair_t;

typedef struct {
    uint16_t kc;
    uint8_t  layer;
    void (*layer_function)(uint8_t);
} qk_tap_dance_dual_role_t;
} tap_dance_dual_role_t;

#    define ACTION_TAP_DANCE_DOUBLE(kc1, kc2) \
        { .fn = {qk_tap_dance_pair_on_each_tap, qk_tap_dance_pair_finished, qk_tap_dance_pair_reset}, .user_data = (void *)&((qk_tap_dance_pair_t){kc1, kc2}), }
        { .fn = {tap_dance_pair_on_each_tap, tap_dance_pair_finished, tap_dance_pair_reset}, .user_data = (void *)&((tap_dance_pair_t){kc1, kc2}), }

#    define ACTION_TAP_DANCE_LAYER_MOVE(kc, layer) \
        { .fn = {qk_tap_dance_dual_role_on_each_tap, qk_tap_dance_dual_role_finished, qk_tap_dance_dual_role_reset}, .user_data = (void *)&((qk_tap_dance_dual_role_t){kc, layer, layer_move}), }
        { .fn = {tap_dance_dual_role_on_each_tap, tap_dance_dual_role_finished, tap_dance_dual_role_reset}, .user_data = (void *)&((tap_dance_dual_role_t){kc, layer, layer_move}), }

#    define ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer) \
        { .fn = {NULL, qk_tap_dance_dual_role_finished, qk_tap_dance_dual_role_reset}, .user_data = (void *)&((qk_tap_dance_dual_role_t){kc, layer, layer_invert}), }
        { .fn = {NULL, tap_dance_dual_role_finished, tap_dance_dual_role_reset}, .user_data = (void *)&((tap_dance_dual_role_t){kc, layer, layer_invert}), }

#    define ACTION_TAP_DANCE_FN(user_fn) \
        { .fn = {NULL, user_fn, NULL}, .user_data = NULL, }


@@ 73,11 73,11 @@ typedef struct {

#    define TD(n) (QK_TAP_DANCE | TD_INDEX(n))
#    define TD_INDEX(code) ((code)&0xFF)
#    define TAP_DANCE_KEYCODE(state) TD(((qk_tap_dance_action_t *)state) - tap_dance_actions)
#    define TAP_DANCE_KEYCODE(state) TD(((tap_dance_action_t *)state) - tap_dance_actions)

extern qk_tap_dance_action_t tap_dance_actions[];
extern tap_dance_action_t tap_dance_actions[];

void reset_tap_dance(qk_tap_dance_state_t *state);
void reset_tap_dance(tap_dance_state_t *state);

/* To be used internally */



@@ 85,13 85,13 @@ bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record);
bool process_tap_dance(uint16_t keycode, keyrecord_t *record);
void tap_dance_task(void);

void qk_tap_dance_pair_on_each_tap(qk_tap_dance_state_t *state, void *user_data);
void qk_tap_dance_pair_finished(qk_tap_dance_state_t *state, void *user_data);
void qk_tap_dance_pair_reset(qk_tap_dance_state_t *state, void *user_data);
void tap_dance_pair_on_each_tap(tap_dance_state_t *state, void *user_data);
void tap_dance_pair_finished(tap_dance_state_t *state, void *user_data);
void tap_dance_pair_reset(tap_dance_state_t *state, void *user_data);

void qk_tap_dance_dual_role_on_each_tap(qk_tap_dance_state_t *state, void *user_data);
void qk_tap_dance_dual_role_finished(qk_tap_dance_state_t *state, void *user_data);
void qk_tap_dance_dual_role_reset(qk_tap_dance_state_t *state, void *user_data);
void tap_dance_dual_role_on_each_tap(tap_dance_state_t *state, void *user_data);
void tap_dance_dual_role_finished(tap_dance_state_t *state, void *user_data);
void tap_dance_dual_role_reset(tap_dance_state_t *state, void *user_data);

#else


M tests/tap_dance/examples.c => tests/tap_dance/examples.c +11 -11
@@ 23,7 23,7 @@

// Example 1

void dance_egg(qk_tap_dance_state_t *state, void *user_data) {
void dance_egg(tap_dance_state_t *state, void *user_data) {
    if (state->count >= 100) {
        // SEND_STRING("Safety dance!");
        tap_code(KC_C);


@@ 34,7 34,7 @@ void dance_egg(qk_tap_dance_state_t *state, void *user_data) {

// Example 2

void dance_flsh_each(qk_tap_dance_state_t *state, void *user_data) {
void dance_flsh_each(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:
            register_code(KC_3);


@@ 54,14 54,14 @@ void dance_flsh_each(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_flsh_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_flsh_finished(tap_dance_state_t *state, void *user_data) {
    if (state->count >= 4) {
        // reset_keyboard();
        tap_code(KC_R);
    }
}

void dance_flsh_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_flsh_reset(tap_dance_state_t *state, void *user_data) {
    unregister_code(KC_1);
    // wait_ms(50);
    unregister_code(KC_2);


@@ 79,7 79,7 @@ typedef struct {
} tap_dance_tap_hold_t;

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    qk_tap_dance_action_t *action;
    tap_dance_action_t *action;

    switch (keycode) {
        case TD(CT_CLN):


@@ 92,7 92,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    return true;
}

void tap_dance_tap_hold_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_tap_hold_finished(tap_dance_state_t *state, void *user_data) {
    tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data;

    if (state->pressed) {


@@ 110,7 110,7 @@ void tap_dance_tap_hold_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void tap_dance_tap_hold_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_tap_hold_reset(tap_dance_state_t *state, void *user_data) {
    tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data;

    if (tap_hold->held) {


@@ 142,7 142,7 @@ typedef struct {
    td_state_t state;
} td_tap_t;

td_state_t cur_dance(qk_tap_dance_state_t *state) {
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;


@@ 163,7 163,7 @@ static td_tap_t xtap_state = {
    .state = TD_NONE
};

void x_finished(qk_tap_dance_state_t *state, void *user_data) {
void x_finished(tap_dance_state_t *state, void *user_data) {
    xtap_state.state = cur_dance(state);
    switch (xtap_state.state) {
        case TD_SINGLE_TAP: register_code(KC_X); break;


@@ 175,7 175,7 @@ void x_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void x_reset(qk_tap_dance_state_t *state, void *user_data) {
void x_reset(tap_dance_state_t *state, void *user_data) {
    switch (xtap_state.state) {
        case TD_SINGLE_TAP: unregister_code(KC_X); break;
        case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break;


@@ 188,7 188,7 @@ void x_reset(qk_tap_dance_state_t *state, void *user_data) {
}


qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
    [CT_EGG]      = ACTION_TAP_DANCE_FN(dance_egg),
    [CT_FLSH]     = ACTION_TAP_DANCE_FN_ADVANCED(dance_flsh_each, dance_flsh_finished, dance_flsh_reset),

M tests/tap_dance/tap_dance_layers/tap_dance_defs.c => tests/tap_dance/tap_dance_layers/tap_dance_defs.c +4 -4
@@ 43,7 43,7 @@ enum lt_app_state {

static enum lt_app_state saved_lt_app_state;

static enum lt_app_state get_lt_app_state(qk_tap_dance_state_t *state) {
static enum lt_app_state get_lt_app_state(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (!state->pressed) {
            return LTA_SINGLE_TAP;


@@ 57,7 57,7 @@ static enum lt_app_state get_lt_app_state(qk_tap_dance_state_t *state) {
    }
}

static void lt_app_finished(qk_tap_dance_state_t *state, void *user_data) {
static void lt_app_finished(tap_dance_state_t *state, void *user_data) {
    saved_lt_app_state = get_lt_app_state(state);
    switch (saved_lt_app_state) {
        case LTA_NONE:


@@ 74,7 74,7 @@ static void lt_app_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

static void lt_app_reset(qk_tap_dance_state_t *state, void *user_data) {
static void lt_app_reset(tap_dance_state_t *state, void *user_data) {
    switch (saved_lt_app_state) {
        case LTA_NONE:
            break;


@@ 90,7 90,7 @@ static void lt_app_reset(qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_L_MOVE] = ACTION_TAP_DANCE_LAYER_MOVE(KC_APP, 1),
    [TD_L_TOGG] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_APP, 1),
    [TD_LT_APP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lt_app_finished, lt_app_reset),

M users/333fred/333fred.c => users/333fred/333fred.c +4 -4
@@ 31,7 31,7 @@ typedef enum {
static tap_dance_state_enum tap_dance_state;
static bool tap_dance_active = false;

void tap_dance_sym_vim_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_sym_vim_finished(tap_dance_state_t *state, void *user_data) {
    // Determine the current state
    if (state->count == 1) {
        if (state->interrupted || state->pressed == 0) tap_dance_state = SINGLE_TAP;


@@ 60,7 60,7 @@ void tap_dance_sym_vim_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void tap_dance_sym_vim_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_sym_vim_reset(tap_dance_state_t *state, void *user_data) {
    switch(tap_dance_state) {
        case SINGLE_TAP:
            clear_oneshot_layer_state(ONESHOT_PRESSED);


@@ 74,7 74,7 @@ void tap_dance_sym_vim_reset(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void tap_dance_copy_paste_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_copy_paste_finished(tap_dance_state_t *state, void *user_data) {
    bool is_paste = state->count == 2;
    // If either the one-shot shift is set, or if shift is being held, count as shift being held.
    // We'll clear the one-shot shift if it was held


@@ 103,7 103,7 @@ void tap_dance_copy_paste_finished(qk_tap_dance_state_t *state, void *user_data)
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_SYM_VIM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_dance_sym_vim_finished, tap_dance_sym_vim_reset),
    [TD_COPY_PASTE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_dance_copy_paste_finished, NULL)
};

M users/333fred/333fred.h => users/333fred/333fred.h +2 -2
@@ 45,7 45,7 @@ enum custom_keys {
    PSCREEN_APP
};

void tap_dance_sym_vim_finished(qk_tap_dance_state_t*, void*);
void tap_dance_sym_vim_reset(qk_tap_dance_state_t*, void*);
void tap_dance_sym_vim_finished(tap_dance_state_t*, void*);
void tap_dance_sym_vim_reset(tap_dance_state_t*, void*);
void tap_dance_process_keycode(uint16_t);
bool try_handle_macro(uint16_t keycode, keyrecord_t *record);

M users/billypython/tap_dance.c => users/billypython/tap_dance.c +6 -6
@@ 2,11 2,11 @@

#define ACTION_TAP_DANCE_DOUBLE_MODS(mod1, mod2) { \
    .fn = { td_double_mods_each, NULL, td_double_mods_reset }, \
    .user_data = &(qk_tap_dance_pair_t){ mod1, mod2 }, \
    .user_data = &(tap_dance_pair_t){ mod1, mod2 }, \
  }

void td_double_mods_each(qk_tap_dance_state_t *state, void *user_data) {
  qk_tap_dance_pair_t *mods = (qk_tap_dance_pair_t *)user_data;
void td_double_mods_each(tap_dance_state_t *state, void *user_data) {
  tap_dance_pair_t *mods = (tap_dance_pair_t *)user_data;
  // Single tap → mod1, double tap → mod2, triple tap etc. → mod1+mod2
  if (state->count == 1 || state->count == 3) {
    register_code(mods->kc1);


@@ 18,8 18,8 @@ void td_double_mods_each(qk_tap_dance_state_t *state, void *user_data) {
  state->weak_mods &= ~(MOD_BIT(mods->kc1) | MOD_BIT(mods->kc2));
}

void td_double_mods_reset(qk_tap_dance_state_t *state, void *user_data) {
  qk_tap_dance_pair_t *mods = (qk_tap_dance_pair_t *)user_data;
void td_double_mods_reset(tap_dance_state_t *state, void *user_data) {
  tap_dance_pair_t *mods = (tap_dance_pair_t *)user_data;
  if (state->count == 1 || state->count >= 3) {
    unregister_code(mods->kc1);
  }


@@ 28,6 28,6 @@ void td_double_mods_reset(qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_RSF_RCT] = ACTION_TAP_DANCE_DOUBLE_MODS(KC_RSFT, KC_RCTL),
};

M users/brandonschlack/tap_dances.c => users/brandonschlack/tap_dances.c +11 -11
@@ 16,7 16,7 @@
#include "tap_dances.h"
#include "process_keycode/process_tap_dance.h"

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed)  return SINGLE_TAP;
        else return SINGLE_HOLD;


@@ 35,8 35,8 @@ int cur_dance (qk_tap_dance_state_t *state) {
__attribute__ ((weak))
void process_tap_dance_keycode (bool reset, uint8_t toggle_layer) { };

void td_trigger_layer_finished (qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_trigger_layer_t *data = (qk_tap_dance_trigger_layer_t *)user_data;
void td_trigger_layer_finished (tap_dance_state_t *state, void *user_data) {
    tap_dance_trigger_layer_t *data = (tap_dance_trigger_layer_t *)user_data;
    data->state = cur_dance(state);

    if (data->state == data->trigger) {


@@ 46,8 46,8 @@ void td_trigger_layer_finished (qk_tap_dance_state_t *state, void *user_data) {
    }

}
void td_trigger_layer_reset (qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_trigger_layer_t *data = (qk_tap_dance_trigger_layer_t *)user_data;
void td_trigger_layer_reset (tap_dance_state_t *state, void *user_data) {
    tap_dance_trigger_layer_t *data = (tap_dance_trigger_layer_t *)user_data;
    if (data->state == data->trigger) {
        switch (data->trigger) {
            case SINGLE_HOLD:


@@ 63,8 63,8 @@ void td_trigger_layer_reset (qk_tap_dance_state_t *state, void *user_data) {
}

/* Tap Dance: Layer Mod. Toggles Layer when tapped, Mod when held. */
void td_layer_mod_each(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_dual_role_t *data = (qk_tap_dance_dual_role_t *)user_data;
void td_layer_mod_each(tap_dance_state_t *state, void *user_data) {
    tap_dance_dual_role_t *data = (tap_dance_dual_role_t *)user_data;

    // Single tap → toggle layer, Single hold → mod
    if (state->pressed) {


@@ 74,16 74,16 @@ void td_layer_mod_each(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_layer_mod_finished(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_dual_role_t *data = (qk_tap_dance_dual_role_t *)user_data;
void td_layer_mod_finished(tap_dance_state_t *state, void *user_data) {
    tap_dance_dual_role_t *data = (tap_dance_dual_role_t *)user_data;

    if (state->count == 1 && !state->pressed) {
        layer_invert(data->layer);
    }
}

void td_layer_mod_reset(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_dual_role_t *data = (qk_tap_dance_dual_role_t *)user_data;
void td_layer_mod_reset(tap_dance_state_t *state, void *user_data) {
    tap_dance_dual_role_t *data = (tap_dance_dual_role_t *)user_data;

    if (state->count == 1) {
        unregister_code(data->kc);

M users/brandonschlack/tap_dances.h => users/brandonschlack/tap_dances.h +5 -5
@@ 29,7 29,7 @@ enum tap_dance_states {
    TRIPLE_HOLD = 7
};

int cur_dance (qk_tap_dance_state_t *state);
int cur_dance (tap_dance_state_t *state);
void process_tap_dance_keycode (bool reset, uint8_t toggle_layer);

/* Tap Dance: Trigger Layer


@@ 41,12 41,12 @@ typedef struct {
    uint8_t  trigger;
    uint8_t  layer;
    uint8_t  state;
} qk_tap_dance_trigger_layer_t;
} tap_dance_trigger_layer_t;

#define ACTION_TAP_DANCE_TRIGGER_LAYER(trigger, layer) { \
    .fn = { NULL, td_trigger_layer_finished, td_trigger_layer_reset }, \
    .user_data = (void *)&((qk_tap_dance_trigger_layer_t) { trigger, layer, 0 }), \
    .user_data = (void *)&((tap_dance_trigger_layer_t) { trigger, layer, 0 }), \
}

void td_trigger_layer_finished (qk_tap_dance_state_t *state, void *user_data);
void td_trigger_layer_reset (qk_tap_dance_state_t *state, void *user_data);
void td_trigger_layer_finished (tap_dance_state_t *state, void *user_data);
void td_trigger_layer_reset (tap_dance_state_t *state, void *user_data);

M users/curry/tap_dances.c => users/curry/tap_dances.c +1 -1
@@ 1,4 1,4 @@
#include "tap_dances.h"
#include "curry.h"

qk_tap_dance_action_t tap_dance_actions[] = {};
tap_dance_action_t tap_dance_actions[] = {};

M users/d4mation/tap-dance.c => users/d4mation/tap-dance.c +1 -1
@@ 1,6 1,6 @@
#include "tap-dance.h"

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  /* Tap once/hold for Shift, tap twice for Caps Lock */
  [SHIFT_CAPS] = ACTION_TAP_DANCE_DOUBLE( KC_LSFT, KC_CAPS )
};
\ No newline at end of file

M users/danielo515/tap_dance.c => users/danielo515/tap_dance.c +11 -11
@@ 1,7 1,7 @@
#include "tap_dance.h"
//**************** Definitions needed for quad function to work *********************//
#ifdef QUAD_DANCE
int cur_dance(qk_tap_dance_state_t *state)
int cur_dance(tap_dance_state_t *state)
{
  if (state->count == 1)
  {


@@ 30,8 30,8 @@ int cur_dance(qk_tap_dance_state_t *state)
# endif

// Slightly better tap dance double: interruption sends double single and any number over double sends the single that number of times
void qk_tap_dance_pair_finished_safe(qk_tap_dance_state_t *state, void *user_data) {
  qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
void tap_dance_pair_finished_safe(tap_dance_state_t *state, void *user_data) {
  tap_dance_pair_t *pair = (tap_dance_pair_t *)user_data;
  int count = state->count;
  if (state->count == 2) {
    if (state->interrupted){


@@ 47,8 47,8 @@ void qk_tap_dance_pair_finished_safe(qk_tap_dance_state_t *state, void *user_dat
  }
}

void qk_tap_dance_pair_reset_safe(qk_tap_dance_state_t *state, void *user_data) {
  qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
void tap_dance_pair_reset_safe(tap_dance_state_t *state, void *user_data) {
  tap_dance_pair_t *pair = (tap_dance_pair_t *)user_data;
  if (state->count == 2) {
    unregister_code16 (pair->kc2);
    return;


@@ 58,7 58,7 @@ void qk_tap_dance_pair_reset_safe(qk_tap_dance_state_t *state, void *user_data) 

//**************** Tap dance functions *********************//

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [COPY_CUT] = ACTION_TAP_DANCE_FN(td_copy_cut),
    [PASTE_DANCE] = ACTION_TAP_DANCE_FN(td_paste),
    [_TD_F1] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_F1),


@@ 86,7 86,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
    [_TD_PASTE] = ACTION_TAP_DANCE_FN(dance_paste)
};

void td_copy_cut(qk_tap_dance_state_t *state, void *user_data)
void td_copy_cut(tap_dance_state_t *state, void *user_data)
{
  if (state->count == 2)
  {


@@ 99,7 99,7 @@ void td_copy_cut(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
};

void td_paste(qk_tap_dance_state_t *state, void *user_data)
void td_paste(tap_dance_state_t *state, void *user_data)
{
  if (state->count == 2)
  {


@@ 113,7 113,7 @@ void td_paste(qk_tap_dance_state_t *state, void *user_data)
};

//===== The awesome tap dance for CUT, COPY and PASTE letters
void dance_copy (qk_tap_dance_state_t *state, void *user_data) {
void dance_copy (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) { tap_code16(KC_C); }
  else
  if (state->interrupted) { tap_code16(KC_C);tap_code16(KC_C);}


@@ 122,13 122,13 @@ void dance_copy (qk_tap_dance_state_t *state, void *user_data) {
  reset_tap_dance (state);
}

void dance_cut (qk_tap_dance_state_t *state, void *user_data) {
void dance_cut (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) { tap_code16(KC_X); }
  else { CMD(KC_X); }
  reset_tap_dance (state);
}

void dance_paste (qk_tap_dance_state_t *state, void *user_data) {
void dance_paste (tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    tap_code16(KC_V);
  }

M users/danielo515/tap_dance.h => users/danielo515/tap_dance.h +11 -11
@@ 4,8 4,8 @@ extern bool onMac;


#define ACTION_TAP_DANCE_DOUBLE_SAFE(kc1, kc2) { \
    .fn = { NULL, qk_tap_dance_pair_finished_safe, qk_tap_dance_pair_reset_safe }, \
    .user_data = (void *)&((qk_tap_dance_pair_t) { kc1, kc2 }),  \
    .fn = { NULL, tap_dance_pair_finished_safe, tap_dance_pair_reset_safe }, \
    .user_data = (void *)&((tap_dance_pair_t) { kc1, kc2 }),  \
  }

#ifdef QUAD_DANCE


@@ 18,7 18,7 @@ enum {
  DOUBLE_SINGLE_TAP = 5 //send SINGLE_TAP twice - NOT DOUBLE_TAP
  // Add more enums here if you want for triple, quadruple, etc.
};
int cur_dance (qk_tap_dance_state_t *state);
int cur_dance (tap_dance_state_t *state);
# endif

enum tap_dance {


@@ 48,14 48,14 @@ enum tap_dance {
  _TD_CUT,
  _TD_PASTE,
};
void qk_tap_dance_pair_finished_safe(qk_tap_dance_state_t *state, void *user_data);
void qk_tap_dance_pair_reset_safe(qk_tap_dance_state_t *state, void *user_data);
void td_copy_cut (qk_tap_dance_state_t *state, void *user_data);
void td_paste(qk_tap_dance_state_t *state, void *user_data);
int cur_dance (qk_tap_dance_state_t *state);
void dance_cut (qk_tap_dance_state_t *state, void *user_data);
void dance_copy (qk_tap_dance_state_t *state, void *user_data);
void dance_paste (qk_tap_dance_state_t *state, void *user_data);
void tap_dance_pair_finished_safe(tap_dance_state_t *state, void *user_data);
void tap_dance_pair_reset_safe(tap_dance_state_t *state, void *user_data);
void td_copy_cut (tap_dance_state_t *state, void *user_data);
void td_paste(tap_dance_state_t *state, void *user_data);
int cur_dance (tap_dance_state_t *state);
void dance_cut (tap_dance_state_t *state, void *user_data);
void dance_copy (tap_dance_state_t *state, void *user_data);
void dance_paste (tap_dance_state_t *state, void *user_data);

// Ready to use Tap dance definitions, just put them on your layout
#define TD_COPY TD(_TD_COPY)

M users/draevin/draevin.c => users/draevin/draevin.c +1 -1
@@ 54,6 54,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    return true;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)  // shift/caps TD
};

M users/drashna/keyrecords/tap_dance.md => users/drashna/keyrecords/tap_dance.md +2 -2
@@ 30,7 30,7 @@ These are the custom defined dances that I'm using.  It sets up everything for l

```c
//Tap Dance Definitions, sets the index and the keycode.
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // tap once to disable, and more to enable timed micros
    [TD_D3_1] = ACTION_TAP_DANCE_DIABLO(0, KC_1),
    [TD_D3_2] = ACTION_TAP_DANCE_DIABLO(1, KC_2),


@@ 82,7 82,7 @@ The first part of the magic here is the `diablo_tapdance_master` function.  The 

```c
// Cycle through the times for the macro, starting at 0, for disabled.
void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data) {
void diablo_tapdance_master(tap_dance_state_t *state, void *user_data) {
    diable_keys_t *diablo_keys = (diable_keys_t *)user_data;
    // Sets the keycode based on the index
    diablo_timer[diablo_keys->index].keycode = diablo_keys->keycode;

M users/drashna/keyrecords/tap_dances.c => users/drashna/keyrecords/tap_dances.c +2 -2
@@ 17,7 17,7 @@ uint8_t diablo_times[] = {0, 1, 3, 5, 10, 30};
 * @param state Main data struction contining information about events
 * @param user_data Local data for the dance. Allows customization to be passed on to function
 */
void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data) {
void diablo_tapdance_master(tap_dance_state_t *state, void *user_data) {
    diable_keys_t *diablo_keys = (diable_keys_t *)user_data;
    // Sets the keycode based on the index
    diablo_timer[diablo_keys->index].keycode = diablo_keys->keycode;


@@ 40,7 40,7 @@ void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data) {
// clang-format on

// Tap Dance Definitions, sets the index and the keycode.
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // tap once to disable, and more to enable timed micros
    [TD_D3_1] = ACTION_TAP_DANCE_DIABLO(0, KC_1),
    [TD_D3_2] = ACTION_TAP_DANCE_DIABLO(1, KC_2),

M users/dvorak_42_key/dvorak_42_key.c => users/dvorak_42_key/dvorak_42_key.c +4 -4
@@ 5,7 5,7 @@

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    // tap dance processing
    qk_tap_dance_action_t *action;
    tap_dance_action_t *action;
    switch (keycode) {
        case TD(TD_DEL_WORD_DEL):  // list all tap dance keycodes with tap-hold configurations
            action = &tap_dance_actions[TD_INDEX(keycode)];


@@ 167,7 167,7 @@ bool caps_word_press_user(uint16_t keycode) {
}


void tap_dance_tap_hold_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_tap_hold_finished(tap_dance_state_t *state, void *user_data) {
    tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data;

    if (state->pressed) {


@@ 185,7 185,7 @@ void tap_dance_tap_hold_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void tap_dance_tap_hold_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_tap_hold_reset(tap_dance_state_t *state, void *user_data) {
    tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data;

    if (tap_hold->held) {


@@ 196,7 196,7 @@ void tap_dance_tap_hold_reset(qk_tap_dance_state_t *state, void *user_data) {


// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Tap once for Escape, twice for Caps Lock
    // [TD_BSPC_CTL_BSPC] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, RCTL(KC_BSPC)),
    // [TD_BSPC_CTL_BSPC_IOS] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, LALT(KC_BSPC)),

M users/edvorakjp/edvorakjp_tap_dance.c => users/edvorakjp/edvorakjp_tap_dance.c +6 -6
@@ 14,7 14,7 @@ typedef struct {
} td_status_t;
static td_status_t td_status = {NONE, NONE};

uint8_t cur_dance(qk_tap_dance_state_t *state) {
uint8_t cur_dance(tap_dance_state_t *state) {
    if (state->interrupted || !state->pressed) {
        return state->count == 1 ? SINGLE_TAP : DOUBLE_TAP;
    } else {


@@ 22,7 22,7 @@ uint8_t cur_dance(qk_tap_dance_state_t *state) {
    }
}

void td_lower_finished(qk_tap_dance_state_t *state, void *user_data) {
void td_lower_finished(tap_dance_state_t *state, void *user_data) {
    td_status.lower = cur_dance(state);
    switch (td_status.lower) {
        case SINGLE_TAP:


@@ 36,7 36,7 @@ void td_lower_finished(qk_tap_dance_state_t *state, void *user_data) {
    layer_on(L_EDVORAKJP_LOWER);
}

void td_lower_reset(qk_tap_dance_state_t *state, void *user_data) {
void td_lower_reset(tap_dance_state_t *state, void *user_data) {
    switch (td_status.lower) {
        case DOUBLE_TAP:
            unregister_code(KC_ESC);


@@ 46,7 46,7 @@ void td_lower_reset(qk_tap_dance_state_t *state, void *user_data) {
    td_status.lower = NONE;
}

void td_raise_finished(qk_tap_dance_state_t *state, void *user_data) {
void td_raise_finished(tap_dance_state_t *state, void *user_data) {
    td_status.raise = cur_dance(state);
    switch (td_status.raise) {
        case DOUBLE_TAP:


@@ 58,12 58,12 @@ void td_raise_finished(qk_tap_dance_state_t *state, void *user_data) {
    layer_on(L_EDVORAKJP_RAISE);
}

void td_raise_reset(qk_tap_dance_state_t *state, void *user_data) {
void td_raise_reset(tap_dance_state_t *state, void *user_data) {
    layer_off(L_EDVORAKJP_RAISE);
    td_status.raise = NONE;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_EDVORAKJP_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lower_finished, td_lower_reset),
    [TD_EDVORAKJP_RAISE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_raise_finished, td_raise_reset),
};

M users/ericgebhart/extensions/keycodes.h => users/ericgebhart/extensions/keycodes.h +3 -3
@@ 515,9 515,9 @@ enum {
int on_qwerty(void);

#ifdef TAP_DANCES_ENABLE
int cur_dance (qk_tap_dance_state_t *state);
int cur_dance (tap_dance_state_t *state);

//for the x tap dance. Put it here so it can be used in any keymap
void x_finished (qk_tap_dance_state_t *state, void *user_data);
void x_reset (qk_tap_dance_state_t *state, void *user_data);
void x_finished (tap_dance_state_t *state, void *user_data);
void x_reset (tap_dance_state_t *state, void *user_data);
#endif

M users/ericgebhart/extensions/tap_dances.c => users/ericgebhart/extensions/tap_dances.c +7 -7
@@ 22,7 22,7 @@
#include "action_layer.h"
#include "process_keycode/process_tap_dance.h"

void tap_dance_mouse_btns (qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_mouse_btns (tap_dance_state_t *state, void *user_data) {
    switch(state->count){
    case 1:
        register_code(KC_BTN1);


@@ 72,7 72,7 @@ static void switch_default_layer(uint8_t layer) {
  }
*/

void tap_dance_df_bepo_layers_switch (qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_df_bepo_layers_switch (tap_dance_state_t *state, void *user_data) {
  switch(state->count){
  case 1:
    switch_default_layer(_DVORAK_BP);


@@ 89,7 89,7 @@ void tap_dance_df_bepo_layers_switch (qk_tap_dance_state_t *state, void *user_da
  reset_tap_dance(state);
}

void tap_dance_layer_switch (qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_layer_switch (tap_dance_state_t *state, void *user_data) {
  switch(state->count){
  case 1:
    if(on_qwerty())


@@ 115,7 115,7 @@ void tap_dance_layer_switch (qk_tap_dance_state_t *state, void *user_data) {
  reset_tap_dance(state);
}

void tap_dance_default_layer_switch (qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_default_layer_switch (tap_dance_state_t *state, void *user_data) {
    switch(state->count){
    case 1:
      switch_default_layer(_DVORAK);


@@ 178,7 178,7 @@ void switch_default_layer_on_bepo(int count) {
// a qwerty software keyboard and a bepo software keyboard.
// if shifted, choose layers based on the other software keyboard, otherwise choose only
// layers that work on the current software keyboard.
void tap_dance_default_os_layer_switch (qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_default_os_layer_switch (tap_dance_state_t *state, void *user_data) {
    //uint8_t shifted = (get_mods() & MOD_BIT(KC_LSFT|KC_RSFT));
    bool shifted = ( keyboard_report->mods & (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)) );
    int qwerty = on_qwerty();


@@ 230,7 230,7 @@ void tap_dance_default_os_layer_switch (qk_tap_dance_state_t *state, void *user_
 * For the third point, there does exist the 'DOUBLE_SINGLE_TAP', however this is not fully tested
 *
 */
int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed)  return SINGLE_TAP;
        //key has not been interrupted, but they key is still held. Means you want to send a 'HOLD'.


@@ 257,7 257,7 @@ int cur_dance (qk_tap_dance_state_t *state) {
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    //Tap once for Esc, twice for Caps Lock
    [TD_ESC_CAPS]  = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
    [TD_TAB_BKTAB] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, LSFT(KC_TAB)),

M users/greatwizard/tap_dances.c => users/greatwizard/tap_dances.c +6 -6
@@ 15,7 15,7 @@
 */
#include "tap_dances.h"

uint8_t cur_dance(qk_tap_dance_state_t *state) {
uint8_t cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) return SINGLE_TAP;
        else return SINGLE_HOLD;


@@ 36,7 36,7 @@ static tap tap_state = {
};

#ifdef TAP_DANCE_LALT_GIT
void lalt_finished(qk_tap_dance_state_t *state, void *user_data) {
void lalt_finished(tap_dance_state_t *state, void *user_data) {
    tap_state.state = cur_dance(state);
    switch (tap_state.state) {
        case SINGLE_HOLD:


@@ 49,7 49,7 @@ void lalt_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void lalt_reset(qk_tap_dance_state_t *state, void *user_data) {
void lalt_reset(tap_dance_state_t *state, void *user_data) {
    switch (tap_state.state) {
        case SINGLE_HOLD:
            unregister_mods(MOD_BIT(KC_LALT));


@@ 65,7 65,7 @@ void lalt_reset(qk_tap_dance_state_t *state, void *user_data) {

#ifdef TAP_DANCE_LSFT_CAPS
#    ifdef LAYERS_PROGRAMMER
void pg_lsft_finished(qk_tap_dance_state_t *state, void *user_data) {
void pg_lsft_finished(tap_dance_state_t *state, void *user_data) {
    tap_state.state = cur_dance(state);
    switch (tap_state.state) {
        case SINGLE_HOLD:


@@ 80,7 80,7 @@ void pg_lsft_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void pg_lsft_reset(qk_tap_dance_state_t *state, void *user_data) {
void pg_lsft_reset(tap_dance_state_t *state, void *user_data) {
    switch (tap_state.state) {
        case SINGLE_HOLD:
            unregister_mods(MOD_BIT(KC_LSFT));


@@ 92,7 92,7 @@ void pg_lsft_reset(qk_tap_dance_state_t *state, void *user_data) {
#    endif
#endif

qk_tap_dance_action_t tap_dance_actions[] = {
dance_action_t tap_dance_actions[] = {
#ifdef TAP_DANCE_LALT_GIT
    [TD_LALT_GIT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lalt_finished, lalt_reset),
#endif

M users/greatwizard/tap_dances.h => users/greatwizard/tap_dances.h +5 -5
@@ 45,18 45,18 @@ enum {
#endif
};

uint8_t cur_dance(qk_tap_dance_state_t *state);
uint8_t cur_dance(tap_dance_state_t *state);

#ifdef TAP_DANCE_LALT_GIT
void lalt_finished(qk_tap_dance_state_t *state, void *user_data);
void lalt_reset(qk_tap_dance_state_t *state, void *user_data);
void lalt_finished(tap_dance_state_t *state, void *user_data);
void lalt_reset(tap_dance_state_t *state, void *user_data);
#    define TD_LALT TD(TD_LALT_GIT)
#endif

#ifdef TAP_DANCE_LSFT_CAPS
#    ifdef LAYERS_PROGRAMMER
void pg_lsft_finished(qk_tap_dance_state_t *state, void *user_data);
void pg_lsft_reset(qk_tap_dance_state_t *state, void *user_data);
void pg_lsft_finished(tap_dance_state_t *state, void *user_data);
void pg_lsft_reset(tap_dance_state_t *state, void *user_data);
#    endif
#endif


M users/hvp/tap_dances.c => users/hvp/tap_dances.c +11 -11
@@ 2,7 2,7 @@

// Tap dance function for enable swedish characters on first layer. Unregister to not let tap bleed over to next keypress.
// Tap dance 1
void dance_1_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_1_finished(tap_dance_state_t *state, void *user_data) {
    if (state->count == 2) {
        tap_code(KC_SCLN);
    } else {


@@ 10,7 10,7 @@ void dance_1_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_1_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_1_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 2) {
        unregister_code(KC_SCLN);
    } else {


@@ 19,7 19,7 @@ void dance_1_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Tap dance 2
void dance_2_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_2_finished(tap_dance_state_t *state, void *user_data) {
    if (state->count == 2) {
        tap_code(KC_QUOT);
    } else {


@@ 27,7 27,7 @@ void dance_2_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_2_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_2_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 2) {
        unregister_code(KC_QUOT);
    } else {


@@ 36,7 36,7 @@ void dance_2_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Tap dance 3
void dance_3_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_3_finished(tap_dance_state_t *state, void *user_data) {
    // if (state->count == 2)
    if (state->count == 2) {
        tap_code(KC_SLSH);


@@ 45,7 45,7 @@ void dance_3_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_3_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_3_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 2) {
        unregister_code(KC_SLSH);
    } else {


@@ 54,7 54,7 @@ void dance_3_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Tap dance 4
void dance_4_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_4_finished(tap_dance_state_t *state, void *user_data) {
    // if (state->count == 2)
    if (state->count == 2) {
        tap_code(KC_DOT);


@@ 63,7 63,7 @@ void dance_4_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_4_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_4_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 2) {
        unregister_code(KC_DOT);
    } else {


@@ 72,7 72,7 @@ void dance_4_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Tap dance 5
void dance_5_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_5_finished(tap_dance_state_t *state, void *user_data) {
    // if (state->count == 2)
    if (state->count == 2) {
        tap_code(KC_DOT);


@@ 81,7 81,7 @@ void dance_5_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_5_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_5_reset(tap_dance_state_t *state, void *user_data) {
    if (state->count == 2) {
        unregister_code(KC_DOT);
    } else {


@@ 90,7 90,7 @@ void dance_5_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // simple tap dance
    [TD1] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_1_finished, dance_1_reset),


M users/imchipwood/imchipwood.c => users/imchipwood/imchipwood.c +8 -8
@@ 18,7 18,7 @@
static td_state_t td_state[3];

// determine the tapdance state to return
int cur_dance(qk_tap_dance_state_t *state) {
int cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed) {
            return SINGLE_TAP;


@@ 33,7 33,7 @@ int cur_dance(qk_tap_dance_state_t *state) {
    }  // any number higher than the maximum state value you return above
}

void altf2_finished(qk_tap_dance_state_t *state, void *user_data) {
void altf2_finished(tap_dance_state_t *state, void *user_data) {
    td_state[0] = cur_dance(state);
    switch (td_state[0]) {
        case SINGLE_TAP:


@@ 49,7 49,7 @@ void altf2_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void altf2_reset(qk_tap_dance_state_t *state, void *user_data) {
void altf2_reset(tap_dance_state_t *state, void *user_data) {
    switch (td_state[0]) {
        case SINGLE_TAP:
            unregister_code(KC_F2);


@@ 65,7 65,7 @@ void altf2_reset(qk_tap_dance_state_t *state, void *user_data) {
}


void ctlf5_finished(qk_tap_dance_state_t *state, void *user_data) {
void ctlf5_finished(tap_dance_state_t *state, void *user_data) {
    td_state[1] = cur_dance(state);
    switch (td_state[1]) {
        case SINGLE_TAP:


@@ 81,7 81,7 @@ void ctlf5_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ctlf5_reset(qk_tap_dance_state_t *state, void *user_data) {
void ctlf5_reset(tap_dance_state_t *state, void *user_data) {
    switch (td_state[1]) {
        case SINGLE_TAP:
            unregister_code(KC_F5);


@@ 96,7 96,7 @@ void ctlf5_reset(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void altf7_finished(qk_tap_dance_state_t *state, void *user_data) {
void altf7_finished(tap_dance_state_t *state, void *user_data) {
    td_state[2] = cur_dance(state);
    switch (td_state[2]) {
        case SINGLE_TAP:


@@ 112,7 112,7 @@ void altf7_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void altf7_reset(qk_tap_dance_state_t *state, void *user_data) {
void altf7_reset(tap_dance_state_t *state, void *user_data) {
    switch (td_state[2]) {
        case SINGLE_TAP:
            unregister_code(KC_F7);


@@ 127,7 127,7 @@ void altf7_reset(qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [ALT_F2]   = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altf2_finished, altf2_reset),
    [CTL_F5]   = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctlf5_finished, ctlf5_reset),
    [ALT_F7]   = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altf7_finished, altf7_reset),

M users/imchipwood/imchipwood.h => users/imchipwood/imchipwood.h +8 -8
@@ 41,11 41,11 @@ enum td_keycodes {


typedef enum { SINGLE_TAP, SINGLE_HOLD, DOUBLE_TAP } td_state_t;
int cur_dance(qk_tap_dance_state_t *state);

void altf2_finished(qk_tap_dance_state_t *state, void *user_data);
void altf2_reset(qk_tap_dance_state_t *state, void *user_data);
void ctlf5_finished(qk_tap_dance_state_t *state, void *user_data);
void ctlf5_reset(qk_tap_dance_state_t *state, void *user_data);
void altf7_finished(qk_tap_dance_state_t *state, void *user_data);
void altf7_reset(qk_tap_dance_state_t *state, void *user_data);
int cur_dance(tap_dance_state_t *state);

void altf2_finished(tap_dance_state_t *state, void *user_data);
void altf2_reset(tap_dance_state_t *state, void *user_data);
void ctlf5_finished(tap_dance_state_t *state, void *user_data);
void ctlf5_reset(tap_dance_state_t *state, void *user_data);
void altf7_finished(tap_dance_state_t *state, void *user_data);
void altf7_reset(tap_dance_state_t *state, void *user_data);

M users/jdelkins/jdelkins.c => users/jdelkins/jdelkins.c +2 -2
@@ 45,7 45,7 @@ void send_secret_string(uint8_t n) {

// To activate SINGLE_HOLD, you will need to hold for 200ms first.
// This tap dance favors keys that are used frequently in typing like 'f'
int cur_dance(qk_tap_dance_state_t *state) {
int cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        // If count = 1, and it has been interrupted - it doesn't matter if it
        // is pressed or not: Send SINGLE_TAP


@@ 84,7 84,7 @@ int cur_dance(qk_tap_dance_state_t *state) {

// This works well if you want this key to work as a "fast modifier". It favors
// being held over being tapped.
int hold_cur_dance(qk_tap_dance_state_t *state) {
int hold_cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted) {
            if (!state->pressed)

M users/jdelkins/jdelkins.h => users/jdelkins/jdelkins.h +2 -2
@@ 128,7 128,7 @@ enum {
    TRIPLE_HOLD = 7
};

int cur_dance(qk_tap_dance_state_t *state);      // prefer tap
int hold_cur_dance(qk_tap_dance_state_t *state); // prefer hold
int cur_dance(tap_dance_state_t *state);      // prefer tap
int hold_cur_dance(tap_dance_state_t *state); // prefer hold

#endif // TAP_DANCE_ENABLE

M users/jonavin/jonavin.c => users/jonavin/jonavin.c +3 -3
@@ 22,7 22,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef TD_LSFT_CAPSLOCK_ENABLE
  // Tap once for shift, twice for Caps Lock but only if Win Key in not disabled
    void dance_LSFT_finished(qk_tap_dance_state_t *state, void *user_data) {
    void dance_LSFT_finished(tap_dance_state_t *state, void *user_data) {
        if (state->count == 1 || keymap_config.no_gui) {
            register_code16(KC_LSFT);
        } else {


@@ 30,7 30,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
        }
    }

    void dance_LSFT_reset(qk_tap_dance_state_t *state, void *user_data) {
    void dance_LSFT_reset(tap_dance_state_t *state, void *user_data) {
        if (state->count == 1 || keymap_config.no_gui) {
            unregister_code16(KC_LSFT);
        } else {


@@ 38,7 38,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
        }
    }

    qk_tap_dance_action_t tap_dance_actions[] = {
    tap_dance_action_t tap_dance_actions[] = {
    // Tap once for shift, twice for Caps Lock
        [TD_LSFT_CAPSLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
        [TD_LSFT_CAPS_WIN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LSFT_finished, dance_LSFT_reset),

M users/klackygears/tap_dances.c => users/klackygears/tap_dances.c +14 -14
@@ 1,7 1,7 @@
#include "tap_dances.h"

/*
void macroTogKey(qk_tap_dance_state_t *state, void *user_data) {
void macroTogKey(tap_dance_state_t *state, void *user_data) {
  keyrecord_t kr;

  if (state->count == 1)


@@ 21,7 21,7 @@ void macroTogKey(qk_tap_dance_state_t *state, void *user_data) {
  }
}

void macroTogKey2(qk_tap_dance_state_t *state, void *user_data) {
void macroTogKey2(tap_dance_state_t *state, void *user_data) {
  keyrecord_t kr;

  if (state->count == 1)


@@ 42,7 42,7 @@ void macroTogKey2(qk_tap_dance_state_t *state, void *user_data) {
}
*/

void pstinsrt(qk_tap_dance_state_t *state, void *user_data) {
void pstinsrt(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        register_code(KC_LALT);
        tap_code(KC_I);


@@ 54,7 54,7 @@ void pstinsrt(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void ccopy(qk_tap_dance_state_t *state, void *user_data) {
void ccopy(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        tap_code16(C(KC_X));



@@ 65,7 65,7 @@ void ccopy(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void pstspecial(qk_tap_dance_state_t *state, void *user_data) {
void pstspecial(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        register_code(KC_LALT);
        tap_code(KC_E);


@@ 82,7 82,7 @@ void pstspecial(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void deldel(qk_tap_dance_state_t *state, void *user_data) {
void deldel(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        register_code(KC_LALT);
        tap_code(KC_E);


@@ 94,7 94,7 @@ void deldel(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void findreplace(qk_tap_dance_state_t *state, void *user_data) {
void findreplace(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        tap_code16(C(KC_H));
    } else {


@@ 103,7 103,7 @@ void findreplace(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void cyclawin(qk_tap_dance_state_t *state, void *user_data) {
void cyclawin(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        tap_code16(C(S(KC_F6)));
    } else {


@@ 112,7 112,7 @@ void cyclawin(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void SCRNSNP(qk_tap_dance_state_t *state, void *user_data) {
void SCRNSNP(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        tap_code16(A(KC_PSCR));
    } else {


@@ 124,7 124,7 @@ void SCRNSNP(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void mcccpy(qk_tap_dance_state_t *state, void *user_data) {
void mcccpy(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        tap_code16(G(KC_X));
    } else {


@@ 133,7 133,7 @@ void mcccpy(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void mcpstin(qk_tap_dance_state_t *state, void *user_data) {
void mcpstin(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        tap_code16(G(KC_I));
    } else {


@@ 142,7 142,7 @@ void mcpstin(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void enttab(qk_tap_dance_state_t *state, void *user_data) {
void enttab(tap_dance_state_t *state, void *user_data) {
    if (state->count > 1) {
        tap_code(KC_ENT);
    } else {


@@ 151,7 151,7 @@ void enttab(qk_tap_dance_state_t *state, void *user_data) {
    reset_tap_dance(state);
}

void rgb_toggle(qk_tap_dance_state_t *state, void *user_data) {
void rgb_toggle(tap_dance_state_t *state, void *user_data) {
#ifdef RGBLIGHT_ENABLE
    if (state->count == 1) {
        rgblight_step();


@@ 162,7 162,7 @@ void rgb_toggle(qk_tap_dance_state_t *state, void *user_data) {
}

// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_PSTI] = ACTION_TAP_DANCE_FN(pstinsrt),
    [TD_PTSP] = ACTION_TAP_DANCE_FN(pstspecial),
    [TD_FNDR] = ACTION_TAP_DANCE_FN(findreplace),

M users/konstantin/tap_dance.c => users/konstantin/tap_dance.c +17 -17
@@ 19,11 19,11 @@

#define ACTION_TAP_DANCE_DOUBLE_MOD(mod1, mod2) {                       \
        .fn        = { td_double_mod_each, NULL, td_double_mod_reset }, \
        .user_data = &(qk_tap_dance_pair_t){ mod1, mod2 },              \
        .user_data = &(tap_dance_pair_t){ mod1, mod2 },              \
    }

void td_double_mod_each(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_pair_t *data = (qk_tap_dance_pair_t *)user_data;
void td_double_mod_each(tap_dance_state_t *state, void *user_data) {
    tap_dance_pair_t *data = (tap_dance_pair_t *)user_data;

    // Single tap → mod1, double tap → mod2, triple tap etc. → mod1+mod2
    if (state->count == 1 || state->count == 3) {


@@ 36,8 36,8 @@ void td_double_mod_each(qk_tap_dance_state_t *state, void *user_data) {
    state->weak_mods &= ~(MOD_BIT(data->kc1) | MOD_BIT(data->kc2));
}

void td_double_mod_reset(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_pair_t *data = (qk_tap_dance_pair_t *)user_data;
void td_double_mod_reset(tap_dance_state_t *state, void *user_data) {
    tap_dance_pair_t *data = (tap_dance_pair_t *)user_data;

    if (state->count == 1 || state->count >= 3) {
        unregister_code(data->kc1);


@@ 49,11 49,11 @@ void td_double_mod_reset(qk_tap_dance_state_t *state, void *user_data) {

#define ACTION_TAP_DANCE_MOD_LAYER(mod, layer) {                      \
        .fn        = { td_mod_layer_each, NULL, td_mod_layer_reset }, \
        .user_data = &(qk_tap_dance_dual_role_t){ mod, layer },       \
        .user_data = &(tap_dance_dual_role_t){ mod, layer },       \
    }

void td_mod_layer_each(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_dual_role_t *data = (qk_tap_dance_dual_role_t *)user_data;
void td_mod_layer_each(tap_dance_state_t *state, void *user_data) {
    tap_dance_dual_role_t *data = (tap_dance_dual_role_t *)user_data;

    // Single tap → mod, double tap → layer, triple tap etc. → mod+layer
    if (state->count == 1 || state->count == 3) {


@@ 66,8 66,8 @@ void td_mod_layer_each(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_mod_layer_reset(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_dual_role_t *data = (qk_tap_dance_dual_role_t *)user_data;
void td_mod_layer_reset(tap_dance_state_t *state, void *user_data) {
    tap_dance_dual_role_t *data = (tap_dance_dual_role_t *)user_data;

    if (state->count == 1 || state->count >= 3) {
        unregister_code(data->kc);


@@ 79,7 79,7 @@ void td_mod_layer_reset(qk_tap_dance_state_t *state, void *user_data) {

#define ACTION_TAP_DANCE_LAYER_MOD(layer, mod) {                      \
        .fn        = { td_layer_mod_each, NULL, td_layer_mod_reset }, \
        .user_data = &(qk_tap_dance_layer_mod_t){ layer, mod, 0, 0 }, \
        .user_data = &(tap_dance_layer_mod_t){ layer, mod, 0, 0 }, \
    }

typedef struct {


@@ 87,10 87,10 @@ typedef struct {
    uint16_t kc;
    bool     layer_on;  // Layer state when tap dance started
    bool     started;
} qk_tap_dance_layer_mod_t;
} tap_dance_layer_mod_t;

void td_layer_mod_each(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_layer_mod_t *data = (qk_tap_dance_layer_mod_t *)user_data;
void td_layer_mod_each(tap_dance_state_t *state, void *user_data) {
    tap_dance_layer_mod_t *data = (tap_dance_layer_mod_t *)user_data;
    if (!data->started) {
        data->layer_on = IS_LAYER_ON(data->layer);
        data->started = true;


@@ 107,8 107,8 @@ void td_layer_mod_each(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void td_layer_mod_reset(qk_tap_dance_state_t *state, void *user_data) {
    qk_tap_dance_layer_mod_t *data = (qk_tap_dance_layer_mod_t *)user_data;
void td_layer_mod_reset(tap_dance_state_t *state, void *user_data) {
    tap_dance_layer_mod_t *data = (tap_dance_layer_mod_t *)user_data;

    if ((state->count == 1 || state->count >= 3) && !data->layer_on) {
        layer_off(data->layer);


@@ 120,7 120,7 @@ void td_layer_mod_reset(qk_tap_dance_state_t *state, void *user_data) {
    data->started = false;
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_DST_A_R] = ACTION_TAP_DANCE_DOUBLE(DST_ADD, DST_REM),

    [TD_RAL_RGU] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RALT, KC_RGUI),

M users/kuatsure/kuatsure.c => users/kuatsure/kuatsure.c +1 -1
@@ 1,7 1,7 @@
#include "kuatsure.h"
#include "version.h"

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LT),
  [TD_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_GT),
  [TD_SLSH] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_BSLS),

M users/kuchosauronad0/tap_dances.c => users/kuchosauronad0/tap_dances.c +3 -3
@@ 1,5 1,5 @@
#include "tap_dances.h"
void td_parenthesis (qk_tap_dance_state_t *state, void *user_data) {
void td_parenthesis (tap_dance_state_t *state, void *user_data) {
   if (state->count == 1) {
//        SEND_STRING ("\(");
        tap_code(KC_QUOT);


@@ 23,7 23,7 @@ void td_parenthesis (qk_tap_dance_state_t *state, void *user_data) {
   }
}

void safe_reset(qk_tap_dance_state_t *state, void *user_data) {
void safe_reset(tap_dance_state_t *state, void *user_data) {
  if (state->count >= 3) {
    // Reset the keyboard if you tap the key more than three times
    reset_keyboard();


@@ 31,7 31,7 @@ void safe_reset(qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_RESET] = ACTION_TAP_DANCE_FN(safe_reset),
  [TD_NUM1] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_4),
  [TD_NUM2] = ACTION_TAP_DANCE_DOUBLE(KC_2, KC_5),

M users/kuchosauronad0/tap_dances.h => users/kuchosauronad0/tap_dances.h +1 -1
@@ 23,4 23,4 @@ enum {
  TD_ABR   // single double angle brackets
};
#endif // TAP_DANCE_ENABLE
void td_parenthesis (qk_tap_dance_state_t *state, void *user_data);
void td_parenthesis (tap_dance_state_t *state, void *user_data);

M users/losinggeneration/losinggeneration-keymap.h => users/losinggeneration/losinggeneration-keymap.h +6 -6
@@ 17,7 17,7 @@ enum tap_dance_keycodes {
  Used to indicate a CTRL should be pressed on one press, or CTRL+ALT on
  a double tap
*/
void dance_ctl_ctlalt_each(qk_tap_dance_state_t *state, void *user_data) {
void dance_ctl_ctlalt_each(tap_dance_state_t *state, void *user_data) {
  register_code(KC_LCTL);
  if(state->count > 1) {
    register_code(KC_LALT);


@@ 25,7 25,7 @@ void dance_ctl_ctlalt_each(qk_tap_dance_state_t *state, void *user_data) {
}

/* Used to release CTRL or the double tapped variant CTRL+ALT */
void dance_ctl_ctlalt_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_ctl_ctlalt_reset(tap_dance_state_t *state, void *user_data) {
  unregister_code(KC_LCTL);
  if(state->count > 1) {
    unregister_code(KC_LALT);


@@ 37,7 37,7 @@ void dance_ctl_ctlalt_reset(qk_tap_dance_state_t *state, void *user_data) {
  Each is used to make sure ADJUST activates as soon as it's pressed the first
  time.
*/
void dance_adj_each(qk_tap_dance_state_t *state, void *user_data) {
void dance_adj_each(tap_dance_state_t *state, void *user_data) {
  if(state->count == 1) {
    layer_on(_ADJUST);
  } else {


@@ 46,7 46,7 @@ void dance_adj_each(qk_tap_dance_state_t *state, void *user_data) {
}

/* Set NUMPAD layer on second tap and MOUSE layer on 3rd */
void dance_adj_finish(qk_tap_dance_state_t *state, void *user_data) {
void dance_adj_finish(tap_dance_state_t *state, void *user_data) {
  switch(state->count) {
    case 1: break;
    case 2:


@@ 62,7 62,7 @@ void dance_adj_finish(qk_tap_dance_state_t *state, void *user_data) {
}

/* Turn off any layer that may have been tapped on */
void dance_adj_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_adj_reset(tap_dance_state_t *state, void *user_data) {
  switch(state->count) {
    case 1:
      layer_off(_ADJUST);


@@ 76,7 76,7 @@ void dance_adj_reset(qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_CTL_CTLALT] = ACTION_TAP_DANCE_FN_ADVANCED(dance_ctl_ctlalt_each, NULL, dance_ctl_ctlalt_reset),
  [TD_LGUI_RGUI]  = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, KC_RGUI),
  [TD_LALT_RALT]  = ACTION_TAP_DANCE_DOUBLE(KC_LALT, KC_RALT),

M users/manna-harbour_miryoku/manna-harbour_miryoku.c => users/manna-harbour_miryoku/manna-harbour_miryoku.c +3 -3
@@ 17,14 17,14 @@ MIRYOKU_LAYER_LIST
#undef MIRYOKU_X
};

void u_td_fn_boot(qk_tap_dance_state_t *state, void *user_data) { \
void u_td_fn_boot(tap_dance_state_t *state, void *user_data) { \
  if (state->count == 2) {
    reset_keyboard();
  }
}

#define MIRYOKU_X(LAYER, STRING) \
void u_td_fn_U_##LAYER(qk_tap_dance_state_t *state, void *user_data) { \
void u_td_fn_U_##LAYER(tap_dance_state_t *state, void *user_data) { \
  if (state->count == 2) { \
    default_layer_set((layer_state_t)1 << U_##LAYER); \
  } \


@@ 32,7 32,7 @@ void u_td_fn_U_##LAYER(qk_tap_dance_state_t *state, void *user_data) { \
MIRYOKU_LAYER_LIST
#undef MIRYOKU_X

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [U_TD_BOOT] = ACTION_TAP_DANCE_FN(u_td_fn_boot),
#define MIRYOKU_X(LAYER, STRING) [U_TD_U_##LAYER] = ACTION_TAP_DANCE_FN(u_td_fn_U_##LAYER),
MIRYOKU_LAYER_LIST

M users/mnil/mnil.c => users/mnil/mnil.c +6 -6
@@ 54,7 54,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {

// Tap Dance
// Determine the current tap dance state
int cur_dance(qk_tap_dance_state_t *state) {
int cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted || !state->pressed)
            return SINGLE_TAP;


@@ 79,7 79,7 @@ int cur_dance(qk_tap_dance_state_t *state) {

static tap ae_tap_state = {.is_press_action = true, .state = 0};

void ae_finished(qk_tap_dance_state_t *state, void *user_data) {
void ae_finished(tap_dance_state_t *state, void *user_data) {
    ae_tap_state.state = cur_dance(state);
    switch (ae_tap_state.state) {
        case SINGLE_TAP:


@@ 95,7 95,7 @@ void ae_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void ae_reset(qk_tap_dance_state_t *state, void *user_data) {
void ae_reset(tap_dance_state_t *state, void *user_data) {
    switch (ae_tap_state.state) {
        case SINGLE_TAP:
            unregister_code(KC_A);


@@ 109,7 109,7 @@ void ae_reset(qk_tap_dance_state_t *state, void *user_data) {

static tap aa_tap_state = {.is_press_action = true, .state = 0};

void aa_finished(qk_tap_dance_state_t *state, void *user_data) {
void aa_finished(tap_dance_state_t *state, void *user_data) {
    aa_tap_state.state = cur_dance(state);
    switch (aa_tap_state.state) {
        case SINGLE_TAP:


@@ 126,7 126,7 @@ void aa_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void aa_reset(qk_tap_dance_state_t *state, void *user_data) {
void aa_reset(tap_dance_state_t *state, void *user_data) {
    switch (aa_tap_state.state) {
        case SINGLE_TAP:
            unregister_code(SE_ODIA);


@@ 139,7 139,7 @@ void aa_reset(qk_tap_dance_state_t *state, void *user_data) {
}

// clang-format off
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [AAE] =  ACTION_TAP_DANCE_FN_ADVANCED(NULL, ae_finished, ae_reset),
  [OAA] =  ACTION_TAP_DANCE_FN_ADVANCED(NULL, aa_finished, aa_reset)
};

M users/muppetjones/features/dancelayers.c => users/muppetjones/features/dancelayers.c +3 -3
@@ 27,7 27,7 @@ static td_tap_t lyr_tap_state = {.is_press_action = true, .state = TD_NONE};
 * @param A tap dance state struct.
 * @return A struct.
 */
td_state_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(tap_dance_state_t *state) {
    switch (state->count) {
        case 1:
            if (!state->pressed)


@@ 49,7 49,7 @@ td_state_t cur_dance(qk_tap_dance_state_t *state) {
}

// Functions that control what our tap dance key does
__attribute__((weak)) void td_layer_finished(qk_tap_dance_state_t *state, void *user_data) {
__attribute__((weak)) void td_layer_finished(tap_dance_state_t *state, void *user_data) {
    lyr_tap_state.state = cur_dance(state);
    switch (lyr_tap_state.state) {
        case TD_1X_TAP:


@@ 87,7 87,7 @@ __attribute__((weak)) void td_layer_finished(qk_tap_dance_state_t *state, void *
    }
}

__attribute__((weak)) void td_layer_reset(qk_tap_dance_state_t *state, void *user_data) {
__attribute__((weak)) void td_layer_reset(tap_dance_state_t *state, void *user_data) {
    // If the key was held down and now is released then switch off the layer
    if (lyr_tap_state.state == TD_1X_HOLD) {
        layer_off(_ADJUST);

M users/muppetjones/features/dancelayers.h => users/muppetjones/features/dancelayers.h +4 -4
@@ 51,7 51,7 @@ typedef struct {
 * @param A tap dance state struct.
 * @return A struct.
 */
td_state_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(tap_dance_state_t *state);

// Functions associated with individual tap dances



@@ 63,7 63,7 @@ td_state_t cur_dance(qk_tap_dance_state_t *state);
 * @param user_data Pointer to user data.
 * @return None.
 */
void td_layer_finished(qk_tap_dance_state_t *state, void *user_data);
void td_layer_finished(tap_dance_state_t *state, void *user_data);

/* @brief Reset tap dance actions.
 *


@@ 73,10 73,10 @@ void td_layer_finished(qk_tap_dance_state_t *state, void *user_data);
 * @param user_data Pointer to user data.
 * @return None.
 */
void td_layer_reset(qk_tap_dance_state_t *state, void *user_data);
void td_layer_reset(tap_dance_state_t *state, void *user_data);

/* Define tap dance actions.
 */
__attribute__((weak))
qk_tap_dance_action_t tap_dance_actions[1] = {[TD_LAYERS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_layer_finished, td_layer_reset, 275)};
tap_dance_action_t tap_dance_actions[1] = {[TD_LAYERS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_layer_finished, td_layer_reset, 275)};
#endif

M users/ninjonas/tap_dances.c => users/ninjonas/tap_dances.c +6 -6
@@ 1,7 1,7 @@
#include "ninjonas.h"

//// BEGIN: Advanced Tap Dances
int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
   if (state->count == 1) {
    if (state->interrupted || !state->pressed)  return SINGLE_TAP;
    //key has not been interrupted, but they key is still held. Means you want to send a 'HOLD'.


@@ 34,7 34,7 @@ static tap copy_paste_app_tap_state = {
  .state = 0
};

void copy_paste_app_finished (qk_tap_dance_state_t *state, void *user_data) {
void copy_paste_app_finished (tap_dance_state_t *state, void *user_data) {
  copy_paste_app_tap_state.state = cur_dance(state);
  switch (copy_paste_app_tap_state.state) {
    case SINGLE_TAP: 


@@ 56,7 56,7 @@ void copy_paste_app_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void copy_paste_app_reset (qk_tap_dance_state_t *state, void *user_data) {
void copy_paste_app_reset (tap_dance_state_t *state, void *user_data) {
  copy_paste_app_tap_state.state = 0;
}
// END: Copy, Paste, Apps


@@ 67,7 67,7 @@ static tap y_numpad_tap_state = {
  .state = 0
};

void y_numpad_finished (qk_tap_dance_state_t *state, void *user_data) {
void y_numpad_finished (tap_dance_state_t *state, void *user_data) {
  y_numpad_tap_state.state = cur_dance(state);
  switch (y_numpad_tap_state.state) {
    case SINGLE_TAP: 


@@ 86,7 86,7 @@ void y_numpad_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void y_numpad_reset (qk_tap_dance_state_t *state, void *user_data) {
void y_numpad_reset (tap_dance_state_t *state, void *user_data) {
  switch (y_numpad_tap_state.state) {
    case SINGLE_HOLD:
      unregister_code16(KC_Y); 


@@ 98,7 98,7 @@ void y_numpad_reset (qk_tap_dance_state_t *state, void *user_data) {

//// END: Advanced Tap Dances

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_ESC_CAPS]     = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
  [TD_LBRC_BACK]    = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, LGUI(KC_LBRC)),
  [TD_RBRC_FWD]     = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, LGUI(KC_RBRC)),

M users/nstickney/nstickney.c => users/nstickney/nstickney.c +4 -4
@@ 16,7 16,7 @@
#include "nstickney.h"

// Tap Dancing
void dance_layer(qk_tap_dance_state_t *state, void *user_data) {
void dance_layer(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:
            tap_code(KC_APP);


@@ 32,7 32,7 @@ void dance_layer(qk_tap_dance_state_t *state, void *user_data) {
    }
};

void dance_lock_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_lock_finished(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:
            register_code(KC_LGUI);


@@ 51,7 51,7 @@ void dance_lock_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
};

void dance_lock_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_lock_reset(tap_dance_state_t *state, void *user_data) {
    switch (state->count) {
        case 1:
            unregister_code(KC_LGUI);


@@ 70,7 70,7 @@ void dance_lock_reset(qk_tap_dance_state_t *state, void *user_data) {
    }
};

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
	[LOCKS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_lock_finished, dance_lock_reset),
	[LAYERS] = ACTION_TAP_DANCE_FN(dance_layer)
};

M users/pvinis/pvinis.c => users/pvinis/pvinis.c +1 -1
@@ 75,7 75,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}

#ifdef TAP_DANCE_ENABLE
qk_tap_dance_action_t tap_dance_actions[] = {};
tap_dance_action_t tap_dance_actions[] = {};
#endif

void keyboard_post_init_rgb_light(void) {

M users/riblee/riblee.c => users/riblee/riblee.c +5 -5
@@ 18,7 18,7 @@
#include <string.h>

// Tap Dance functions
void dance_key_a (qk_tap_dance_state_t *state, void *user_data) {
void dance_key_a (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        SEND_STRING("a");
        reset_tap_dance(state);


@@ 33,7 33,7 @@ void dance_key_a (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_key_e (qk_tap_dance_state_t *state, void *user_data) {
void dance_key_e (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        SEND_STRING("e");
        reset_tap_dance(state);


@@ 48,7 48,7 @@ void dance_key_e (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_key_i (qk_tap_dance_state_t *state, void *user_data) {
void dance_key_i (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        SEND_STRING("i");
        reset_tap_dance(state);


@@ 63,7 63,7 @@ void dance_key_i (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_key_o (qk_tap_dance_state_t *state, void *user_data) {
void dance_key_o (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        SEND_STRING("o");
        reset_tap_dance(state);


@@ 94,7 94,7 @@ void dance_key_o (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_key_u (qk_tap_dance_state_t *state, void *user_data) {
void dance_key_u (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        SEND_STRING("u");
        reset_tap_dance(state);

M users/riblee/riblee.h => users/riblee/riblee.h +5 -5
@@ 49,11 49,11 @@ enum {
    TD_U,
};

void dance_key_a (qk_tap_dance_state_t *, void *);
void dance_key_e (qk_tap_dance_state_t *, void *);
void dance_key_i (qk_tap_dance_state_t *, void *);
void dance_key_o (qk_tap_dance_state_t *, void *);
void dance_key_u (qk_tap_dance_state_t *, void *);
void dance_key_a (tap_dance_state_t *, void *);
void dance_key_e (tap_dance_state_t *, void *);
void dance_key_i (tap_dance_state_t *, void *);
void dance_key_o (tap_dance_state_t *, void *);
void dance_key_u (tap_dance_state_t *, void *);

layer_state_t layer_state_set_user(layer_state_t);
bool process_record_user(uint16_t keycode, keyrecord_t *record);
\ No newline at end of file

M users/ridingqwerty/tapdances.c => users/ridingqwerty/tapdances.c +3 -3
@@ 1,13 1,13 @@
#include "ridingqwerty.h"
#include "tapdances.h"

void braces_finished (qk_tap_dance_state_t *state, void *user_data) {
void braces_finished (tap_dance_state_t *state, void *user_data) {
    if ((state->count == 1) || (state->count == 3)) {
        register_code(KC_LSFT);
    }
}

void braces_reset (qk_tap_dance_state_t *state, void *user_data) {
void braces_reset (tap_dance_state_t *state, void *user_data) {
  // two or three taps for "[]"/"{}"
  if ((state->count == 2) || (state->count == 3)) {
    tap_code(KC_LBRC);


@@ 28,6 28,6 @@ void braces_reset (qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_BRACES] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, braces_finished, braces_reset)
};

M users/rmeli/keyrecords/tap_dances.c => users/rmeli/keyrecords/tap_dances.c +6 -6
@@ 23,7 23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

// Tap dances definitions
// Need to needs to be defined in a .c file to avoid a linker error (multiple definitions)
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [TD_LSPO_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, LSPO_CAPS_finished, LSPO_CAPS_reset),
    [TD_RSPC_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, RSPC_CAPS_finished, RSPC_CAPS_reset),
    [TD_ESC_DEL]   = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_DEL),


@@ 34,7 34,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
// + ------ +

// https://github.com/qmk/qmk_firmware/blob/9294258c02d3e025e01935a06c4d9f1997535bda/users/gordon/gordon.c#L112-L135
td_state_t hold_cur_dance(qk_tap_dance_state_t *state) {
td_state_t hold_cur_dance(tap_dance_state_t *state) {
    if (state->count == 1) {
        if (state->interrupted) {
            if (!state->pressed)


@@ 63,7 63,7 @@ td_state_t hold_cur_dance(qk_tap_dance_state_t *state) {
// Create an instance of 'td_tap_t' for the 'LSPO_CAPS' tap dance.
static td_tap_t LSPO_CAPS_state = {.is_press_action = true, .state = TD_NONE};

void LSPO_CAPS_finished(qk_tap_dance_state_t *state, void *user_data) {
void LSPO_CAPS_finished(tap_dance_state_t *state, void *user_data) {
    LSPO_CAPS_state.state = hold_cur_dance(state);
    switch (LSPO_CAPS_state.state) {
        case TD_SINGLE_TAP:


@@ 80,7 80,7 @@ void LSPO_CAPS_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void LSPO_CAPS_reset(qk_tap_dance_state_t *state, void *user_data) {
void LSPO_CAPS_reset(tap_dance_state_t *state, void *user_data) {
    switch (LSPO_CAPS_state.state) {
        case TD_SINGLE_TAP:
            unregister_code16(KC_LPRN);


@@ 104,7 104,7 @@ void LSPO_CAPS_reset(qk_tap_dance_state_t *state, void *user_data) {
// Create an instance of 'td_tap_t' for the 'RSPC_CAPS' tap dance.
static td_tap_t RSPC_CAPS_state = {.is_press_action = true, .state = TD_NONE};

void RSPC_CAPS_finished(qk_tap_dance_state_t *state, void *user_data) {
void RSPC_CAPS_finished(tap_dance_state_t *state, void *user_data) {
    RSPC_CAPS_state.state = hold_cur_dance(state);
    switch (RSPC_CAPS_state.state) {
        case TD_SINGLE_TAP:


@@ 121,7 121,7 @@ void RSPC_CAPS_finished(qk_tap_dance_state_t *state, void *user_data) {
    }
}

void RSPC_CAPS_reset(qk_tap_dance_state_t *state, void *user_data) {
void RSPC_CAPS_reset(tap_dance_state_t *state, void *user_data) {
    switch (RSPC_CAPS_state.state) {
        case TD_SINGLE_TAP:
            unregister_code16(KC_RPRN);

M users/rmeli/keyrecords/tap_dances.h => users/rmeli/keyrecords/tap_dances.h +5 -5
@@ 60,12 60,12 @@ typedef struct {
// + --------- +

// Tap dance for fast modifiers; favors being held over being tapped.
td_state_t hold_cur_dance(qk_tap_dance_state_t *state);
td_state_t hold_cur_dance(tap_dance_state_t *state);

// Left Shift Parenthesis Open (LSPO) and Caps Lock (CAPS) on DOUBLE_TAP
void LSPO_CAPS_finished(qk_tap_dance_state_t *state, void *user_data);
void LSPO_CAPS_reset(qk_tap_dance_state_t *state, void *user_data);
void LSPO_CAPS_finished(tap_dance_state_t *state, void *user_data);
void LSPO_CAPS_reset(tap_dance_state_t *state, void *user_data);

// Right Shift Parenthesis Close (RSPC) and Caps Lock (CAPS) on DOUBLE_TAP
void RSPC_CAPS_finished(qk_tap_dance_state_t *state, void *user_data);
void RSPC_CAPS_reset(qk_tap_dance_state_t *state, void *user_data);
void RSPC_CAPS_finished(tap_dance_state_t *state, void *user_data);
void RSPC_CAPS_reset(tap_dance_state_t *state, void *user_data);

M users/rmw/tapdances.c => users/rmw/tapdances.c +22 -22
@@ 2,7 2,7 @@

#include "tapdances.h"

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [SHCAP]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, shift_reset)
   ,[TDGUI]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shiftgui, gui_reset)
   ,[TDGUI2] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, guictl, ubermod_reset)


@@ 22,13 22,13 @@ qk_tap_dance_action_t tap_dance_actions[] = {
   ,[FRBK]   = ACTION_TAP_DANCE_DOUBLE(KC_WWW_BACK,KC_WWW_FORWARD)
};

void caps(qk_tap_dance_state_t *state, void *user_data) // Shift, Caps
void caps(tap_dance_state_t *state, void *user_data) // Shift, Caps
{ if (state->count >= 2) {register_code(KC_CAPS); unregister_code(KC_CAPS);}
  else if (state->pressed) {register_mods(MOD_LSFT);} else {set_oneshot_mods(MOD_LSFT);}
  reset_tap_dance(state);
}

void forward_back_mac(qk_tap_dance_state_t *state, void *user_data) // G<-, then G->
void forward_back_mac(tap_dance_state_t *state, void *user_data) // G<-, then G->
{
  if (state->count > 1) {
    tap_code16(G(KC_RGHT));


@@ 39,7 39,7 @@ void forward_back_mac(qk_tap_dance_state_t *state, void *user_data) // G<-, then
  reset_tap_dance(state);
}

void shiftgui(qk_tap_dance_state_t *state, void *user_data) // G->SG
void shiftgui(tap_dance_state_t *state, void *user_data) // G->SG
{
  if (state->count > 1) {
    if (state->pressed) { 


@@ 58,7 58,7 @@ void shiftgui(qk_tap_dance_state_t *state, void *user_data) // G->SG
  reset_tap_dance(state);
}

void guictl(qk_tap_dance_state_t *state, void *user_data) // G->GC
void guictl(tap_dance_state_t *state, void *user_data) // G->GC
{
  if (state->count > 1) {
    if (state->pressed) { 


@@ 77,7 77,7 @@ void guictl(qk_tap_dance_state_t *state, void *user_data) // G->GC
  reset_tap_dance(state);
}

void deleter(qk_tap_dance_state_t *state, void *user_data) // bkspc -> delwrd -> delline
void deleter(tap_dance_state_t *state, void *user_data) // bkspc -> delwrd -> delline
{
  if (state->count > 3) {
    tap_code16(G(KC_BSPC));


@@ 91,7 91,7 @@ void deleter(qk_tap_dance_state_t *state, void *user_data) // bkspc -> delwrd ->
  reset_tap_dance(state);
}

void ubermod(qk_tap_dance_state_t *state, void *user_data) // CTL->ALT->GUI
void ubermod(tap_dance_state_t *state, void *user_data) // CTL->ALT->GUI
{
  if (state->count > 2) {
    if (state->pressed) { 


@@ 118,7 118,7 @@ void ubermod(qk_tap_dance_state_t *state, void *user_data) // CTL->ALT->GUI
  reset_tap_dance(state);
}

void ubermod_mac(qk_tap_dance_state_t *state, void *user_data) // GUI->CTL->ALT
void ubermod_mac(tap_dance_state_t *state, void *user_data) // GUI->CTL->ALT
{
  if (state->count > 2) {
    if (state->pressed) { 


@@ 145,7 145,7 @@ void ubermod_mac(qk_tap_dance_state_t *state, void *user_data) // GUI->CTL->ALT
  reset_tap_dance(state);
}

void ubermod2(qk_tap_dance_state_t *state, void *user_data) // ALT->CTL->GUI
void ubermod2(tap_dance_state_t *state, void *user_data) // ALT->CTL->GUI
{
  if (state->count > 2) {
    if (state->pressed) { 


@@ 172,7 172,7 @@ void ubermod2(qk_tap_dance_state_t *state, void *user_data) // ALT->CTL->GUI
  reset_tap_dance(state);
}

void ubermod2_mac(qk_tap_dance_state_t *state, void *user_data) // ALT->GUI->CTL
void ubermod2_mac(tap_dance_state_t *state, void *user_data) // ALT->GUI->CTL
{
  if (state->count > 2) {
    if (state->pressed) { 


@@ 199,30 199,30 @@ void ubermod2_mac(qk_tap_dance_state_t *state, void *user_data) // ALT->GUI->CTL
  reset_tap_dance(state);
}

void shift_reset(qk_tap_dance_state_t *state, void *user_data)
void shift_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_mods(MOD_LSFT);
  // clear_oneshot_mods();
}
void gui_reset(qk_tap_dance_state_t *state, void *user_data)
void gui_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_mods(MOD_LSFT | MOD_LGUI);
} 
void CAS_reset(qk_tap_dance_state_t *state, void *user_data)
void CAS_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_mods(MOD_LCTL | MOD_LSFT | MOD_LALT);
}
void CASG_reset(qk_tap_dance_state_t *state, void *user_data)
void CASG_reset(tap_dance_state_t *state, void *user_data)
{
  unregister_mods(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI);
  // clear_oneshot_mods();
}
void ubermod_reset(qk_tap_dance_state_t *state, void *user_data) // AKA CAG_reset
void ubermod_reset(tap_dance_state_t *state, void *user_data) // AKA CAG_reset
{
  unregister_mods(MOD_LCTL | MOD_LALT | MOD_LGUI);
}

void shiftenter(qk_tap_dance_state_t *state, void *user_data)
void shiftenter(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 1) {
    tap_code(KC_ENT);


@@ 236,7 236,7 @@ void shiftenter(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void shiftentercaps(qk_tap_dance_state_t *state, void *user_data)
void shiftentercaps(tap_dance_state_t *state, void *user_data)
{
  if (state->count > 2) {
    tap_code(KC_CAPS);


@@ 253,7 253,7 @@ void shiftentercaps(qk_tap_dance_state_t *state, void *user_data)
  reset_tap_dance(state);
}

void ctrl_all_mac(qk_tap_dance_state_t *state, void *user_data) // C->CG->CAG
void ctrl_all_mac(tap_dance_state_t *state, void *user_data) // C->CG->CAG
{
  if (state->count > 2) {
    if (state->pressed) { 


@@ 280,7 280,7 @@ void ctrl_all_mac(qk_tap_dance_state_t *state, void *user_data) // C->CG->CAG
  reset_tap_dance(state);
}

void ctrl_all(qk_tap_dance_state_t *state, void *user_data) // C->CA->SC
void ctrl_all(tap_dance_state_t *state, void *user_data) // C->CA->SC
{
  if (state->count > 2) {
    if (state->pressed) { 


@@ 307,7 307,7 @@ void ctrl_all(qk_tap_dance_state_t *state, void *user_data) // C->CA->SC
  reset_tap_dance(state);
}

void alt_all(qk_tap_dance_state_t *state, void *user_data) // A->SA->AC
void alt_all(tap_dance_state_t *state, void *user_data) // A->SA->AC
{
  if (state->count > 2) {
    if (state->pressed) { 


@@ 334,7 334,7 @@ void alt_all(qk_tap_dance_state_t *state, void *user_data) // A->SA->AC
  reset_tap_dance(state);
}

void shift_and(qk_tap_dance_state_t *state, void *user_data) // SC->SA->SG
void shift_and(tap_dance_state_t *state, void *user_data) // SC->SA->SG
{
  if (state->count > 2) {
    if (state->pressed) { 


@@ 361,7 361,7 @@ void shift_and(qk_tap_dance_state_t *state, void *user_data) // SC->SA->SG
  reset_tap_dance(state);
}

void shift_and_mac(qk_tap_dance_state_t *state, void *user_data) // SG->SC->SA
void shift_and_mac(tap_dance_state_t *state, void *user_data) // SG->SC->SA
{
  if (state->count > 1) {
    if (state->pressed) { 

M users/rmw/tapdances.h => users/rmw/tapdances.h +21 -21
@@ 3,27 3,27 @@
#include "process_tap_dance.h"
#include "action.h"

void caps(qk_tap_dance_state_t *state, void *user_data); // Shift, Caps
void forward_back_mac(qk_tap_dance_state_t *state, void *user_data); // G<-, then G->
void shiftgui(qk_tap_dance_state_t *state, void *user_data); // G->SG
void guictl(qk_tap_dance_state_t *state, void *user_data); // G->GC
void deleter(qk_tap_dance_state_t *state, void *user_data); // bkspc -> delwrd -> delline
void ubermod(qk_tap_dance_state_t *state, void *user_data); // CTL->ALT->GUI
void ubermod_mac(qk_tap_dance_state_t *state, void *user_data); // GUI->CTL->ALT
void ubermod2(qk_tap_dance_state_t *state, void *user_data); // ALT->CTL->GUI
void ubermod2_mac(qk_tap_dance_state_t *state, void *user_data); // ALT->GUI->CTL
void shift_reset(qk_tap_dance_state_t *state, void *user_data);
void gui_reset(qk_tap_dance_state_t *state, void *user_data);
void CAS_reset(qk_tap_dance_state_t *state, void *user_data);
void CASG_reset(qk_tap_dance_state_t *state, void *user_data);
void ubermod_reset(qk_tap_dance_state_t *state, void *user_data); // AKA CAG_reset
void shiftenter(qk_tap_dance_state_t *state, void *user_data);
void shiftentercaps(qk_tap_dance_state_t *state, void *user_data);
void ctrl_all_mac(qk_tap_dance_state_t *state, void *user_data); // C->CG->CAG
void ctrl_all(qk_tap_dance_state_t *state, void *user_data); // C->CA->SC
void alt_all(qk_tap_dance_state_t *state, void *user_data); // A->SA->AC
void shift_and(qk_tap_dance_state_t *state, void *user_data); // SC->SA->SG
void shift_and_mac(qk_tap_dance_state_t *state, void *user_data); // SG->SC->SA
void caps(tap_dance_state_t *state, void *user_data); // Shift, Caps
void forward_back_mac(tap_dance_state_t *state, void *user_data); // G<-, then G->
void shiftgui(tap_dance_state_t *state, void *user_data); // G->SG
void guictl(tap_dance_state_t *state, void *user_data); // G->GC
void deleter(tap_dance_state_t *state, void *user_data); // bkspc -> delwrd -> delline
void ubermod(tap_dance_state_t *state, void *user_data); // CTL->ALT->GUI
void ubermod_mac(tap_dance_state_t *state, void *user_data); // GUI->CTL->ALT
void ubermod2(tap_dance_state_t *state, void *user_data); // ALT->CTL->GUI
void ubermod2_mac(tap_dance_state_t *state, void *user_data); // ALT->GUI->CTL
void shift_reset(tap_dance_state_t *state, void *user_data);
void gui_reset(tap_dance_state_t *state, void *user_data);
void CAS_reset(tap_dance_state_t *state, void *user_data);
void CASG_reset(tap_dance_state_t *state, void *user_data);
void ubermod_reset(tap_dance_state_t *state, void *user_data); // AKA CAG_reset
void shiftenter(tap_dance_state_t *state, void *user_data);
void shiftentercaps(tap_dance_state_t *state, void *user_data);
void ctrl_all_mac(tap_dance_state_t *state, void *user_data); // C->CG->CAG
void ctrl_all(tap_dance_state_t *state, void *user_data); // C->CA->SC
void alt_all(tap_dance_state_t *state, void *user_data); // A->SA->AC
void shift_and(tap_dance_state_t *state, void *user_data); // SC->SA->SG
void shift_and_mac(tap_dance_state_t *state, void *user_data); // SG->SC->SA

enum {
    SHCAP = 0

M users/romus/romus.c => users/romus/romus.c +1 -1
@@ 42,7 42,7 @@ float tone_windows[][2] = SONG(UNICODE_WINDOWS);
|*-----TAP-DANCE-----*|
\*-------------------*/
#ifdef TAP_DANCE_ENABLE
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    // Shift on double tap of semicolon
    [SCL] = ACTION_TAP_DANCE_DOUBLE( KC_SCLN, KC_COLN )
};

M users/sethBarberee/tap_dance.c => users/sethBarberee/tap_dance.c +4 -4
@@ 16,7 16,7 @@
#include "tap_dance.h"

// Shamelessly stolen from QMK Docs
int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->interrupted || !state->pressed) {
      return SINGLE_TAP;


@@ 44,7 44,7 @@ tap caps_status = {
};


void dance_ecap_finished (qk_tap_dance_state_t *state, void *user_data){
void dance_ecap_finished (tap_dance_state_t *state, void *user_data){
    caps_status.state = cur_dance(state);
    switch(caps_status.state){
        case SINGLE_TAP:


@@ 74,7 74,7 @@ void dance_ecap_finished (qk_tap_dance_state_t *state, void *user_data){
    }
}

void dance_ecap_reset (qk_tap_dance_state_t *state, void *user_data){
void dance_ecap_reset (tap_dance_state_t *state, void *user_data){
    if(caps_status.state == SINGLE_HOLD){
        unregister_code(KC_LCTL);
    }


@@ 82,7 82,7 @@ void dance_ecap_reset (qk_tap_dance_state_t *state, void *user_data){
}

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  //Tap once for Esc, twice for Caps Lock
  [TD_ECAP]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_ecap_finished, dance_ecap_reset),
// Other declarations would go here, separated by commas, if you have them

M users/stanrc85/stanrc85.c => users/stanrc85/stanrc85.c +5 -5
@@ 8,7 8,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
}

// determine the tapdance state to return
int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->interrupted || !state->pressed) { return SINGLE_TAP; }
    else { return SINGLE_HOLD; }


@@ 18,7 18,7 @@ int cur_dance (qk_tap_dance_state_t *state) {
}

// handle the possible states for each tapdance keycode you define:
void ctl_copy_finished (qk_tap_dance_state_t *state, void *user_data) {
void ctl_copy_finished (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP:


@@ 32,7 32,7 @@ void ctl_copy_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void ctl_copy_reset (qk_tap_dance_state_t *state, void *user_data) {
void ctl_copy_reset (tap_dance_state_t *state, void *user_data) {
  switch (td_state) {
    case SINGLE_TAP:
      break;


@@ 61,7 61,7 @@ void ctl_copy_reset (qk_tap_dance_state_t *state, void *user_data) {
  static uint8_t led_user = 0;
#endif

void lock_unlock (qk_tap_dance_state_t *state, void *user_data) {
void lock_unlock (tap_dance_state_t *state, void *user_data) {
  td_state = cur_dance(state);
  switch (td_state) {
    case SINGLE_TAP: // Ctl + Alt + Del to unlock workstation


@@ 97,7 97,7 @@ void lock_unlock (qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_WIN] = ACTION_TAP_DANCE_FN(lock_unlock),
  [TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_GRV),
  [TD_RCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctl_copy_finished, ctl_copy_reset)

M users/stanrc85/stanrc85.h => users/stanrc85/stanrc85.h +3 -3
@@ 48,8 48,8 @@ typedef enum {
} td_state_t;

// function to determine the current tapdance state
int cur_dance (qk_tap_dance_state_t *state);
int cur_dance (tap_dance_state_t *state);

// `finished` and `reset` functions for each tapdance keycode
void ctl_copy_finished (qk_tap_dance_state_t *state, void *user_data);
void ctl_copy_reset (qk_tap_dance_state_t *state, void *user_data);
void ctl_copy_finished (tap_dance_state_t *state, void *user_data);
void ctl_copy_reset (tap_dance_state_t *state, void *user_data);

M users/talljoe/tapdance/actions/td.function.c => users/talljoe/tapdance/actions/td.function.c +2 -2
@@ 19,14 19,14 @@ static struct {
} function_state = {0};

// Send semi-colon + enter on two taps
void tap_dance_function_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_function_finished(tap_dance_state_t *state, void *user_data) {
  function_state.state = hold_cur_dance(state);
  switch (function_state.state) {
    case SINGLE_HOLD: layer_on(_ADJUST); break;
  }
}

void tap_dance_function_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_function_reset(tap_dance_state_t *state, void *user_data) {
  switch (function_state.state) {
    case SPECIAL: reset_keyboard(); break;
    case SINGLE_HOLD: layer_off(_ADJUST); break;

M users/talljoe/tapdance/actions/td.grave.c => users/talljoe/tapdance/actions/td.grave.c +2 -2
@@ 15,7 15,7 @@
 */

// Send `. ~. ```
void tap_dance_grave_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_grave_finished(tap_dance_state_t *state, void *user_data) {
  switch(state->count) {
    case 1:
      SEND_STRING("`");


@@ 26,7 26,7 @@ void tap_dance_grave_finished(qk_tap_dance_state_t *state, void *user_data) {
  }
}

void tap_dance_grave_each(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_grave_each(tap_dance_state_t *state, void *user_data) {
  if(state->count == 3) {
    SEND_STRING("```");
  } else if (state->count > 3) {

M users/talljoe/tapdance/actions/td.lock.c => users/talljoe/tapdance/actions/td.lock.c +2 -2
@@ 19,7 19,7 @@ static struct {
} lock_state = {0};

// Send semi-colon + enter on two taps
void tap_dance_lock_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_lock_finished(tap_dance_state_t *state, void *user_data) {
  lock_state.state = cur_dance(state);
  switch (lock_state.state) {
    case SINGLE_TAP: register_code(KC_ESC); break;


@@ 27,7 27,7 @@ void tap_dance_lock_finished(qk_tap_dance_state_t *state, void *user_data) {
  }
}

void tap_dance_lock_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_lock_reset(tap_dance_state_t *state, void *user_data) {
  switch (lock_state.state) {
    case SINGLE_TAP: unregister_code(KC_ESC); break;
  }

M users/talljoe/tapdance/actions/td.semicolon.c => users/talljoe/tapdance/actions/td.semicolon.c +3 -3
@@ 19,12 19,12 @@ static struct {
  bool mods;
} tap_state = {0};

void tap_dance_semicolon_each(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_semicolon_each(tap_dance_state_t *state, void *user_data) {
    tap_state.mods |= get_mods();
}

// Send semi-colon + enter on two taps
void tap_dance_semicolon_finished(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_semicolon_finished(tap_dance_state_t *state, void *user_data) {
  tap_state.semicolon = hold_cur_dance(state);
  switch (tap_state.semicolon) {
    case SINGLE_TAP: case DOUBLE_HOLD: register_code(KC_SCLN); break;


@@ 32,7 32,7 @@ void tap_dance_semicolon_finished(qk_tap_dance_state_t *state, void *user_data) 
  }
}

void tap_dance_semicolon_reset(qk_tap_dance_state_t *state, void *user_data) {
void tap_dance_semicolon_reset(tap_dance_state_t *state, void *user_data) {
  switch (tap_state.semicolon) {
    case SINGLE_TAP: case DOUBLE_HOLD: unregister_code(KC_SCLN); break;
    case DOUBLE_TAP: {

M users/talljoe/tapdance/tapdance_actions.c => users/talljoe/tapdance/tapdance_actions.c +1 -1
@@ 20,7 20,7 @@
#include "actions/td.semicolon.c"
#include "actions/td.function.c"

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SEMICOLON] = ACTION_TAP_DANCE_FN_ADVANCED(tap_dance_semicolon_each, tap_dance_semicolon_finished, tap_dance_semicolon_reset),
  [TD_LOCK]      = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_dance_lock_finished, tap_dance_lock_reset),
  [TD_GRAVE]     = ACTION_TAP_DANCE_FN_ADVANCED(tap_dance_grave_each, tap_dance_grave_finished, NULL),

M users/talljoe/tapdance/td_setup.c => users/talljoe/tapdance/td_setup.c +2 -2
@@ 16,7 16,7 @@

#include "tapdance.h"

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    //If count = 1, and it has been interrupted - it doesn't matter if it is pressed or not: Send SINGLE_TAP
    if (state->interrupted) {


@@ 45,7 45,7 @@ int cur_dance (qk_tap_dance_state_t *state) {
  else return SPECIAL;
}

int hold_cur_dance (qk_tap_dance_state_t *state) {
int hold_cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    if (state->interrupted) {
      if (!state->pressed) return SINGLE_TAP;

M users/talljoe/tapdance/td_setup.h => users/talljoe/tapdance/td_setup.h +2 -2
@@ 25,5 25,5 @@ enum {
  SPECIAL = 8
};

int cur_dance (qk_tap_dance_state_t *state);
int hold_cur_dance (qk_tap_dance_state_t *state);
int cur_dance (tap_dance_state_t *state);
int hold_cur_dance (tap_dance_state_t *state);

M users/tominabox1/tominabox1.c => users/tominabox1/tominabox1.c +3 -3
@@ 79,7 79,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode
}
#endif //RGB_MATRIX_ENABLE

void dance_cln_finished (qk_tap_dance_state_t *state, void *user_data) {
void dance_cln_finished (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        register_code16(S(KC_2));
    } else {


@@ 87,14 87,14 @@ void dance_cln_finished (qk_tap_dance_state_t *state, void *user_data) {
    }
}

void dance_cln_reset (qk_tap_dance_state_t *state, void *user_data) {
void dance_cln_reset (tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code16(S(KC_2));
    } else {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [KC_EMAIL] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_cln_finished, dance_cln_reset),
    [TD_SFT_CPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
};

M users/wanleg/tapdances.c => users/wanleg/tapdances.c +14 -14
@@ 27,7 27,7 @@ typedef struct {
  int state;
} tap;

int cur_dance (qk_tap_dance_state_t *state) {
int cur_dance (tap_dance_state_t *state) {
  if (state->count == 1) {
    //If count = 1, and it has been interrupted - it doesn't matter if it is pressed or not: Send SINGLE_TAP
    if (state->interrupted || !state->pressed) return SINGLE_TAP;


@@ 59,7 59,7 @@ static tap CADtap_state = {
  .state = 0
};

void CAD_finished (qk_tap_dance_state_t *state, void *user_data) {
void CAD_finished (tap_dance_state_t *state, void *user_data) {
  CADtap_state.state = cur_dance(state);
  switch (CADtap_state.state) {
    case SINGLE_TAP:


@@ 102,7 102,7 @@ void CAD_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void CAD_reset (qk_tap_dance_state_t *state, void *user_data) {
void CAD_reset (tap_dance_state_t *state, void *user_data) {
  switch (CADtap_state.state) {
//nothing to do
  }


@@ 115,7 115,7 @@ static tap RSTtap_state = {
  .state = 0
};

void RST_finished (qk_tap_dance_state_t *state, void *user_data) {
void RST_finished (tap_dance_state_t *state, void *user_data) {
  RSTtap_state.state = cur_dance(state);
  switch (RSTtap_state.state) {
	case SINGLE_TAP: register_code(KC_LCTL); break;


@@ 125,7 125,7 @@ void RST_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void RST_reset (qk_tap_dance_state_t *state, void *user_data) {
void RST_reset (tap_dance_state_t *state, void *user_data) {
  switch (RSTtap_state.state) {
	case SINGLE_TAP: unregister_code(KC_LCTL); break;
	case SINGLE_HOLD: unregister_code(KC_LCTL); break;


@@ 140,7 140,7 @@ static tap LYRtap_state = {
  .state = 0
};

void LYR_finished (qk_tap_dance_state_t *state, void *user_data) {
void LYR_finished (tap_dance_state_t *state, void *user_data) {
  LYRtap_state.state = cur_dance(state);
  switch (LYRtap_state.state) {
	case SINGLE_TAP: register_code(KC_PSLS); break;


@@ 149,7 149,7 @@ void LYR_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void LYR_reset (qk_tap_dance_state_t *state, void *user_data) {
void LYR_reset (tap_dance_state_t *state, void *user_data) {
  switch (LYRtap_state.state) {
    case SINGLE_TAP: unregister_code(KC_PSLS); break;
    case DOUBLE_TAP: set_single_persistent_default_layer(_GK); break;


@@ 164,7 164,7 @@ static tap LYR75tap_state = {
  .state = 0
};

void LYR75_finished (qk_tap_dance_state_t *state, void *user_data) {
void LYR75_finished (tap_dance_state_t *state, void *user_data) {
  LYR75tap_state.state = cur_dance(state);
  switch (LYR75tap_state.state) {
	case SINGLE_TAP: register_code(KC_PSLS); break;


@@ 173,7 173,7 @@ void LYR75_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void LYR75_reset (qk_tap_dance_state_t *state, void *user_data) {
void LYR75_reset (tap_dance_state_t *state, void *user_data) {
  switch (LYR75tap_state.state) {
    case SINGLE_TAP: unregister_code(KC_PSLS); break;
    case DOUBLE_TAP: set_single_persistent_default_layer(_GK); break;


@@ 188,7 188,7 @@ static tap LYR50tap_state = {
  .state = 0
};

void LYR50_finished (qk_tap_dance_state_t *state, void *user_data) {
void LYR50_finished (tap_dance_state_t *state, void *user_data) {
  LYR50tap_state.state = cur_dance(state);
  switch (LYR75tap_state.state) {
	case SINGLE_TAP: register_code(KC_PSLS); break;


@@ 197,7 197,7 @@ void LYR50_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void LYR50_reset (qk_tap_dance_state_t *state, void *user_data) {
void LYR50_reset (tap_dance_state_t *state, void *user_data) {
  switch (LYR50tap_state.state) {
    case SINGLE_TAP: unregister_code(KC_PSLS); break;
    case DOUBLE_TAP: set_single_persistent_default_layer(GK50); break;


@@ 212,7 212,7 @@ static tap BSWtap_state = {
  .state = 0
};

void BSW_finished (qk_tap_dance_state_t *state, void *user_data) {
void BSW_finished (tap_dance_state_t *state, void *user_data) {
  BSWtap_state.state = cur_dance(state);
  switch (BSWtap_state.state) {
    case SINGLE_TAP: register_code(KC_ENTER); break;


@@ 233,7 233,7 @@ void BSW_finished (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void BSW_reset (qk_tap_dance_state_t *state, void *user_data) {
void BSW_reset (tap_dance_state_t *state, void *user_data) {
  switch (BSWtap_state.state) {
    case SINGLE_TAP: unregister_code(KC_ENTER); break;
    case DOUBLE_TAP:


@@ 248,7 248,7 @@ void BSW_reset (qk_tap_dance_state_t *state, void *user_data) {

//Tap Dance Definitions
//THIS SECTION HAS TO BE AT THE END OF THE TAP DANCE SECTION
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_SFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
// Other declarations would go here, separated by commas, if you have them
 ,[TD_Q_ESC]  = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC)

M users/xulkal/custom_tap_dance.c => users/xulkal/custom_tap_dance.c +1 -1
@@ 4,7 4,7 @@
#ifdef TAP_DANCE_ENABLE

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [COMM_QUOT]  = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUOT),
  [BACKSPACE] = ACTION_TAP_DANCE_DOUBLE (KC_BACKSPACE, LCTL(KC_BACKSPACE)),
  [DELETE] = ACTION_TAP_DANCE_DOUBLE (KC_DELETE, LCTL(KC_DELETE))

M users/yet-another-developer/tap_dances.c => users/yet-another-developer/tap_dances.c +3 -3
@@ 1,6 1,6 @@
#include "tap_dances.h"

void td_parenthesis (qk_tap_dance_state_t *state, void *user_data) {
void td_parenthesis (tap_dance_state_t *state, void *user_data) {
   if (state->count == 1) {
//        SEND_STRING ("\(");
        tap_code(KC_QUOT);


@@ 24,7 24,7 @@ void td_parenthesis (qk_tap_dance_state_t *state, void *user_data) {
   }
}

void safe_reset(qk_tap_dance_state_t *state, void *user_data) {
void safe_reset(tap_dance_state_t *state, void *user_data) {
  if (state->count >= 3) {
    // Reset the keyboard if you tap the key more than three times
    reset_keyboard();


@@ 32,7 32,7 @@ void safe_reset(qk_tap_dance_state_t *state, void *user_data) {
  }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
  [TD_RESET] = ACTION_TAP_DANCE_FN(safe_reset),
  [TD_NUM1] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_4),
  [TD_NUM2] = ACTION_TAP_DANCE_DOUBLE(KC_2, KC_5),

M users/yet-another-developer/tap_dances.h => users/yet-another-developer/tap_dances.h +1 -1
@@ 23,4 23,4 @@ enum {
  TD_ABR   // single double angle brackets
};
#endif // TAP_DANCE_ENABLE
void td_parenthesis (qk_tap_dance_state_t *state, void *user_data);
void td_parenthesis (tap_dance_state_t *state, void *user_data);

M users/zer09/tap_dance.c => users/zer09/tap_dance.c +14 -14
@@ 1,7 1,7 @@
#include "tap_dance.h"
#include "lights.h"

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [DA_LCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_lctl_finished,
                                             dance_lctl_reset),
    [DA_LSPR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_lspr_finished,


@@ 40,7 40,7 @@ void layer_switcher_tap(uint8_t new_layer) {
  }
}

int cur_dance(qk_tap_dance_state_t *state) {
int cur_dance(tap_dance_state_t *state) {
  switch (state->count) {
  case 1:
    return state->pressed == 0 ? SINGLE_TAP : SINGLE_HOLD;


@@ 53,17 53,17 @@ int cur_dance(qk_tap_dance_state_t *state) {
  }
}

void dance_lctl_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_lctl_finished(tap_dance_state_t *state, void *user_data) {
  rbw_led_keys[RBW_LCTL].status = ENABLED;
  register_code(KC_LCTL);
};

void dance_lctl_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_lctl_reset(tap_dance_state_t *state, void *user_data) {
  unregister_code(KC_LCTL);
  rbw_led_keys[RBW_LCTL].status = DISABLED;
};

void dance_lspr_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_lspr_finished(tap_dance_state_t *state, void *user_data) {
  lsprtap_state.state = cur_dance(state);

  switch (lsprtap_state.state) {


@@ 77,7 77,7 @@ void dance_lspr_finished(qk_tap_dance_state_t *state, void *user_data) {
  }
};

void dance_lspr_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_lspr_reset(tap_dance_state_t *state, void *user_data) {
  switch (lsprtap_state.state) {
  case DOUBLE_HOLD:
    unregister_code(KC_LALT);


@@ 89,17 89,17 @@ void dance_lspr_reset(qk_tap_dance_state_t *state, void *user_data) {
  }
};

void dance_rctl_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_rctl_finished(tap_dance_state_t *state, void *user_data) {
  rbw_led_keys[RBW_RCTL].status = ENABLED;
  register_code(KC_RCTL);
};

void dance_rctl_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_rctl_reset(tap_dance_state_t *state, void *user_data) {
  unregister_code(KC_RCTL);
  rbw_led_keys[RBW_RCTL].status = DISABLED;
};

void dance_ralt_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_ralt_finished(tap_dance_state_t *state, void *user_data) {
  ralttap_state.state = cur_dance(state);

  switch (ralttap_state.state) {


@@ 113,7 113,7 @@ void dance_ralt_finished(qk_tap_dance_state_t *state, void *user_data) {
  }
};

void dance_ralt_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_ralt_reset(tap_dance_state_t *state, void *user_data) {
  switch (ralttap_state.state) {
  case DOUBLE_HOLD:
    unregister_code(KC_RGUI);


@@ 125,7 125,7 @@ void dance_ralt_reset(qk_tap_dance_state_t *state, void *user_data) {
  }
};

void dance_uply_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_uply_finished(tap_dance_state_t *state, void *user_data) {
  upltap_state.state = cur_dance(state);

  switch (upltap_state.state) {


@@ 145,7 145,7 @@ void dance_uply_finished(qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_uply_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_uply_reset(tap_dance_state_t *state, void *user_data) {
  switch (upltap_state.state) {
  case SINGLE_TAP:
    break;


@@ 157,7 157,7 @@ void dance_uply_reset(qk_tap_dance_state_t *state, void *user_data) {
  upltap_state.state = 0;
}

void dance_dwly_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_dwly_finished(tap_dance_state_t *state, void *user_data) {
  dwltap_state.state = cur_dance(state);

  switch (dwltap_state.state) {


@@ 188,7 188,7 @@ void dance_dwly_finished(qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_dwly_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_dwly_reset(tap_dance_state_t *state, void *user_data) {
  switch (dwltap_state.state) {
  case SINGLE_TAP:
    break;

M users/zer09/tap_dance.h => users/zer09/tap_dance.h +13 -13
@@ 32,24 32,24 @@ enum {
extern volatile uint8_t active_layer;

void layer_switcher_tap(uint8_t);
int cur_dance(qk_tap_dance_state_t *);
int cur_dance(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_lctl_finished(tap_dance_state_t *, void *);
void dance_lctl_reset(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_lspr_finished(tap_dance_state_t *, void *);
void dance_lspr_reset(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_rctl_finished(tap_dance_state_t *, void *);
void dance_rctl_reset(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_ralt_finished(tap_dance_state_t *, void *);
void dance_ralt_reset(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_uply_finished(tap_dance_state_t *, void *);
void dance_uply_reset(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 *);
void dance_dwly_finished(tap_dance_state_t *, void *);
void dance_dwly_reset(tap_dance_state_t *, void *);

#endif

M users/zigotica/tapdances.c => users/zigotica/tapdances.c +2 -2
@@ 13,7 13,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#include "tapdances.h"

void ios_media(qk_tap_dance_state_t *state, void *user_data) {
void ios_media(tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        tap_code(KC_MPLY);
    } else if (state->count == 2) {


@@ 25,7 25,7 @@ void ios_media(qk_tap_dance_state_t *state, void *user_data) {
    }
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
    [0] = ACTION_TAP_DANCE_FN(ios_media),
    [1] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_SCLN),
    [2] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_COLON),

M users/zyber/zyber.c => users/zyber/zyber.c +9 -9
@@ 65,14 65,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}

/* Screenshoot */
void dance_SSHT_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_SSHT_finished(tap_dance_state_t *state, void *user_data) {
	if (state->count == 2) {
		tap_code16(C(S(G(KC_4))));
	} else {
		tap_code(KC_4);
	}
}
void dance_SSHT_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_SSHT_reset(tap_dance_state_t *state, void *user_data) {
	if (state->count == 2) {
		unregister_code16(C(S(G(KC_4))));
	} else {


@@ 81,14 81,14 @@ void dance_SSHT_reset(qk_tap_dance_state_t *state, void *user_data) {
}

/* Å */
void dance_LBRC_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_LBRC_finished(tap_dance_state_t *state, void *user_data) {
	if (state->count == 2) {
		tap_code16(A(KC_LBRC));
	} else {
		tap_code(KC_LBRC);
	}
}
void dance_LBRC_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_LBRC_reset(tap_dance_state_t *state, void *user_data) {
	if (state->count == 2) {
		unregister_code16(A(KC_LBRC));
	} else {


@@ 97,14 97,14 @@ void dance_LBRC_reset(qk_tap_dance_state_t *state, void *user_data) {
}

/* Ö */
void dance_SCLN_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_SCLN_finished(tap_dance_state_t *state, void *user_data) {
	if (state->count == 2) {
		tap_code16(A(KC_SCLN));
	} else {
		tap_code(KC_SCLN);
	}
}
void dance_SCLN_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_SCLN_reset(tap_dance_state_t *state, void *user_data) {
	if (state->count == 2) {
		unregister_code16(A(KC_SCLN));
	} else {


@@ 113,14 113,14 @@ void dance_SCLN_reset(qk_tap_dance_state_t *state, void *user_data) {
}

/* Ä */
void dance_QUOT_finished(qk_tap_dance_state_t *state, void *user_data) {
void dance_QUOT_finished(tap_dance_state_t *state, void *user_data) {
	if (state->count == 2) {
		tap_code16(A(KC_QUOT));
	} else {
		tap_code(KC_QUOT);
	}
}
void dance_QUOT_reset(qk_tap_dance_state_t *state, void *user_data) {
void dance_QUOT_reset(tap_dance_state_t *state, void *user_data) {
	if (state->count == 2) {
		unregister_code16(A(KC_QUOT));
	} else {


@@ 128,7 128,7 @@ void dance_QUOT_reset(qk_tap_dance_state_t *state, void *user_data) {
	}
}

qk_tap_dance_action_t tap_dance_actions[] = {
tap_dance_action_t tap_dance_actions[] = {
	[SSHT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_SSHT_finished, dance_SSHT_reset),
	[LBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LBRC_finished, dance_LBRC_reset),
	[SCLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_SCLN_finished, dance_SCLN_reset),

M users/zyber/zyber.h => users/zyber/zyber.h +8 -8
@@ 23,11 23,11 @@ enum tap_dances {

bool process_record_user(uint16_t keycode, keyrecord_t *record);

void dance_SSHT_finished(qk_tap_dance_state_t *state, void *user_data);
void dance_SSHT_reset(qk_tap_dance_state_t *state, void *user_data);
void dance_LBRC_finished(qk_tap_dance_state_t *state, void *user_data);
void dance_LBRC_reset(qk_tap_dance_state_t *state, void *user_data);
void dance_SCLN_finished(qk_tap_dance_state_t *state, void *user_data);
void dance_SCLN_reset(qk_tap_dance_state_t *state, void *user_data);
void dance_QUOT_finished(qk_tap_dance_state_t *state, void *user_data);
void dance_QUOT_reset(qk_tap_dance_state_t *state, void *user_data);
void dance_SSHT_finished(tap_dance_state_t *state, void *user_data);
void dance_SSHT_reset(tap_dance_state_t *state, void *user_data);
void dance_LBRC_finished(tap_dance_state_t *state, void *user_data);
void dance_LBRC_reset(tap_dance_state_t *state, void *user_data);
void dance_SCLN_finished(tap_dance_state_t *state, void *user_data);
void dance_SCLN_reset(tap_dance_state_t *state, void *user_data);
void dance_QUOT_finished(tap_dance_state_t *state, void *user_data);
void dance_QUOT_reset(tap_dance_state_t *state, void *user_data);