diff --git a/app/src/behaviors/behavior_sticky_key.c b/app/src/behaviors/behavior_sticky_key.c index 267b81ab..cdc1038c 100644 --- a/app/src/behaviors/behavior_sticky_key.c +++ b/app/src/behaviors/behavior_sticky_key.c @@ -167,9 +167,8 @@ static int on_sticky_key_binding_released(struct zmk_behavior_binding *binding, sticky_key->release_at = event.timestamp + sticky_key->config->release_after_ms; // adjust timer in case this behavior was queued by a hold-tap int32_t ms_left = sticky_key->release_at - k_uptime_get(); - if (ms_left > 0) { - k_work_schedule(&sticky_key->release_timer, K_MSEC(ms_left)); - } + ms_left = ms_left > 0 ? ms_left : 1; + k_work_schedule(&sticky_key->release_timer, K_MSEC(ms_left)); return ZMK_BEHAVIOR_OPAQUE; }