diff --git a/app/Kconfig b/app/Kconfig index 6b4e3509..e3bfb37b 100644 --- a/app/Kconfig +++ b/app/Kconfig @@ -435,6 +435,16 @@ config ZMK_GPIO_KEY_WAKEUP_TRIGGER depends on DT_HAS_ZMK_GPIO_KEY_WAKEUP_TRIGGER_ENABLED && ZMK_PM_SOFT_OFF # Power Management +if ZMK_EXT_POWER + +config ZMK_EXT_POWER_START + bool "Enable external power output by default" + default y + +#ZMK_EXT_POWER +endif + +#Power Management endmenu menu "Combo options" diff --git a/app/src/ext_power_generic.c b/app/src/ext_power_generic.c index 3975e038..facbbc9a 100644 --- a/app/src/ext_power_generic.c +++ b/app/src/ext_power_generic.c @@ -136,7 +136,11 @@ static int ext_power_settings_commit() { data->status = true; k_work_schedule(&ext_power_save_work, K_NO_WAIT); - ext_power_enable(dev); + if (IS_ENABLED(CONFIG_ZMK_EXT_POWER_START)) { + ext_power_enable(dev); + } else { + ext_power_disable(dev); + } } return 0; @@ -162,8 +166,12 @@ static int ext_power_generic_init(const struct device *dev) { k_work_init_delayable(&ext_power_save_work, ext_power_save_state_work); #endif - // Enable by default. We may get disabled again once settings load. - ext_power_enable(dev); + // Set to default state by default. This may change again once settings load. + if (IS_ENABLED(CONFIG_ZMK_EXT_POWER_START)) { + ext_power_enable(dev); + } else { + ext_power_disable(dev); + } if (config->init_delay_ms) { k_msleep(config->init_delay_ms);