Skip to main content

Pointing Device Configuration

These are settings related to the pointing device/mouse support in ZMK.

See Configuration Overview for instructions on how to change these settings.

Kconfig​

Definition file: zmk/app/pointing/Kconfig

General​

ConfigTypeDescriptionDefault
CONFIG_ZMK_POINTINGboolEnable the general pointing/mouse functionalityn
CONFIG_ZMK_POINTING_SMOOTH_SCROLLINGboolEnable smooth scrolling HID functionality (via HID Resolution Multipliers)n

Advanced Settings​

The following settings are from Zephyr and should be defaulted to sane values, but can be adjusted if you encounter problems.

ConfigTypeDescriptionDefault
CONFIG_INPUT_THREAD_STACK_SIZEintStack size for the dedicated input event processing thread512 (1024 on split peripherals)

Input Listener​

The following documents settings related to input listeners.

Devicetree​

Applies to: compatible = "zmk,input-listener"

Definition file: zmk/app/dts/bindings/zmk,input-listener.yaml

PropertyTypeDescription
devicephandleInput device handle
input-processorsphandle-arrayList of input processors (with parameters) to apply to input events

Child Properties​

Additional properties can be set on child nodes, which allows changing the settings when certain layers are enabled:

PropertyTypeDescription
layersarrayList of layer indexes. This config will apply if any layer in the list is active.
input-processorsphandle-arrayList of input processors (with parameters) to apply to input events
process-nextboolWhether to continue applying other input processors after this override if it takes effect

Input Split​

Input splits are used for pointing devices on split peripherals.

Devicetree​

Applies to: compatible = "zmk,input-split"

Definition file: zmk/app/dts/bindings/zmk,input-split.yaml

PropertyTypeDescription
devicehandleInput device handle
input-processorsphandle-arrayList of input processors (with parameters) to apply to input events