3.4 KiB
title | sidebar_label |
---|---|
Encoder Configuration | Encoders |
See the Encoders informational page for more details, including instructions for adding encoder support to a board.
See Configuration Overview for instructions on how to change these settings.
EC11 Encoders
Kconfig
Definition file: zmk/app/module/drivers/sensor/ec11/Kconfig
Config | Type | Description | Default |
---|---|---|---|
CONFIG_EC11 |
bool | Enable EC11 encoders | n |
CONFIG_EC11_THREAD_PRIORITY |
int | Priority of the encoder thread | 10 |
CONFIG_EC11_THREAD_STACK_SIZE |
int | Stack size of the encoder thread | 1024 |
If CONFIG_EC11
is enabled, exactly one of the following options must be set to y
:
Config | Type | Description |
---|---|---|
CONFIG_EC11_TRIGGER_NONE |
bool | No trigger (encoders are disabled) |
CONFIG_EC11_TRIGGER_GLOBAL_THREAD |
bool | Process encoder interrupts on the global thread |
CONFIG_EC11_TRIGGER_OWN_THREAD |
bool | Process encoder interrupts on their own thread |
Devicetree
Keymap sensor config
For shields/boards that export a sensors
node configuration label, both global and per-sensor settings can be set by overriding the properties there.
To override the general settings, update them on the exported sensors
node, e.g.:
&sensors {
triggers-per-rotation = <18>;
};
Per sensor overrides can be added with ordered nested nodes with the correct overrides, e.g.:
&sensors {
left_config {
triggers-per-rotation = <18>;
};
right_config {
triggers-per-rotation = <24>;
};
};
:::note
The names of the child nodes are not important, and are applied in order to the sensors listed in the sensors
property of the sensors node.
:::
Applies to the node and child nodes of: compatible = "zmk,keymap-sensors"
Definition file: zmk/app/drivers/zephyr/dts/bindings/zmk,keymap-sensors.yaml
Property | Type | Description | Default |
---|---|---|---|
triggers-per-rotation |
int | Number of times to trigger the bound behavior per full rotation |
EC11 nodes
Applies to: compatible = "alps,ec11"
Definition file: zmk/app/module/dts/bindings/sensor/alps,ec11.yaml
Property | Type | Description | Default |
---|---|---|---|
a-gpios |
GPIO array | GPIO connected to the encoder's A pin | |
b-gpios |
GPIO array | GPIO connected to the encoder's B pin | |
steps |
int | Number of encoder pulses per complete rotation |