diff --git a/keyboards/keebio/nyquist/rev4/keymaps/drew/flow_tap/flow_tap_options.c b/keyboards/keebio/nyquist/rev4/keymaps/drew/flow_tap/flow_tap_options.c index 4af34293..35cbdea0 100644 --- a/keyboards/keebio/nyquist/rev4/keymaps/drew/flow_tap/flow_tap_options.c +++ b/keyboards/keebio/nyquist/rev4/keymaps/drew/flow_tap/flow_tap_options.c @@ -1,14 +1,33 @@ #include QMK_KEYBOARD_H +#include "../alias.h" -bool is_flow_tap_key(uint16_t keycode) { - switch (get_tap_keycode(keycode)) { +uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t* record, uint16_t previous_keycode) { + switch (get_tap_keycode(previous_keycode)) { case KC_A ... KC_Z: case KC_DOT: case KC_COMM: case KC_SCLN: case KC_SLSH: - case KC_QUOT: - return true; + case KC_QUOT: // enable flow-tap for these keys + break; + + default: // disable otherwise + return 0; } - return false; + + switch (keycode) { + case CTL_D: + case CTL_K: + case CTL_3: + case CTL_8: + case CTL_RBRC: + case CTL_DOWN: // control should always be allowed to hold + + case NUM_SPC: + case NAV_ENT: + case FUNC_PLAY: // same with layers + return 0; + break; + } + return FLOW_TAP_TERM; // enable flow-tap }