feat(backlight): add command to cycle brightness

This commit is contained in:
Alessandro Bortolin
2022-01-22 11:57:51 +01:00
committed by Pete Johanson
parent 2c0fe3934d
commit 13a4515300
9 changed files with 139 additions and 10 deletions

View File

@@ -137,6 +137,14 @@ uint8_t zmk_backlight_calc_brt(int direction) {
return CLAMP(brt, 0, BRT_MAX);
}
uint8_t zmk_backlight_calc_brt_cycle() {
if (state.brightness == BRT_MAX) {
return 0;
} else {
return zmk_backlight_calc_brt(1);
}
}
#if IS_ENABLED(CONFIG_ZMK_BACKLIGHT_AUTO_OFF_IDLE) || IS_ENABLED(CONFIG_ZMK_BACKLIGHT_AUTO_OFF_USB)
static int backlight_auto_state(bool *prev_state, bool new_state) {
if (state.on == new_state) {

View File

@@ -35,6 +35,10 @@ on_keymap_binding_convert_central_state_dependent_params(struct zmk_behavior_bin
binding->param1 = BL_SET_CMD;
binding->param2 = zmk_backlight_calc_brt(-1);
break;
case BL_CYCLE_CMD:
binding->param1 = BL_SET_CMD;
binding->param2 = zmk_backlight_calc_brt_cycle();
break;
default:
return 0;
}
@@ -61,6 +65,10 @@ static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
uint8_t brt = zmk_backlight_calc_brt(-1);
return zmk_backlight_set_brt(brt);
}
case BL_CYCLE_CMD: {
uint8_t brt = zmk_backlight_calc_brt_cycle();
return zmk_backlight_set_brt(brt);
}
case BL_SET_CMD:
return zmk_backlight_set_brt(binding->param2);
default: