From f9699eb1bf8248c5b3fd70ea467ad80ebd3ad9d7 Mon Sep 17 00:00:00 2001 From: KemoNine Date: Sat, 13 Mar 2021 19:24:05 +0000 Subject: [PATCH] chore(&sleep): misc code updates from PR #649 --- app/dts/behaviors/sleep.dtsi | 2 +- app/include/zmk/activity.h | 2 +- app/src/behaviors/behavior_sleep.c | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/dts/behaviors/sleep.dtsi b/app/dts/behaviors/sleep.dtsi index a3f964fc..9054e2fa 100644 --- a/app/dts/behaviors/sleep.dtsi +++ b/app/dts/behaviors/sleep.dtsi @@ -6,7 +6,7 @@ / { behaviors { - sleep: behavior_sleep { + /omit-if-no-ref/ sleep: behavior_sleep { compatible = "zmk,behavior-sleep"; label = "SLEEP"; #binding-cells = <0>; diff --git a/app/include/zmk/activity.h b/app/include/zmk/activity.h index 173e5025..4ea61813 100644 --- a/app/include/zmk/activity.h +++ b/app/include/zmk/activity.h @@ -9,4 +9,4 @@ enum zmk_activity_state { ZMK_ACTIVITY_ACTIVE, ZMK_ACTIVITY_IDLE, ZMK_ACTIVITY_SLEEP }; enum zmk_activity_state zmk_activity_get_state(); -int activity_set_state(enum zmk_activity_state state); +int zmk_activity_set_state(enum zmk_activity_state state); diff --git a/app/src/behaviors/behavior_sleep.c b/app/src/behaviors/behavior_sleep.c index 7419dbd6..18321518 100644 --- a/app/src/behaviors/behavior_sleep.c +++ b/app/src/behaviors/behavior_sleep.c @@ -13,18 +13,31 @@ #include #include +#if DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT) + LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); static int behavior_sleep_init(const struct device *dev) { return 0; }; static int on_keymap_binding_released(struct zmk_behavior_binding *binding, struct zmk_behavior_binding_event event) { +#if IS_ENABLED(CONFIG_ZMK_SLEEP) return activity_set_state(ZMK_ACTIVITY_SLEEP); +#endif + return ZMK_BEHAVIOR_OPAQUE; +} + +static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding, + struct zmk_behavior_binding_event event) { + return ZMK_BEHAVIOR_OPAQUE; } static const struct behavior_driver_api behavior_sleep_driver_api = { .binding_released = on_keymap_binding_released, + .binding_pressed = on_keymap_binding_pressed, }; DEVICE_AND_API_INIT(behavior_sleep, DT_INST_LABEL(0), behavior_sleep_init, NULL, NULL, APPLICATION, - CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &behavior_sleep_driver_api); \ No newline at end of file + CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &behavior_sleep_driver_api); + +#endif /* DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT) */