diff --git a/keyboards/keychron/k17_max/ansi_encoder/rgb/keymaps/via/keymap.c b/keyboards/keychron/k17_max/ansi_encoder/rgb/keymaps/via/keymap.c index cea2ebfb89..2370023312 100644 --- a/keyboards/keychron/k17_max/ansi_encoder/rgb/keymaps/via/keymap.c +++ b/keyboards/keychron/k17_max/ansi_encoder/rgb/keymaps/via/keymap.c @@ -24,10 +24,13 @@ enum { TD_CHORDS, }; -enum custom_keycodes { - CK_CTRL_K_C = NEW_SAFE_RANGE, - CK_CTRL_K_D, -}; +void dance_chords_finished(tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + SEND_STRING(SS_LCTL("kc")); + } else { + SEND_STRING(SS_LCTL("kd")); + } +} enum layers { MAC_BASE, @@ -85,18 +88,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!process_record_keychron_common(keycode, record)) { return false; } - switch (keycode) { - case CK_CTRL_K_C: - if (record->event.pressed) { - SEND_STRING(SS_LCTL("kc")); - } - return false; - case CK_CTRL_K_D: - if (record->event.pressed) { - SEND_STRING(SS_LCTL("kd")); - } - return false; - } return true; } @@ -104,5 +95,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { 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), - [TD_CHORDS] = ACTION_TAP_DANCE_DOUBLE(CK_CTRL_K_C, CK_CTRL_K_D), + [TD_CHORDS] = ACTION_TAP_DANCE_FN(dance_chords_finished), }; \ No newline at end of file