From 2014c328ccdbff2c611a3568c9dcee0c22f8b4fb Mon Sep 17 00:00:00 2001 From: snoyer Date: Tue, 11 Oct 2022 02:07:59 +0000 Subject: [PATCH] add delay so capslock register on mac --- app/dts/bindings/behaviors/zmk,behavior-capslock.yaml | 3 +++ app/src/behaviors/behavior_capslock.c | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/dts/bindings/behaviors/zmk,behavior-capslock.yaml b/app/dts/bindings/behaviors/zmk,behavior-capslock.yaml index 9f5d75b1..94e05edd 100644 --- a/app/dts/bindings/behaviors/zmk,behavior-capslock.yaml +++ b/app/dts/bindings/behaviors/zmk,behavior-capslock.yaml @@ -21,3 +21,6 @@ properties: bindings: type: phandle-array required: true + binding-hold-time: + type: int + default: 85 diff --git a/app/src/behaviors/behavior_capslock.c b/app/src/behaviors/behavior_capslock.c index 0ae387ef..d6904caf 100644 --- a/app/src/behaviors/behavior_capslock.c +++ b/app/src/behaviors/behavior_capslock.c @@ -33,6 +33,7 @@ struct capslock_key_item { struct behavior_capslock_config { uint8_t index; struct zmk_behavior_binding capslock_binding; + uint32_t capslock_binding_hold_time; bool enable_on_press; bool disable_on_release; bool disable_on_next_release; @@ -50,7 +51,8 @@ static void toggle_capslock(const struct device *dev) { const struct behavior_capslock_config *config = dev->config; const struct behavior_capslock_data *data = dev->data; - zmk_behavior_queue_add(data->position, config->capslock_binding, true, 0); + zmk_behavior_queue_add(data->position, config->capslock_binding, true, + config->capslock_binding_hold_time); zmk_behavior_queue_add(data->position, config->capslock_binding, false, 0); } @@ -199,6 +201,7 @@ static int behavior_capslock_init(const struct device *dev) { static struct behavior_capslock_config behavior_capslock_config_##n = { \ .index = n, \ .capslock_binding = _TRANSFORM_ENTRY(0, n), \ + .capslock_binding_hold_time = DT_INST_PROP(n, binding_hold_time), \ .enable_on_press = DT_INST_PROP(n, enable_on_press), \ .disable_on_release = DT_INST_PROP(n, disable_on_release), \ .disable_on_next_release = DT_INST_PROP(n, disable_on_next_release), \