diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index f3d36665..41814b60 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -35,7 +35,7 @@ target_sources(app PRIVATE src/events/modifiers_state_changed.c) target_sources(app PRIVATE src/events/sensor_event.c) target_sources(app PRIVATE src/behaviors/behavior_key_press.c) target_sources(app PRIVATE src/behaviors/behavior_reset.c) -target_sources(app PRIVATE src/behaviors/behavior_tap_hold.c) +target_sources(app PRIVATE src/behaviors/behavior_hold_tap.c) target_sources(app PRIVATE src/behaviors/behavior_momentary_layer.c) target_sources(app PRIVATE src/behaviors/behavior_toggle_layer.c) target_sources(app PRIVATE src/behaviors/behavior_transparent.c) diff --git a/app/dts/behaviors/homerow_tap.dtsi b/app/dts/behaviors/homerow_tap.dtsi index 3c4dec68..21c1531f 100644 --- a/app/dts/behaviors/homerow_tap.dtsi +++ b/app/dts/behaviors/homerow_tap.dtsi @@ -1,7 +1,7 @@ / { behaviors { ht: behavior_homerow_mod { - compatible = "zmk,behavior-tap-hold"; + compatible = "zmk,behavior-hold-tap"; label = "homerow_mod"; #binding-cells = <2>; flavor = "balanced"; diff --git a/app/dts/behaviors/layer_tap.dtsi b/app/dts/behaviors/layer_tap.dtsi index 1c51f80d..af7319b3 100644 --- a/app/dts/behaviors/layer_tap.dtsi +++ b/app/dts/behaviors/layer_tap.dtsi @@ -1,7 +1,7 @@ / { behaviors { lt: behavior_layer_tap { - compatible = "zmk,behavior-tap-hold"; + compatible = "zmk,behavior-hold-tap"; label = "LAYER_TAP"; #binding-cells = <2>; flavor = "tap-preferred"; diff --git a/app/dts/behaviors/mod_tap.dtsi b/app/dts/behaviors/mod_tap.dtsi index 8dfbd052..4ce732b4 100644 --- a/app/dts/behaviors/mod_tap.dtsi +++ b/app/dts/behaviors/mod_tap.dtsi @@ -1,7 +1,7 @@ / { behaviors { mt: behavior_mod_tap { - compatible = "zmk,behavior-tap-hold"; + compatible = "zmk,behavior-hold-tap"; label = "MOD_TAP"; #binding-cells = <2>; flavor = "hold-preferred"; diff --git a/app/dts/bindings/behaviors/zmk,behavior-tap-hold.yaml b/app/dts/bindings/behaviors/zmk,behavior-tap-hold.yaml index 4edb67b8..a20578fa 100644 --- a/app/dts/bindings/behaviors/zmk,behavior-tap-hold.yaml +++ b/app/dts/bindings/behaviors/zmk,behavior-tap-hold.yaml @@ -3,7 +3,7 @@ description: Hold or Tap behavior -compatible: "zmk,behavior-tap-hold" +compatible: "zmk,behavior-hold-tap" include: two_param.yaml diff --git a/app/src/behaviors/behavior_tap_hold.c b/app/src/behaviors/behavior_hold_tap.c similarity index 52% rename from app/src/behaviors/behavior_tap_hold.c rename to app/src/behaviors/behavior_hold_tap.c index 568fd8ee..08fa1397 100644 --- a/app/src/behaviors/behavior_tap_hold.c +++ b/app/src/behaviors/behavior_hold_tap.c @@ -4,7 +4,7 @@ * SPDX-License-Identifier: MIT */ -#define DT_DRV_COMPAT zmk_behavior_tap_hold +#define DT_DRV_COMPAT zmk_behavior_hold_tap #include #include @@ -24,51 +24,51 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); #if DT_NODE_EXISTS(DT_DRV_INST(0)) /************************************************************ DATA SETUP */ -#define ZMK_BHV_TAP_HOLD_MAX_HELD 10 -#define ZMK_BHV_TAP_HOLD_MAX_CAPTURED_EVENTS 40 +#define ZMK_BHV_HOLD_TAP_MAX_HELD 10 +#define ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS 40 // increase if you have keyboard with more keys. -#define ZMK_BHV_TAP_HOLD_POSITION_NOT_USED 9999 +#define ZMK_BHV_HOLD_TAP_POSITION_NOT_USED 9999 -struct behavior_tap_hold_behaviors { +struct behavior_hold_tap_behaviors { struct zmk_behavior_binding tap; struct zmk_behavior_binding hold; }; typedef k_timeout_t (*timer_func)(); -struct behavior_tap_hold_config { +struct behavior_hold_tap_config { timer_func tapping_term_ms; - struct behavior_tap_hold_behaviors *behaviors; + struct behavior_hold_tap_behaviors *behaviors; char *flavor; }; -// this data is specific for each tap-hold -struct active_tap_hold { +// this data is specific for each hold-tap +struct active_hold_tap { s32_t position; u32_t param_hold; u32_t param_tap; bool is_decided; bool is_hold; - const struct behavior_tap_hold_config *config; + const struct behavior_hold_tap_config *config; struct k_delayed_work work; bool work_is_cancelled; }; -// The undecided tap hold is the tap hold that needs to be decided before -// other keypress events can be released. While the undecided_tap chold is +// The undecided hold tap is the hold tap that needs to be decided before +// other keypress events can be released. While the undecided_hold_tap is // not NULL, most events are captured in captured_events. -// After the tap_hold is decided, it will stay in the active_tap_holds until +// After the hold_tap is decided, it will stay in the active_hold_taps until // its key-up has been processed and the delayed work is cleaned up. -struct active_tap_hold *undecided_tap_hold = NULL; -struct active_tap_hold active_tap_holds[ZMK_BHV_TAP_HOLD_MAX_HELD] = {}; +struct active_hold_tap *undecided_hold_tap = NULL; +struct active_hold_tap active_hold_taps[ZMK_BHV_HOLD_TAP_MAX_HELD] = {}; // We capture most position_state_changed events and some modifiers_state_changed events. -const struct zmk_event_header *captured_events[ZMK_BHV_TAP_HOLD_MAX_CAPTURED_EVENTS] = {}; +const struct zmk_event_header *captured_events[ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS] = {}; /************************************************************ CAPTURED POSITION HELPER FUNCTIONS */ static int capture_event(const struct zmk_event_header *event) { - for (int i = 0; i < ZMK_BHV_TAP_HOLD_MAX_CAPTURED_EVENTS; i++) { + for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS; i++) { if (captured_events[i] == NULL) { captured_events[i] = event; return 0; @@ -80,7 +80,7 @@ static int capture_event(const struct zmk_event_header *event) static struct position_state_changed *find_captured_keydown_event(u32_t position) { struct position_state_changed *last_match = NULL; - for (int i = 0; i < ZMK_BHV_TAP_HOLD_MAX_CAPTURED_EVENTS; i++) { + for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS; i++) { const struct zmk_event_header *eh = captured_events[i]; if (eh == NULL) { return last_match; @@ -98,7 +98,7 @@ static struct position_state_changed *find_captured_keydown_event(u32_t position static void release_captured_events() { - if (undecided_tap_hold != NULL) { + if (undecided_hold_tap != NULL) { return; } @@ -106,34 +106,34 @@ static void release_captured_events() // // Events for different mod-tap instances are separated by a NULL pointer. // - // The first event popped will never be catched by the next active tap-hold + // The first event popped will never be catched by the next active hold-tap // because to start capturing a mod-tap-key-down event must first completely // go through the events queue. // // Example of this release process; // [mt2_down, k1_down, k1_up, mt2_up, null, ...] // ^ - // mt2_down position event isn't captured because no tap-hold is active. - // mt2_down behavior event is handled, now we have an undecided tap-hold + // mt2_down position event isn't captured because no hold-tap is active. + // mt2_down behavior event is handled, now we have an undecided hold-tap // [null, k1_down, k1_up, mt2_up, null, ...] // ^ // k1_down is captured by the mt2 mod-tap // !note that searches for find_captured_keydown_event by the mt2 behavior will stop at the first null encountered // [mt1_down, null, k1_up, mt2_up, null, ...] // ^ - // k1_up event is captured by the new tap-hold: + // k1_up event is captured by the new hold-tap: // [k1_down, k1_up, null, mt2_up, null, ...] // ^ // mt2_up event is not captured but causes release of mt2 behavior // [k1_down, k1_up, null, null, null, ...] // now mt2 will start releasing it's own captured positions. - for (int i = 0; i < ZMK_BHV_TAP_HOLD_MAX_CAPTURED_EVENTS; i++) { + for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS; i++) { const struct zmk_event_header *captured_event = captured_events[i]; if (captured_event == NULL) { return; } captured_events[i] = NULL; - if (undecided_tap_hold != NULL) { + if (undecided_hold_tap != NULL) { k_msleep(10); } if (is_position_state_changed(captured_event)) { @@ -150,161 +150,161 @@ static void release_captured_events() /************************************************************ ACTIVE TAP HOLD HELPER FUNCTIONS */ -static struct active_tap_hold *find_tap_hold(u32_t position) +static struct active_hold_tap *find_hold_tap(u32_t position) { - for (int i = 0; i < ZMK_BHV_TAP_HOLD_MAX_HELD; i++) { - if (active_tap_holds[i].position == position) { - return &active_tap_holds[i]; + for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_HELD; i++) { + if (active_hold_taps[i].position == position) { + return &active_hold_taps[i]; } } return NULL; } -static struct active_tap_hold *store_tap_hold(u32_t position, u32_t param_hold, u32_t param_tap, const struct behavior_tap_hold_config *config) +static struct active_hold_tap *store_hold_tap(u32_t position, u32_t param_hold, u32_t param_tap, const struct behavior_hold_tap_config *config) { - for (int i = 0; i < ZMK_BHV_TAP_HOLD_MAX_HELD; i++) { - if (active_tap_holds[i].position != ZMK_BHV_TAP_HOLD_POSITION_NOT_USED) { + for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_HELD; i++) { + if (active_hold_taps[i].position != ZMK_BHV_HOLD_TAP_POSITION_NOT_USED) { continue; } - active_tap_holds[i].position = position; - active_tap_holds[i].is_decided = false; - active_tap_holds[i].is_hold = false; - active_tap_holds[i].config = config; - active_tap_holds[i].param_hold = param_hold; - active_tap_holds[i].param_tap = param_tap; - return &active_tap_holds[i]; + active_hold_taps[i].position = position; + active_hold_taps[i].is_decided = false; + active_hold_taps[i].is_hold = false; + active_hold_taps[i].config = config; + active_hold_taps[i].param_hold = param_hold; + active_hold_taps[i].param_tap = param_tap; + return &active_hold_taps[i]; } return NULL; } -static void clear_tap_hold(struct active_tap_hold *tap_hold) +static void clear_hold_tap(struct active_hold_tap *hold_tap) { - tap_hold->position = ZMK_BHV_TAP_HOLD_POSITION_NOT_USED; - tap_hold->is_decided = false; - tap_hold->is_hold = false; - tap_hold->work_is_cancelled = false; + hold_tap->position = ZMK_BHV_HOLD_TAP_POSITION_NOT_USED; + hold_tap->is_decided = false; + hold_tap->is_hold = false; + hold_tap->work_is_cancelled = false; } enum decision_moment { - TH_KEY_UP = 0, - TH_OTHER_KEY_DOWN = 1, - TH_OTHER_KEY_UP = 2, - TH_TIMER_EVENT = 3, + HT_KEY_UP = 0, + HT_OTHER_KEY_DOWN = 1, + HT_OTHER_KEY_UP = 2, + HT_TIMER_EVENT = 3, }; -static void decide_balanced(struct active_tap_hold *tap_hold, enum decision_moment event) +static void decide_balanced(struct active_hold_tap *hold_tap, enum decision_moment event) { switch (event) { - case TH_KEY_UP: - tap_hold->is_hold = 0; - tap_hold->is_decided = true; + case HT_KEY_UP: + hold_tap->is_hold = 0; + hold_tap->is_decided = true; break; - case TH_OTHER_KEY_UP: - tap_hold->is_hold = 1; - tap_hold->is_decided = true; + case HT_OTHER_KEY_UP: + hold_tap->is_hold = 1; + hold_tap->is_decided = true; break; - case TH_TIMER_EVENT: - tap_hold->is_hold = 1; - tap_hold->is_decided = true; + case HT_TIMER_EVENT: + hold_tap->is_hold = 1; + hold_tap->is_decided = true; break; default: return; } } -static void decide_tap_preferred(struct active_tap_hold *tap_hold, enum decision_moment event) +static void decide_tap_preferred(struct active_hold_tap *hold_tap, enum decision_moment event) { switch (event) { - case TH_KEY_UP: - tap_hold->is_hold = 0; - tap_hold->is_decided = true; + case HT_KEY_UP: + hold_tap->is_hold = 0; + hold_tap->is_decided = true; break; - case TH_TIMER_EVENT: - tap_hold->is_hold = 1; - tap_hold->is_decided = true; + case HT_TIMER_EVENT: + hold_tap->is_hold = 1; + hold_tap->is_decided = true; break; default: return; } } -static void decide_hold_preferred(struct active_tap_hold *tap_hold, enum decision_moment event) +static void decide_hold_preferred(struct active_hold_tap *hold_tap, enum decision_moment event) { switch (event) { - case TH_KEY_UP: - tap_hold->is_hold = 0; - tap_hold->is_decided = true; + case HT_KEY_UP: + hold_tap->is_hold = 0; + hold_tap->is_decided = true; break; - case TH_OTHER_KEY_DOWN: - tap_hold->is_hold = 1; - tap_hold->is_decided = true; + case HT_OTHER_KEY_DOWN: + hold_tap->is_hold = 1; + hold_tap->is_decided = true; break; - case TH_TIMER_EVENT: - tap_hold->is_hold = 1; - tap_hold->is_decided = true; + case HT_TIMER_EVENT: + hold_tap->is_hold = 1; + hold_tap->is_decided = true; break; default: return; } } -static void decide_tap_hold(struct active_tap_hold *tap_hold, enum decision_moment event) +static void decide_hold_tap(struct active_hold_tap *hold_tap, enum decision_moment event) { - if (tap_hold->is_decided) { + if (hold_tap->is_decided) { return; } - if (tap_hold != undecided_tap_hold) { + if (hold_tap != undecided_hold_tap) { LOG_DBG("ERROR found undecided tap hold that is not the active tap hold"); return; } - char *flavor = tap_hold->config->flavor; + char *flavor = hold_tap->config->flavor; if (strcmp(flavor, "balanced") == 0) { - decide_balanced(tap_hold, event); + decide_balanced(hold_tap, event); } else if (strcmp(flavor, "tap-preferred") == 0) { - decide_tap_preferred(tap_hold, event); + decide_tap_preferred(hold_tap, event); } else if (strcmp(flavor, "hold-preferred") == 0) { - decide_hold_preferred(tap_hold, event); + decide_hold_preferred(hold_tap, event); } - if (!tap_hold->is_decided) { + if (!hold_tap->is_decided) { return; } - LOG_DBG("%d decided %s (%s event %d)", tap_hold->position, tap_hold->is_hold ? "hold" : "tap", flavor, event); - undecided_tap_hold = NULL; + LOG_DBG("%d decided %s (%s event %d)", hold_tap->position, hold_tap->is_hold ? "hold" : "tap", flavor, event); + undecided_hold_tap = NULL; struct zmk_behavior_binding *behavior; - if (tap_hold->is_hold) { - behavior = &tap_hold->config->behaviors->hold; + if (hold_tap->is_hold) { + behavior = &hold_tap->config->behaviors->hold; struct device *behavior_device = device_get_binding(behavior->behavior_dev); - behavior_keymap_binding_pressed(behavior_device, tap_hold->position, tap_hold->param_hold, 0); + behavior_keymap_binding_pressed(behavior_device, hold_tap->position, hold_tap->param_hold, 0); } else { - behavior = &tap_hold->config->behaviors->tap; + behavior = &hold_tap->config->behaviors->tap; struct device *behavior_device = device_get_binding(behavior->behavior_dev); - behavior_keymap_binding_pressed(behavior_device, tap_hold->position, tap_hold->param_tap, 0); + behavior_keymap_binding_pressed(behavior_device, hold_tap->position, hold_tap->param_tap, 0); } release_captured_events(); } -/************************************************************ tap_hold_binding and key handlers */ -static int on_tap_hold_binding_pressed(struct device *dev, u32_t position, u32_t param_hold, u32_t param_tap) +/************************************************************ hold_tap_binding and key handlers */ +static int on_hold_tap_binding_pressed(struct device *dev, u32_t position, u32_t param_hold, u32_t param_tap) { - const struct behavior_tap_hold_config *cfg = dev->config_info; + const struct behavior_hold_tap_config *cfg = dev->config_info; - if (undecided_tap_hold != NULL) { - LOG_DBG("ERROR another tap-hold behavior is undecided."); + if (undecided_hold_tap != NULL) { + LOG_DBG("ERROR another hold-tap behavior is undecided."); // if this happens, make sure the behavior events occur AFTER other position events. return 0; } - struct active_tap_hold *tap_hold = store_tap_hold(position, param_hold, param_tap, cfg); - if (tap_hold == NULL) { - LOG_ERR("unable to store tap-hold info, did you press more than %d tap-holds?", ZMK_BHV_TAP_HOLD_MAX_HELD); + struct active_hold_tap *hold_tap = store_hold_tap(position, param_hold, param_tap, cfg); + if (hold_tap == NULL) { + LOG_ERR("unable to store hold-tap info, did you press more than %d hold-taps?", ZMK_BHV_HOLD_TAP_MAX_HELD); return 0; } - LOG_DBG("%d new undecided tap_hold", position); - undecided_tap_hold = tap_hold; - k_delayed_work_submit(&tap_hold->work, cfg->tapping_term_ms()); + LOG_DBG("%d new undecided hold_tap", position); + undecided_hold_tap = hold_tap; + k_delayed_work_submit(&hold_tap->work, cfg->tapping_term_ms()); // todo: once we get timing info for keypresses, start the timer relative to the original keypress // don't forget to simulate a timer-event before the event after that time was handled. @@ -312,46 +312,46 @@ static int on_tap_hold_binding_pressed(struct device *dev, u32_t position, u32_t return 0; } -static int on_tap_hold_binding_released(struct device *dev, u32_t position, u32_t _, u32_t __) +static int on_hold_tap_binding_released(struct device *dev, u32_t position, u32_t _, u32_t __) { - struct active_tap_hold *tap_hold = find_tap_hold(position); + struct active_hold_tap *hold_tap = find_hold_tap(position); - if (tap_hold == NULL) { - LOG_ERR("ACTIVE_TAP_HOLD_CLEANED_UP_TOO_EARLY"); + if (hold_tap == NULL) { + LOG_ERR("ACTIVE_HOLD_TAP_CLEANED_UP_TOO_EARLY"); return 0; } - int work_cancel_result = k_delayed_work_cancel(&tap_hold->work); - decide_tap_hold(tap_hold, TH_KEY_UP); + int work_cancel_result = k_delayed_work_cancel(&hold_tap->work); + decide_hold_tap(hold_tap, HT_KEY_UP); struct zmk_behavior_binding *behavior; - if (tap_hold->is_hold) { - behavior = &tap_hold->config->behaviors->hold; + if (hold_tap->is_hold) { + behavior = &hold_tap->config->behaviors->hold; struct device *behavior_device = device_get_binding(behavior->behavior_dev); - behavior_keymap_binding_released(behavior_device, tap_hold->position, tap_hold->param_hold, 0); + behavior_keymap_binding_released(behavior_device, hold_tap->position, hold_tap->param_hold, 0); } else { - behavior = &tap_hold->config->behaviors->tap; + behavior = &hold_tap->config->behaviors->tap; struct device *behavior_device = device_get_binding(behavior->behavior_dev); - behavior_keymap_binding_released(behavior_device, tap_hold->position, tap_hold->param_tap, 0); + behavior_keymap_binding_released(behavior_device, hold_tap->position, hold_tap->param_tap, 0); } if (work_cancel_result == -EINPROGRESS) { // let the timer handler clean up - // if we'd clear now, the timer may call back for an uninitialized active_tap_hold. - LOG_DBG("%d tap-hold timer work in event queue", position); - tap_hold->work_is_cancelled = true; + // if we'd clear now, the timer may call back for an uninitialized active_hold_tap. + LOG_DBG("%d hold-tap timer work in event queue", position); + hold_tap->work_is_cancelled = true; } else { - LOG_DBG("%d cleaning up tap-hold", position); - clear_tap_hold(tap_hold); + LOG_DBG("%d cleaning up hold-tap", position); + clear_hold_tap(hold_tap); } return 0; } -static const struct behavior_driver_api behavior_tap_hold_driver_api = { - .binding_pressed = on_tap_hold_binding_pressed, - .binding_released = on_tap_hold_binding_released, +static const struct behavior_driver_api behavior_hold_tap_driver_api = { + .binding_pressed = on_hold_tap_binding_pressed, + .binding_released = on_hold_tap_binding_released, }; @@ -359,17 +359,17 @@ static int position_state_changed_listener(const struct zmk_event_header *eh) { struct position_state_changed *ev = cast_position_state_changed(eh); - if (undecided_tap_hold == NULL) { - LOG_DBG("%d bubble (no undecided tap_hold active)", ev->position); + if (undecided_hold_tap == NULL) { + LOG_DBG("%d bubble (no undecided hold_tap active)", ev->position); return 0; } - if (undecided_tap_hold->position == ev->position) { + if (undecided_hold_tap->position == ev->position) { if (ev->state) { // keydown - LOG_ERR("tap-hold listener should be called before before most other listeners!"); + LOG_ERR("hold-tap listener should be called before before most other listeners!"); return 0; } else { // keyup - LOG_DBG("%d bubble undecided tap-hold keyrelease event", undecided_tap_hold->position); + LOG_DBG("%d bubble undecided hold-tap keyrelease event", undecided_hold_tap->position); return 0; } } @@ -377,13 +377,13 @@ static int position_state_changed_listener(const struct zmk_event_header *eh) if (!ev->state && find_captured_keydown_event(ev->position) == NULL) { // no keydown event has been captured, let it bubble. // we'll catch modifiers later in modifier_state_changed_listener - LOG_DBG("%d bubbling %d %s event", undecided_tap_hold->position, ev->position, ev->state ? "down" : "up"); + LOG_DBG("%d bubbling %d %s event", undecided_hold_tap->position, ev->position, ev->state ? "down" : "up"); return 0; } - LOG_DBG("%d capturing %d %s event", undecided_tap_hold->position, ev->position, ev->state ? "down" : "up"); + LOG_DBG("%d capturing %d %s event", undecided_hold_tap->position, ev->position, ev->state ? "down" : "up"); capture_event(eh); - decide_tap_hold(undecided_tap_hold, ev->state ? TH_OTHER_KEY_DOWN : TH_OTHER_KEY_UP); + decide_hold_tap(undecided_hold_tap, ev->state ? HT_OTHER_KEY_DOWN : HT_OTHER_KEY_UP); return ZMK_EV_EVENT_CAPTURED; } @@ -397,8 +397,8 @@ static int keycode_state_changed_listener(const struct zmk_event_header *eh) // we want to catch layer-up events too... how? struct keycode_state_changed *ev = cast_keycode_state_changed(eh); - if (undecided_tap_hold == NULL) { - // LOG_DBG("0x%02X bubble (no undecided tap_hold active)", ev->keycode); + if (undecided_hold_tap == NULL) { + // LOG_DBG("0x%02X bubble (no undecided hold_tap active)", ev->keycode); return 0; } @@ -408,14 +408,14 @@ static int keycode_state_changed_listener(const struct zmk_event_header *eh) } // only key-up events will bubble through position_state_changed_listener - // if a undecided_tap_hold is active. - LOG_DBG("%d capturing 0x%02X %s event", undecided_tap_hold->position, ev->keycode, ev->state ? "down" : "up"); + // if a undecided_hold_tap is active. + LOG_DBG("%d capturing 0x%02X %s event", undecided_hold_tap->position, ev->keycode, ev->state ? "down" : "up"); capture_event(eh); return ZMK_EV_EVENT_CAPTURED; } -int behavior_tap_hold_listener(const struct zmk_event_header *eh) +int behavior_hold_tap_listener(const struct zmk_event_header *eh) { if (is_position_state_changed(eh)) { return position_state_changed_listener(eh); @@ -425,39 +425,39 @@ int behavior_tap_hold_listener(const struct zmk_event_header *eh) return 0; } -ZMK_LISTENER(behavior_tap_hold, behavior_tap_hold_listener); -ZMK_SUBSCRIPTION(behavior_tap_hold, position_state_changed); +ZMK_LISTENER(behavior_hold_tap, behavior_hold_tap_listener); +ZMK_SUBSCRIPTION(behavior_hold_tap, position_state_changed); // this should be modifiers_state_changed, but unfrotunately that's not implemented yet. -ZMK_SUBSCRIPTION(behavior_tap_hold, keycode_state_changed); +ZMK_SUBSCRIPTION(behavior_hold_tap, keycode_state_changed); /************************************************************ TIMER FUNCTIONS */ -void behavior_tap_hold_timer_work_handler(struct k_work *item) +void behavior_hold_tap_timer_work_handler(struct k_work *item) { - struct active_tap_hold *tap_hold = CONTAINER_OF(item, struct active_tap_hold, work); + struct active_hold_tap *hold_tap = CONTAINER_OF(item, struct active_hold_tap, work); - if (tap_hold->work_is_cancelled) { - clear_tap_hold(tap_hold); + if (hold_tap->work_is_cancelled) { + clear_hold_tap(hold_tap); } else { - decide_tap_hold(tap_hold, TH_TIMER_EVENT); + decide_hold_tap(hold_tap, HT_TIMER_EVENT); } } -static int behavior_tap_hold_init(struct device *dev) +static int behavior_hold_tap_init(struct device *dev) { static bool init_first_run = true; if (init_first_run) { - for (int i = 0; i < ZMK_BHV_TAP_HOLD_MAX_HELD; i++) { - k_delayed_work_init(&active_tap_holds[i].work, behavior_tap_hold_timer_work_handler); - active_tap_holds[i].position = ZMK_BHV_TAP_HOLD_POSITION_NOT_USED; + for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_HELD; i++) { + k_delayed_work_init(&active_hold_taps[i].work, behavior_hold_tap_timer_work_handler); + active_hold_taps[i].position = ZMK_BHV_HOLD_TAP_POSITION_NOT_USED; } } init_first_run = false; return 0; } -struct behavior_tap_hold_data {}; -static struct behavior_tap_hold_data behavior_tap_hold_data; +struct behavior_hold_tap_data {}; +static struct behavior_hold_tap_data behavior_hold_tap_data; /************************************************************ NODE CONFIG */ #define _TRANSFORM_ENTRY(idx, node) \ @@ -468,22 +468,22 @@ static struct behavior_tap_hold_data behavior_tap_hold_data; }, #define KP_INST(n) \ - static k_timeout_t behavior_tap_hold_config_##n##_gettime() { return K_MSEC(DT_INST_PROP(n, tapping_term_ms)); } \ - static struct behavior_tap_hold_behaviors behavior_tap_hold_behaviors_##n = { \ + static k_timeout_t behavior_hold_tap_config_##n##_gettime() { return K_MSEC(DT_INST_PROP(n, tapping_term_ms)); } \ + static struct behavior_hold_tap_behaviors behavior_hold_tap_behaviors_##n = { \ .hold = _TRANSFORM_ENTRY(0, n) \ .tap = _TRANSFORM_ENTRY(1, n) \ }; \ - static struct behavior_tap_hold_config behavior_tap_hold_config_##n = { \ - .behaviors = &behavior_tap_hold_behaviors_##n, \ - .tapping_term_ms = &behavior_tap_hold_config_##n##_gettime, \ + static struct behavior_hold_tap_config behavior_hold_tap_config_##n = { \ + .behaviors = &behavior_hold_tap_behaviors_##n, \ + .tapping_term_ms = &behavior_hold_tap_config_##n##_gettime, \ .flavor = DT_INST_PROP(n, flavor), \ }; \ DEVICE_AND_API_INIT( \ - behavior_tap_hold_##n, DT_INST_LABEL(n), behavior_tap_hold_init, \ - &behavior_tap_hold_data, \ - &behavior_tap_hold_config_##n, \ + behavior_hold_tap_##n, DT_INST_LABEL(n), behavior_hold_tap_init, \ + &behavior_hold_tap_data, \ + &behavior_hold_tap_config_##n, \ APPLICATION, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, \ - &behavior_tap_hold_driver_api); + &behavior_hold_tap_driver_api); DT_INST_FOREACH_STATUS_OKAY(KP_INST) diff --git a/app/tests/hold-tap/balanced/1/events.patterns b/app/tests/hold-tap/balanced/1/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/1/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/balanced/1/keycode_events.snapshot b/app/tests/hold-tap/balanced/1/keycode_events.snapshot new file mode 100644 index 00000000..5f6a2668 --- /dev/null +++ b/app/tests/hold-tap/balanced/1/keycode_events.snapshot @@ -0,0 +1,5 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided tap (balanced event 0) +kp_pressed: usage_page 0x07 keycode 0x09 +kp_released: usage_page 0x07 keycode 0x09 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/1/native_posix.keymap b/app/tests/hold-tap/balanced/1/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/1/native_posix.keymap rename to app/tests/hold-tap/balanced/1/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/2/events.patterns b/app/tests/hold-tap/balanced/2/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/2/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/balanced/2/keycode_events.snapshot b/app/tests/hold-tap/balanced/2/keycode_events.snapshot new file mode 100644 index 00000000..ddda1ae4 --- /dev/null +++ b/app/tests/hold-tap/balanced/2/keycode_events.snapshot @@ -0,0 +1,5 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (balanced event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/2/native_posix.keymap b/app/tests/hold-tap/balanced/2/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/2/native_posix.keymap rename to app/tests/hold-tap/balanced/2/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/3a/events.patterns b/app/tests/hold-tap/balanced/3a/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/3a/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/3a/keycode_events.snapshot b/app/tests/hold-tap/balanced/3a/keycode_events.snapshot similarity index 55% rename from app/tests/tap-hold/balanced/3a/keycode_events.snapshot rename to app/tests/hold-tap/balanced/3a/keycode_events.snapshot index 20061728..12098240 100644 --- a/app/tests/tap-hold/balanced/3a/keycode_events.snapshot +++ b/app/tests/hold-tap/balanced/3a/keycode_events.snapshot @@ -1,7 +1,7 @@ kp_pressed: usage_page 0x07 keycode 0xe4 -th_binding_pressed: 0 new undecided tap_hold +ht_binding_pressed: 0 new undecided hold_tap kp_released: usage_page 0x07 keycode 0xe4 -th_decide: 0 decided tap (balanced event 0) +ht_decide: 0 decided tap (balanced event 0) kp_pressed: usage_page 0x07 keycode 0x09 kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/3a/native_posix.keymap b/app/tests/hold-tap/balanced/3a/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/3a/native_posix.keymap rename to app/tests/hold-tap/balanced/3a/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/3b/events.patterns b/app/tests/hold-tap/balanced/3b/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/3b/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/3b/keycode_events.snapshot b/app/tests/hold-tap/balanced/3b/keycode_events.snapshot similarity index 55% rename from app/tests/tap-hold/balanced/3b/keycode_events.snapshot rename to app/tests/hold-tap/balanced/3b/keycode_events.snapshot index 12c1e28e..c0da94fd 100644 --- a/app/tests/tap-hold/balanced/3b/keycode_events.snapshot +++ b/app/tests/hold-tap/balanced/3b/keycode_events.snapshot @@ -1,7 +1,7 @@ kp_pressed: usage_page 0x07 keycode 0xe4 -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (balanced event 3) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (balanced event 3) kp_pressed: usage_page 0x07 keycode 0xe1 kp_released: usage_page 0x07 keycode 0xe4 kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/3b/native_posix.keymap b/app/tests/hold-tap/balanced/3b/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/3b/native_posix.keymap rename to app/tests/hold-tap/balanced/3b/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/3c/events.patterns b/app/tests/hold-tap/balanced/3c/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/3c/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/3c/keycode_events.snapshot b/app/tests/hold-tap/balanced/3c/keycode_events.snapshot similarity index 55% rename from app/tests/tap-hold/balanced/3c/keycode_events.snapshot rename to app/tests/hold-tap/balanced/3c/keycode_events.snapshot index c29bc9ed..ce6e7b7c 100644 --- a/app/tests/tap-hold/balanced/3c/keycode_events.snapshot +++ b/app/tests/hold-tap/balanced/3c/keycode_events.snapshot @@ -1,7 +1,7 @@ kp_pressed: usage_page 0x07 keycode 0x07 -th_binding_pressed: 0 new undecided tap_hold +ht_binding_pressed: 0 new undecided hold_tap kp_released: usage_page 0x07 keycode 0x07 -th_decide: 0 decided tap (balanced event 0) +ht_decide: 0 decided tap (balanced event 0) kp_pressed: usage_page 0x07 keycode 0x09 kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/3c/native_posix.keymap b/app/tests/hold-tap/balanced/3c/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/3c/native_posix.keymap rename to app/tests/hold-tap/balanced/3c/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/3d/events.patterns b/app/tests/hold-tap/balanced/3d/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/3d/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/4a/keycode_events.snapshot b/app/tests/hold-tap/balanced/3d/keycode_events.snapshot similarity index 55% rename from app/tests/tap-hold/balanced/4a/keycode_events.snapshot rename to app/tests/hold-tap/balanced/3d/keycode_events.snapshot index 2ca556d7..1ec384a6 100644 --- a/app/tests/tap-hold/balanced/4a/keycode_events.snapshot +++ b/app/tests/hold-tap/balanced/3d/keycode_events.snapshot @@ -1,7 +1,7 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (balanced event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 kp_pressed: usage_page 0x07 keycode 0x07 +ht_binding_pressed: 0 new undecided hold_tap kp_released: usage_page 0x07 keycode 0x07 +ht_decide: 0 decided hold (balanced event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/3d/native_posix.keymap b/app/tests/hold-tap/balanced/3d/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/3d/native_posix.keymap rename to app/tests/hold-tap/balanced/3d/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/4a-nested/events.patterns b/app/tests/hold-tap/balanced/4a-nested/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/4a-nested/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/balanced/4a-nested/keycode_events.snapshot b/app/tests/hold-tap/balanced/4a-nested/keycode_events.snapshot new file mode 100644 index 00000000..8a1980b8 --- /dev/null +++ b/app/tests/hold-tap/balanced/4a-nested/keycode_events.snapshot @@ -0,0 +1,10 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (balanced event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 +ht_binding_pressed: 1 new undecided hold_tap +ht_decide: 1 decided tap (balanced event 0) +kp_pressed: usage_page 0x07 keycode 0x0d +kp_released: usage_page 0x07 keycode 0x0d +ht_binding_released: 1 cleaning up hold-tap +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/4a-nested/native_posix.keymap b/app/tests/hold-tap/balanced/4a-nested/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/4a-nested/native_posix.keymap rename to app/tests/hold-tap/balanced/4a-nested/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/4a/events.patterns b/app/tests/hold-tap/balanced/4a/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/4a/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/4b/keycode_events.snapshot b/app/tests/hold-tap/balanced/4a/keycode_events.snapshot similarity index 55% rename from app/tests/tap-hold/balanced/4b/keycode_events.snapshot rename to app/tests/hold-tap/balanced/4a/keycode_events.snapshot index 899806e5..b89b21dc 100644 --- a/app/tests/tap-hold/balanced/4b/keycode_events.snapshot +++ b/app/tests/hold-tap/balanced/4a/keycode_events.snapshot @@ -1,7 +1,7 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (balanced event 2) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (balanced event 3) kp_pressed: usage_page 0x07 keycode 0xe1 kp_pressed: usage_page 0x07 keycode 0x07 kp_released: usage_page 0x07 keycode 0x07 kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/4a/native_posix.keymap b/app/tests/hold-tap/balanced/4a/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/4a/native_posix.keymap rename to app/tests/hold-tap/balanced/4a/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/4b/events.patterns b/app/tests/hold-tap/balanced/4b/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/4b/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/3d/keycode_events.snapshot b/app/tests/hold-tap/balanced/4b/keycode_events.snapshot similarity index 55% rename from app/tests/tap-hold/balanced/3d/keycode_events.snapshot rename to app/tests/hold-tap/balanced/4b/keycode_events.snapshot index a42e972f..798e2eed 100644 --- a/app/tests/tap-hold/balanced/3d/keycode_events.snapshot +++ b/app/tests/hold-tap/balanced/4b/keycode_events.snapshot @@ -1,7 +1,7 @@ -kp_pressed: usage_page 0x07 keycode 0x07 -th_binding_pressed: 0 new undecided tap_hold -kp_released: usage_page 0x07 keycode 0x07 -th_decide: 0 decided hold (balanced event 3) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (balanced event 2) kp_pressed: usage_page 0x07 keycode 0xe1 +kp_pressed: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0x07 kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/4b/native_posix.keymap b/app/tests/hold-tap/balanced/4b/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/4b/native_posix.keymap rename to app/tests/hold-tap/balanced/4b/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/4c/events.patterns b/app/tests/hold-tap/balanced/4c/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/4c/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/4c/keycode_events.snapshot b/app/tests/hold-tap/balanced/4c/keycode_events.snapshot similarity index 55% rename from app/tests/tap-hold/balanced/4c/keycode_events.snapshot rename to app/tests/hold-tap/balanced/4c/keycode_events.snapshot index 899806e5..798e2eed 100644 --- a/app/tests/tap-hold/balanced/4c/keycode_events.snapshot +++ b/app/tests/hold-tap/balanced/4c/keycode_events.snapshot @@ -1,7 +1,7 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (balanced event 2) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (balanced event 2) kp_pressed: usage_page 0x07 keycode 0xe1 kp_pressed: usage_page 0x07 keycode 0x07 kp_released: usage_page 0x07 keycode 0x07 kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/balanced/4c/native_posix.keymap b/app/tests/hold-tap/balanced/4c/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/4c/native_posix.keymap rename to app/tests/hold-tap/balanced/4c/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/4d/events.patterns b/app/tests/hold-tap/balanced/4d/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/balanced/4d/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/4d/keycode_events.snapshot b/app/tests/hold-tap/balanced/4d/keycode_events.snapshot similarity index 55% rename from app/tests/tap-hold/balanced/4d/keycode_events.snapshot rename to app/tests/hold-tap/balanced/4d/keycode_events.snapshot index 40be1e3f..5c9f4e33 100644 --- a/app/tests/tap-hold/balanced/4d/keycode_events.snapshot +++ b/app/tests/hold-tap/balanced/4d/keycode_events.snapshot @@ -1,7 +1,7 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided tap (balanced event 0) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided tap (balanced event 0) kp_pressed: usage_page 0x07 keycode 0x09 kp_pressed: usage_page 0x07 keycode 0x07 kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap kp_released: usage_page 0x07 keycode 0x07 diff --git a/app/tests/tap-hold/balanced/4d/native_posix.keymap b/app/tests/hold-tap/balanced/4d/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/balanced/4d/native_posix.keymap rename to app/tests/hold-tap/balanced/4d/native_posix.keymap diff --git a/app/tests/hold-tap/balanced/behavior_keymap.dtsi b/app/tests/hold-tap/balanced/behavior_keymap.dtsi new file mode 100644 index 00000000..df56fb5b --- /dev/null +++ b/app/tests/hold-tap/balanced/behavior_keymap.dtsi @@ -0,0 +1,27 @@ +#include +#include +#include + +/ { + behaviors { + ht_bal: behavior_hold_tap_balanced { + compatible = "zmk,behavior-hold-tap"; + label = "HOLD_TAP_BALANCED"; + #binding-cells = <2>; + flavor = "balanced"; + tapping_term_ms = <300>; + bindings = <&kp>, <&kp>; + }; + }; + + keymap { + compatible = "zmk,keymap"; + label ="Default keymap"; + + default_layer { + bindings = < + &ht_bal LSFT F &ht_bal LCTL J + &kp D &kp RCTL>; + }; + }; +}; diff --git a/app/tests/hold-tap/hold-preferred/1/events.patterns b/app/tests/hold-tap/hold-preferred/1/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/1/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/hold-preferred/1/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/1/keycode_events.snapshot new file mode 100644 index 00000000..cf787d8d --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/1/keycode_events.snapshot @@ -0,0 +1,5 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided tap (hold-preferred event 0) +kp_pressed: usage_page 0x07 keycode 0x09 +kp_released: usage_page 0x07 keycode 0x09 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/1/native_posix.keymap b/app/tests/hold-tap/hold-preferred/1/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/1/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/1/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/2/events.patterns b/app/tests/hold-tap/hold-preferred/2/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/2/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/hold-preferred/2/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/2/keycode_events.snapshot new file mode 100644 index 00000000..03329d53 --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/2/keycode_events.snapshot @@ -0,0 +1,5 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (hold-preferred event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/2/native_posix.keymap b/app/tests/hold-tap/hold-preferred/2/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/2/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/2/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/3a/events.patterns b/app/tests/hold-tap/hold-preferred/3a/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/3a/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/3a/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/3a/keycode_events.snapshot similarity index 54% rename from app/tests/tap-hold/hold-preferred/3a/keycode_events.snapshot rename to app/tests/hold-tap/hold-preferred/3a/keycode_events.snapshot index d996c894..adf4fe23 100644 --- a/app/tests/tap-hold/hold-preferred/3a/keycode_events.snapshot +++ b/app/tests/hold-tap/hold-preferred/3a/keycode_events.snapshot @@ -1,7 +1,7 @@ kp_pressed: usage_page 0x07 keycode 0xe4 -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided tap (hold-preferred event 0) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided tap (hold-preferred event 0) kp_pressed: usage_page 0x07 keycode 0x09 kp_released: usage_page 0x07 keycode 0xe4 kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/3a/native_posix.keymap b/app/tests/hold-tap/hold-preferred/3a/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/3a/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/3a/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/3b/events.patterns b/app/tests/hold-tap/hold-preferred/3b/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/3b/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/3b/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/3b/keycode_events.snapshot similarity index 54% rename from app/tests/tap-hold/hold-preferred/3b/keycode_events.snapshot rename to app/tests/hold-tap/hold-preferred/3b/keycode_events.snapshot index 2b649e08..69b64a96 100644 --- a/app/tests/tap-hold/hold-preferred/3b/keycode_events.snapshot +++ b/app/tests/hold-tap/hold-preferred/3b/keycode_events.snapshot @@ -1,7 +1,7 @@ kp_pressed: usage_page 0x07 keycode 0xe4 -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (hold-preferred event 3) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (hold-preferred event 3) kp_pressed: usage_page 0x07 keycode 0xe1 kp_released: usage_page 0x07 keycode 0xe4 kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/3b/native_posix.keymap b/app/tests/hold-tap/hold-preferred/3b/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/3b/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/3b/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/3c/events.patterns b/app/tests/hold-tap/hold-preferred/3c/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/3c/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/3c/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/3c/keycode_events.snapshot similarity index 54% rename from app/tests/tap-hold/hold-preferred/3c/keycode_events.snapshot rename to app/tests/hold-tap/hold-preferred/3c/keycode_events.snapshot index cd57c0a2..b06a1d76 100644 --- a/app/tests/tap-hold/hold-preferred/3c/keycode_events.snapshot +++ b/app/tests/hold-tap/hold-preferred/3c/keycode_events.snapshot @@ -1,7 +1,7 @@ kp_pressed: usage_page 0x07 keycode 0x07 -th_binding_pressed: 0 new undecided tap_hold +ht_binding_pressed: 0 new undecided hold_tap kp_released: usage_page 0x07 keycode 0x07 -th_decide: 0 decided tap (hold-preferred event 0) +ht_decide: 0 decided tap (hold-preferred event 0) kp_pressed: usage_page 0x07 keycode 0x09 kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/3c/native_posix.keymap b/app/tests/hold-tap/hold-preferred/3c/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/3c/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/3c/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/3d/events.patterns b/app/tests/hold-tap/hold-preferred/3d/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/3d/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/hold-preferred/3d/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/3d/keycode_events.snapshot new file mode 100644 index 00000000..bf31955b --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/3d/keycode_events.snapshot @@ -0,0 +1,7 @@ +kp_pressed: usage_page 0x07 keycode 0x07 +ht_binding_pressed: 0 new undecided hold_tap +kp_released: usage_page 0x07 keycode 0x07 +ht_decide: 0 decided hold (hold-preferred event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/3d/native_posix.keymap b/app/tests/hold-tap/hold-preferred/3d/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/3d/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/3d/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/4a-nested/events.patterns b/app/tests/hold-tap/hold-preferred/4a-nested/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4a-nested/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/hold-preferred/4a-nested/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/4a-nested/keycode_events.snapshot new file mode 100644 index 00000000..3ed7de0d --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4a-nested/keycode_events.snapshot @@ -0,0 +1,10 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (hold-preferred event 1) +kp_pressed: usage_page 0x07 keycode 0xe1 +ht_binding_pressed: 1 new undecided hold_tap +ht_decide: 1 decided tap (hold-preferred event 0) +kp_pressed: usage_page 0x07 keycode 0x0d +kp_released: usage_page 0x07 keycode 0x0d +ht_binding_released: 1 cleaning up hold-tap +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/4a-nested/native_posix.keymap b/app/tests/hold-tap/hold-preferred/4a-nested/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/4a-nested/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/4a-nested/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/4a/events.patterns b/app/tests/hold-tap/hold-preferred/4a/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4a/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/hold-preferred/4a/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/4a/keycode_events.snapshot new file mode 100644 index 00000000..e0b57fd4 --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4a/keycode_events.snapshot @@ -0,0 +1,7 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (hold-preferred event 1) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_pressed: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/4a/native_posix.keymap b/app/tests/hold-tap/hold-preferred/4a/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/4a/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/4a/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/4b/events.patterns b/app/tests/hold-tap/hold-preferred/4b/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4b/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/hold-preferred/4b/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/4b/keycode_events.snapshot new file mode 100644 index 00000000..e0b57fd4 --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4b/keycode_events.snapshot @@ -0,0 +1,7 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (hold-preferred event 1) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_pressed: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/4b/native_posix.keymap b/app/tests/hold-tap/hold-preferred/4b/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/4b/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/4b/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/4c/events.patterns b/app/tests/hold-tap/hold-preferred/4c/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4c/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/hold-preferred/4c/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/4c/keycode_events.snapshot new file mode 100644 index 00000000..e0b57fd4 --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4c/keycode_events.snapshot @@ -0,0 +1,7 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (hold-preferred event 1) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_pressed: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/hold-preferred/4c/native_posix.keymap b/app/tests/hold-tap/hold-preferred/4c/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/4c/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/4c/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/4d/events.patterns b/app/tests/hold-tap/hold-preferred/4d/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4d/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/hold-preferred/4d/keycode_events.snapshot b/app/tests/hold-tap/hold-preferred/4d/keycode_events.snapshot new file mode 100644 index 00000000..cac579d2 --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/4d/keycode_events.snapshot @@ -0,0 +1,7 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (hold-preferred event 1) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_pressed: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap +kp_released: usage_page 0x07 keycode 0x07 diff --git a/app/tests/tap-hold/hold-preferred/4d/native_posix.keymap b/app/tests/hold-tap/hold-preferred/4d/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/hold-preferred/4d/native_posix.keymap rename to app/tests/hold-tap/hold-preferred/4d/native_posix.keymap diff --git a/app/tests/hold-tap/hold-preferred/behavior_keymap.dtsi b/app/tests/hold-tap/hold-preferred/behavior_keymap.dtsi new file mode 100644 index 00000000..375ffd93 --- /dev/null +++ b/app/tests/hold-tap/hold-preferred/behavior_keymap.dtsi @@ -0,0 +1,29 @@ +#include +#include +#include + + + +/ { + behaviors { + ht_hold: behavior_hold_hold_tap { + compatible = "zmk,behavior-hold-tap"; + label = "hold_hold_tap"; + #binding-cells = <2>; + flavor = "hold-preferred"; + tapping_term_ms = <300>; + bindings = <&kp>, <&kp>; + }; + }; + + keymap { + compatible = "zmk,keymap"; + label ="Default keymap"; + + default_layer { + bindings = < + &ht_hold LSFT F &ht_hold LCTL J + &kp D &kp RCTL>; + }; + }; +}; diff --git a/app/tests/hold-tap/tap-preferred/1/events.patterns b/app/tests/hold-tap/tap-preferred/1/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/1/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/tap-preferred/1/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/1/keycode_events.snapshot new file mode 100644 index 00000000..2a250fb8 --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/1/keycode_events.snapshot @@ -0,0 +1,5 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided tap (tap-preferred event 0) +kp_pressed: usage_page 0x07 keycode 0x09 +kp_released: usage_page 0x07 keycode 0x09 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/1/native_posix.keymap b/app/tests/hold-tap/tap-preferred/1/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/1/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/1/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/2/events.patterns b/app/tests/hold-tap/tap-preferred/2/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/2/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/tap-preferred/2/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/2/keycode_events.snapshot new file mode 100644 index 00000000..4f1ee635 --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/2/keycode_events.snapshot @@ -0,0 +1,5 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (tap-preferred event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/2/native_posix.keymap b/app/tests/hold-tap/tap-preferred/2/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/2/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/2/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/3a/events.patterns b/app/tests/hold-tap/tap-preferred/3a/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/3a/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/3a/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/3a/keycode_events.snapshot similarity index 54% rename from app/tests/tap-hold/tap-preferred/3a/keycode_events.snapshot rename to app/tests/hold-tap/tap-preferred/3a/keycode_events.snapshot index af639669..87d1406a 100644 --- a/app/tests/tap-hold/tap-preferred/3a/keycode_events.snapshot +++ b/app/tests/hold-tap/tap-preferred/3a/keycode_events.snapshot @@ -1,7 +1,7 @@ kp_pressed: usage_page 0x07 keycode 0xe4 -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided tap (tap-preferred event 0) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided tap (tap-preferred event 0) kp_pressed: usage_page 0x07 keycode 0x09 kp_released: usage_page 0x07 keycode 0xe4 kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/3a/native_posix.keymap b/app/tests/hold-tap/tap-preferred/3a/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/3a/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/3a/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/3b/events.patterns b/app/tests/hold-tap/tap-preferred/3b/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/3b/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/3b/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/3b/keycode_events.snapshot similarity index 54% rename from app/tests/tap-hold/tap-preferred/3b/keycode_events.snapshot rename to app/tests/hold-tap/tap-preferred/3b/keycode_events.snapshot index cbbbcfeb..7455d2a3 100644 --- a/app/tests/tap-hold/tap-preferred/3b/keycode_events.snapshot +++ b/app/tests/hold-tap/tap-preferred/3b/keycode_events.snapshot @@ -1,7 +1,7 @@ kp_pressed: usage_page 0x07 keycode 0xe4 -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (tap-preferred event 3) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (tap-preferred event 3) kp_pressed: usage_page 0x07 keycode 0xe1 kp_released: usage_page 0x07 keycode 0xe4 kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/3b/native_posix.keymap b/app/tests/hold-tap/tap-preferred/3b/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/3b/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/3b/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/3c/events.patterns b/app/tests/hold-tap/tap-preferred/3c/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/3c/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/4c/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/3c/keycode_events.snapshot similarity index 54% rename from app/tests/tap-hold/tap-preferred/4c/keycode_events.snapshot rename to app/tests/hold-tap/tap-preferred/3c/keycode_events.snapshot index f6fc788f..3d7eaf1a 100644 --- a/app/tests/tap-hold/tap-preferred/4c/keycode_events.snapshot +++ b/app/tests/hold-tap/tap-preferred/3c/keycode_events.snapshot @@ -1,7 +1,7 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided tap (tap-preferred event 0) -kp_pressed: usage_page 0x07 keycode 0x09 kp_pressed: usage_page 0x07 keycode 0x07 +ht_binding_pressed: 0 new undecided hold_tap kp_released: usage_page 0x07 keycode 0x07 +ht_decide: 0 decided tap (tap-preferred event 0) +kp_pressed: usage_page 0x07 keycode 0x09 kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/3c/native_posix.keymap b/app/tests/hold-tap/tap-preferred/3c/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/3c/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/3c/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/3d/events.patterns b/app/tests/hold-tap/tap-preferred/3d/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/3d/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/tap-preferred/3d/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/3d/keycode_events.snapshot new file mode 100644 index 00000000..059d99c5 --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/3d/keycode_events.snapshot @@ -0,0 +1,7 @@ +kp_pressed: usage_page 0x07 keycode 0x07 +ht_binding_pressed: 0 new undecided hold_tap +kp_released: usage_page 0x07 keycode 0x07 +ht_decide: 0 decided hold (tap-preferred event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/3d/native_posix.keymap b/app/tests/hold-tap/tap-preferred/3d/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/3d/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/3d/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/4a-nested/events.patterns b/app/tests/hold-tap/tap-preferred/4a-nested/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/4a-nested/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/tap-preferred/4a-nested/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/4a-nested/keycode_events.snapshot new file mode 100644 index 00000000..a8cf4907 --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/4a-nested/keycode_events.snapshot @@ -0,0 +1,10 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (tap-preferred event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 +ht_binding_pressed: 1 new undecided hold_tap +ht_decide: 1 decided tap (tap-preferred event 0) +kp_pressed: usage_page 0x07 keycode 0x0d +kp_released: usage_page 0x07 keycode 0x0d +ht_binding_released: 1 cleaning up hold-tap +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/4a-nested/native_posix.keymap b/app/tests/hold-tap/tap-preferred/4a-nested/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/4a-nested/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/4a-nested/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/4a/events.patterns b/app/tests/hold-tap/tap-preferred/4a/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/4a/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/tap-preferred/4a/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/4a/keycode_events.snapshot new file mode 100644 index 00000000..92a3569a --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/4a/keycode_events.snapshot @@ -0,0 +1,7 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (tap-preferred event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_pressed: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/4a/native_posix.keymap b/app/tests/hold-tap/tap-preferred/4a/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/4a/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/4a/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/4b/events.patterns b/app/tests/hold-tap/tap-preferred/4b/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/4b/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/tap-preferred/4b/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/4b/keycode_events.snapshot new file mode 100644 index 00000000..92a3569a --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/4b/keycode_events.snapshot @@ -0,0 +1,7 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided hold (tap-preferred event 3) +kp_pressed: usage_page 0x07 keycode 0xe1 +kp_pressed: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0xe1 +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/4b/native_posix.keymap b/app/tests/hold-tap/tap-preferred/4b/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/4b/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/4b/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/4c/events.patterns b/app/tests/hold-tap/tap-preferred/4c/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/4c/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/3c/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/4c/keycode_events.snapshot similarity index 54% rename from app/tests/tap-hold/tap-preferred/3c/keycode_events.snapshot rename to app/tests/hold-tap/tap-preferred/4c/keycode_events.snapshot index 757d4157..bc8aa8e3 100644 --- a/app/tests/tap-hold/tap-preferred/3c/keycode_events.snapshot +++ b/app/tests/hold-tap/tap-preferred/4c/keycode_events.snapshot @@ -1,7 +1,7 @@ -kp_pressed: usage_page 0x07 keycode 0x07 -th_binding_pressed: 0 new undecided tap_hold -kp_released: usage_page 0x07 keycode 0x07 -th_decide: 0 decided tap (tap-preferred event 0) +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided tap (tap-preferred event 0) kp_pressed: usage_page 0x07 keycode 0x09 +kp_pressed: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0x07 kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold +ht_binding_released: 0 cleaning up hold-tap diff --git a/app/tests/tap-hold/tap-preferred/4c/native_posix.keymap b/app/tests/hold-tap/tap-preferred/4c/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/4c/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/4c/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/4d/events.patterns b/app/tests/hold-tap/tap-preferred/4d/events.patterns new file mode 100644 index 00000000..fdf2b15c --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/4d/events.patterns @@ -0,0 +1,4 @@ +s/.*hid_listener_keycode/kp/p +s/.*mo_keymap_binding/mo/p +s/.*on_hold_tap_binding/ht_binding/p +s/.*decide_hold_tap/ht_decide/p \ No newline at end of file diff --git a/app/tests/hold-tap/tap-preferred/4d/keycode_events.snapshot b/app/tests/hold-tap/tap-preferred/4d/keycode_events.snapshot new file mode 100644 index 00000000..b106f136 --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/4d/keycode_events.snapshot @@ -0,0 +1,7 @@ +ht_binding_pressed: 0 new undecided hold_tap +ht_decide: 0 decided tap (tap-preferred event 0) +kp_pressed: usage_page 0x07 keycode 0x09 +kp_pressed: usage_page 0x07 keycode 0x07 +kp_released: usage_page 0x07 keycode 0x09 +ht_binding_released: 0 cleaning up hold-tap +kp_released: usage_page 0x07 keycode 0x07 diff --git a/app/tests/tap-hold/tap-preferred/4d/native_posix.keymap b/app/tests/hold-tap/tap-preferred/4d/native_posix.keymap similarity index 100% rename from app/tests/tap-hold/tap-preferred/4d/native_posix.keymap rename to app/tests/hold-tap/tap-preferred/4d/native_posix.keymap diff --git a/app/tests/hold-tap/tap-preferred/behavior_keymap.dtsi b/app/tests/hold-tap/tap-preferred/behavior_keymap.dtsi new file mode 100644 index 00000000..e514fa65 --- /dev/null +++ b/app/tests/hold-tap/tap-preferred/behavior_keymap.dtsi @@ -0,0 +1,27 @@ +#include +#include +#include + +/ { + behaviors { + tp: behavior_tap_preferred { + compatible = "zmk,behavior-hold-tap"; + label = "MOD_TAP"; + #binding-cells = <2>; + flavor = "tap-preferred"; + tapping_term_ms = <300>; + bindings = <&kp>, <&kp>; + }; + }; + + keymap { + compatible = "zmk,keymap"; + label ="Default keymap"; + + default_layer { + bindings = < + &tp LSFT F &tp LCTL J + &kp D &kp RCTL>; + }; + }; +}; diff --git a/app/tests/tap-hold/zmk-modtap-proposal.odg b/app/tests/hold-tap/zmk-modtap-proposal.odg similarity index 100% rename from app/tests/tap-hold/zmk-modtap-proposal.odg rename to app/tests/hold-tap/zmk-modtap-proposal.odg diff --git a/app/tests/tap-hold/zmk-modtap-proposal.pdf b/app/tests/hold-tap/zmk-modtap-proposal.pdf similarity index 100% rename from app/tests/tap-hold/zmk-modtap-proposal.pdf rename to app/tests/hold-tap/zmk-modtap-proposal.pdf diff --git a/app/tests/tap-hold/balanced/1/events.patterns b/app/tests/tap-hold/balanced/1/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/1/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/1/keycode_events.snapshot b/app/tests/tap-hold/balanced/1/keycode_events.snapshot deleted file mode 100644 index b506b791..00000000 --- a/app/tests/tap-hold/balanced/1/keycode_events.snapshot +++ /dev/null @@ -1,5 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided tap (balanced event 0) -kp_pressed: usage_page 0x07 keycode 0x09 -kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/balanced/2/events.patterns b/app/tests/tap-hold/balanced/2/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/2/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/2/keycode_events.snapshot b/app/tests/tap-hold/balanced/2/keycode_events.snapshot deleted file mode 100644 index ea302d0a..00000000 --- a/app/tests/tap-hold/balanced/2/keycode_events.snapshot +++ /dev/null @@ -1,5 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (balanced event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/balanced/3a/events.patterns b/app/tests/tap-hold/balanced/3a/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/3a/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/3b/events.patterns b/app/tests/tap-hold/balanced/3b/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/3b/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/3c/events.patterns b/app/tests/tap-hold/balanced/3c/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/3c/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/3d/events.patterns b/app/tests/tap-hold/balanced/3d/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/3d/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/4a-nested/events.patterns b/app/tests/tap-hold/balanced/4a-nested/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/4a-nested/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/4a-nested/keycode_events.snapshot b/app/tests/tap-hold/balanced/4a-nested/keycode_events.snapshot deleted file mode 100644 index cb6d1608..00000000 --- a/app/tests/tap-hold/balanced/4a-nested/keycode_events.snapshot +++ /dev/null @@ -1,10 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (balanced event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 -th_binding_pressed: 1 new undecided tap_hold -th_decide: 1 decided tap (balanced event 0) -kp_pressed: usage_page 0x07 keycode 0x0d -kp_released: usage_page 0x07 keycode 0x0d -th_binding_released: 1 cleaning up tap-hold -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/balanced/4a/events.patterns b/app/tests/tap-hold/balanced/4a/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/4a/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/4b/events.patterns b/app/tests/tap-hold/balanced/4b/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/4b/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/4c/events.patterns b/app/tests/tap-hold/balanced/4c/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/4c/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/4d/events.patterns b/app/tests/tap-hold/balanced/4d/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/balanced/4d/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/balanced/behavior_keymap.dtsi b/app/tests/tap-hold/balanced/behavior_keymap.dtsi index a921024d..df56fb5b 100644 --- a/app/tests/tap-hold/balanced/behavior_keymap.dtsi +++ b/app/tests/tap-hold/balanced/behavior_keymap.dtsi @@ -4,9 +4,9 @@ / { behaviors { - th_bal: behavior_tap_hold_balanced { - compatible = "zmk,behavior-tap-hold"; - label = "TAP_HOLD_BALANCED"; + ht_bal: behavior_hold_tap_balanced { + compatible = "zmk,behavior-hold-tap"; + label = "HOLD_TAP_BALANCED"; #binding-cells = <2>; flavor = "balanced"; tapping_term_ms = <300>; @@ -20,7 +20,7 @@ default_layer { bindings = < - &th_bal LSFT F &th_bal LCTL J + &ht_bal LSFT F &ht_bal LCTL J &kp D &kp RCTL>; }; }; diff --git a/app/tests/tap-hold/hold-preferred/1/events.patterns b/app/tests/tap-hold/hold-preferred/1/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/1/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/1/keycode_events.snapshot b/app/tests/tap-hold/hold-preferred/1/keycode_events.snapshot deleted file mode 100644 index 39cd5a07..00000000 --- a/app/tests/tap-hold/hold-preferred/1/keycode_events.snapshot +++ /dev/null @@ -1,5 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided tap (hold-preferred event 0) -kp_pressed: usage_page 0x07 keycode 0x09 -kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/hold-preferred/2/events.patterns b/app/tests/tap-hold/hold-preferred/2/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/2/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/2/keycode_events.snapshot b/app/tests/tap-hold/hold-preferred/2/keycode_events.snapshot deleted file mode 100644 index 400d93e0..00000000 --- a/app/tests/tap-hold/hold-preferred/2/keycode_events.snapshot +++ /dev/null @@ -1,5 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (hold-preferred event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/hold-preferred/3a/events.patterns b/app/tests/tap-hold/hold-preferred/3a/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/3a/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/3b/events.patterns b/app/tests/tap-hold/hold-preferred/3b/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/3b/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/3c/events.patterns b/app/tests/tap-hold/hold-preferred/3c/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/3c/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/3d/events.patterns b/app/tests/tap-hold/hold-preferred/3d/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/3d/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/3d/keycode_events.snapshot b/app/tests/tap-hold/hold-preferred/3d/keycode_events.snapshot deleted file mode 100644 index c881c65b..00000000 --- a/app/tests/tap-hold/hold-preferred/3d/keycode_events.snapshot +++ /dev/null @@ -1,7 +0,0 @@ -kp_pressed: usage_page 0x07 keycode 0x07 -th_binding_pressed: 0 new undecided tap_hold -kp_released: usage_page 0x07 keycode 0x07 -th_decide: 0 decided hold (hold-preferred event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/hold-preferred/4a-nested/events.patterns b/app/tests/tap-hold/hold-preferred/4a-nested/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/4a-nested/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/4a-nested/keycode_events.snapshot b/app/tests/tap-hold/hold-preferred/4a-nested/keycode_events.snapshot deleted file mode 100644 index 1e57aa72..00000000 --- a/app/tests/tap-hold/hold-preferred/4a-nested/keycode_events.snapshot +++ /dev/null @@ -1,10 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (hold-preferred event 1) -kp_pressed: usage_page 0x07 keycode 0xe1 -th_binding_pressed: 1 new undecided tap_hold -th_decide: 1 decided tap (hold-preferred event 0) -kp_pressed: usage_page 0x07 keycode 0x0d -kp_released: usage_page 0x07 keycode 0x0d -th_binding_released: 1 cleaning up tap-hold -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/hold-preferred/4a/events.patterns b/app/tests/tap-hold/hold-preferred/4a/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/4a/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/4a/keycode_events.snapshot b/app/tests/tap-hold/hold-preferred/4a/keycode_events.snapshot deleted file mode 100644 index 0398fccb..00000000 --- a/app/tests/tap-hold/hold-preferred/4a/keycode_events.snapshot +++ /dev/null @@ -1,7 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (hold-preferred event 1) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_pressed: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/hold-preferred/4b/events.patterns b/app/tests/tap-hold/hold-preferred/4b/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/4b/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/4b/keycode_events.snapshot b/app/tests/tap-hold/hold-preferred/4b/keycode_events.snapshot deleted file mode 100644 index 0398fccb..00000000 --- a/app/tests/tap-hold/hold-preferred/4b/keycode_events.snapshot +++ /dev/null @@ -1,7 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (hold-preferred event 1) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_pressed: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/hold-preferred/4c/events.patterns b/app/tests/tap-hold/hold-preferred/4c/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/4c/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/4c/keycode_events.snapshot b/app/tests/tap-hold/hold-preferred/4c/keycode_events.snapshot deleted file mode 100644 index 0398fccb..00000000 --- a/app/tests/tap-hold/hold-preferred/4c/keycode_events.snapshot +++ /dev/null @@ -1,7 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (hold-preferred event 1) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_pressed: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/hold-preferred/4d/events.patterns b/app/tests/tap-hold/hold-preferred/4d/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/hold-preferred/4d/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/hold-preferred/4d/keycode_events.snapshot b/app/tests/tap-hold/hold-preferred/4d/keycode_events.snapshot deleted file mode 100644 index 611622cf..00000000 --- a/app/tests/tap-hold/hold-preferred/4d/keycode_events.snapshot +++ /dev/null @@ -1,7 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (hold-preferred event 1) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_pressed: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold -kp_released: usage_page 0x07 keycode 0x07 diff --git a/app/tests/tap-hold/hold-preferred/behavior_keymap.dtsi b/app/tests/tap-hold/hold-preferred/behavior_keymap.dtsi index 9a50c6b4..375ffd93 100644 --- a/app/tests/tap-hold/hold-preferred/behavior_keymap.dtsi +++ b/app/tests/tap-hold/hold-preferred/behavior_keymap.dtsi @@ -6,9 +6,9 @@ / { behaviors { - th_hold: behavior_tap_hold_hold { - compatible = "zmk,behavior-tap-hold"; - label = "TAP_HOLD_HOLD"; + ht_hold: behavior_hold_hold_tap { + compatible = "zmk,behavior-hold-tap"; + label = "hold_hold_tap"; #binding-cells = <2>; flavor = "hold-preferred"; tapping_term_ms = <300>; @@ -22,7 +22,7 @@ default_layer { bindings = < - &th_hold LSFT F &th_hold LCTL J + &ht_hold LSFT F &ht_hold LCTL J &kp D &kp RCTL>; }; }; diff --git a/app/tests/tap-hold/tap-preferred/1/events.patterns b/app/tests/tap-hold/tap-preferred/1/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/1/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/1/keycode_events.snapshot b/app/tests/tap-hold/tap-preferred/1/keycode_events.snapshot deleted file mode 100644 index f1623f04..00000000 --- a/app/tests/tap-hold/tap-preferred/1/keycode_events.snapshot +++ /dev/null @@ -1,5 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided tap (tap-preferred event 0) -kp_pressed: usage_page 0x07 keycode 0x09 -kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/tap-preferred/2/events.patterns b/app/tests/tap-hold/tap-preferred/2/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/2/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/2/keycode_events.snapshot b/app/tests/tap-hold/tap-preferred/2/keycode_events.snapshot deleted file mode 100644 index 0bac998e..00000000 --- a/app/tests/tap-hold/tap-preferred/2/keycode_events.snapshot +++ /dev/null @@ -1,5 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (tap-preferred event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/tap-preferred/3a/events.patterns b/app/tests/tap-hold/tap-preferred/3a/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/3a/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/3b/events.patterns b/app/tests/tap-hold/tap-preferred/3b/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/3b/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/3c/events.patterns b/app/tests/tap-hold/tap-preferred/3c/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/3c/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/3d/events.patterns b/app/tests/tap-hold/tap-preferred/3d/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/3d/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/3d/keycode_events.snapshot b/app/tests/tap-hold/tap-preferred/3d/keycode_events.snapshot deleted file mode 100644 index fb59fcfe..00000000 --- a/app/tests/tap-hold/tap-preferred/3d/keycode_events.snapshot +++ /dev/null @@ -1,7 +0,0 @@ -kp_pressed: usage_page 0x07 keycode 0x07 -th_binding_pressed: 0 new undecided tap_hold -kp_released: usage_page 0x07 keycode 0x07 -th_decide: 0 decided hold (tap-preferred event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/tap-preferred/4a-nested/events.patterns b/app/tests/tap-hold/tap-preferred/4a-nested/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/4a-nested/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/4a-nested/keycode_events.snapshot b/app/tests/tap-hold/tap-preferred/4a-nested/keycode_events.snapshot deleted file mode 100644 index 6371155f..00000000 --- a/app/tests/tap-hold/tap-preferred/4a-nested/keycode_events.snapshot +++ /dev/null @@ -1,10 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (tap-preferred event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 -th_binding_pressed: 1 new undecided tap_hold -th_decide: 1 decided tap (tap-preferred event 0) -kp_pressed: usage_page 0x07 keycode 0x0d -kp_released: usage_page 0x07 keycode 0x0d -th_binding_released: 1 cleaning up tap-hold -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/tap-preferred/4a/events.patterns b/app/tests/tap-hold/tap-preferred/4a/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/4a/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/4a/keycode_events.snapshot b/app/tests/tap-hold/tap-preferred/4a/keycode_events.snapshot deleted file mode 100644 index 690551b6..00000000 --- a/app/tests/tap-hold/tap-preferred/4a/keycode_events.snapshot +++ /dev/null @@ -1,7 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (tap-preferred event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_pressed: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/tap-preferred/4b/events.patterns b/app/tests/tap-hold/tap-preferred/4b/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/4b/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/4b/keycode_events.snapshot b/app/tests/tap-hold/tap-preferred/4b/keycode_events.snapshot deleted file mode 100644 index 690551b6..00000000 --- a/app/tests/tap-hold/tap-preferred/4b/keycode_events.snapshot +++ /dev/null @@ -1,7 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided hold (tap-preferred event 3) -kp_pressed: usage_page 0x07 keycode 0xe1 -kp_pressed: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0xe1 -th_binding_released: 0 cleaning up tap-hold diff --git a/app/tests/tap-hold/tap-preferred/4c/events.patterns b/app/tests/tap-hold/tap-preferred/4c/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/4c/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/4d/events.patterns b/app/tests/tap-hold/tap-preferred/4d/events.patterns deleted file mode 100644 index 39d12377..00000000 --- a/app/tests/tap-hold/tap-preferred/4d/events.patterns +++ /dev/null @@ -1,4 +0,0 @@ -s/.*hid_listener_keycode/kp/p -s/.*mo_keymap_binding/mo/p -s/.*on_tap_hold_binding/th_binding/p -s/.*decide_tap_hold/th_decide/p \ No newline at end of file diff --git a/app/tests/tap-hold/tap-preferred/4d/keycode_events.snapshot b/app/tests/tap-hold/tap-preferred/4d/keycode_events.snapshot deleted file mode 100644 index 1b8f258b..00000000 --- a/app/tests/tap-hold/tap-preferred/4d/keycode_events.snapshot +++ /dev/null @@ -1,7 +0,0 @@ -th_binding_pressed: 0 new undecided tap_hold -th_decide: 0 decided tap (tap-preferred event 0) -kp_pressed: usage_page 0x07 keycode 0x09 -kp_pressed: usage_page 0x07 keycode 0x07 -kp_released: usage_page 0x07 keycode 0x09 -th_binding_released: 0 cleaning up tap-hold -kp_released: usage_page 0x07 keycode 0x07 diff --git a/app/tests/tap-hold/tap-preferred/behavior_keymap.dtsi b/app/tests/tap-hold/tap-preferred/behavior_keymap.dtsi index d6fac857..e514fa65 100644 --- a/app/tests/tap-hold/tap-preferred/behavior_keymap.dtsi +++ b/app/tests/tap-hold/tap-preferred/behavior_keymap.dtsi @@ -5,7 +5,7 @@ / { behaviors { tp: behavior_tap_preferred { - compatible = "zmk,behavior-tap-hold"; + compatible = "zmk,behavior-hold-tap"; label = "MOD_TAP"; #binding-cells = <2>; flavor = "tap-preferred";