61 lines
1.9 KiB
Markdown
61 lines
1.9 KiB
Markdown
---
|
|
title: Backlight Behavior
|
|
sidebar_label: Backlight
|
|
---
|
|
|
|
## Summary
|
|
|
|
This page contains [backlight](../features/backlight.mdx) behaviors supported by ZMK.
|
|
|
|
## Backlight Action Defines
|
|
|
|
Backlight actions defines are provided through the [`dt-bindings/zmk/backlight.h`](https://github.com/zmkfirmware/zmk/blob/main/app/include/dt-bindings/zmk/backlight.h) header,
|
|
which is added at the top of the keymap file:
|
|
|
|
```dts
|
|
#include <dt-bindings/zmk/backlight.h>
|
|
```
|
|
|
|
This will allow you to reference the actions defined in this header such as `BL_TOG`.
|
|
|
|
Here is a table describing the action for each define:
|
|
|
|
| Define | Action |
|
|
| ---------- | --------------------------- |
|
|
| `BL_ON` | Turn on backlight |
|
|
| `BL_OFF` | Turn off backlight |
|
|
| `BL_TOG` | Toggle backlight on and off |
|
|
| `BL_INC` | Increase brightness |
|
|
| `BL_DEC` | Decrease brightness |
|
|
| `BL_CYCLE` | Cycle brightness |
|
|
| `BL_SET` | Set a specific brightness |
|
|
|
|
## Behavior Binding
|
|
|
|
- Reference: `&bl`
|
|
- Parameter #1: The backlight action define, e.g. `BL_TOG` or `BL_INC`
|
|
- Parameter #2: Only applies to `BL_SET`and is the brightness value
|
|
|
|
:::note[Backlight settings persistence]
|
|
The backlight settings that are changed via the `&bl` behavior will be saved to flash storage and hence persist across restarts and firmware flashes.
|
|
They will also override the start values set by [`CONFIG_ZMK_BACKLIGHT_*_START` settings](../config/backlight.md#kconfig).
|
|
However the settings will only be saved after [`CONFIG_ZMK_SETTINGS_SAVE_DEBOUNCE`](../config/system.md#general) milliseconds in order to reduce potential wear on the flash memory.
|
|
:::
|
|
|
|
### Examples
|
|
|
|
1. Toggle backlight on/off
|
|
|
|
```dts
|
|
&bl BL_TOG
|
|
```
|
|
|
|
1. Sets a specific brightness
|
|
|
|
```dts
|
|
&bl BL_SET 50
|
|
```
|
|
|
|
## Split Keyboards
|
|
|
|
Backlight behaviors are global: This means that when triggered, they affect both the central and peripheral side of split keyboards.
|