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