nRF Desktop: Application Kconfig options scheme

Following are the application-specific configuration options that can be configured for the nRF desktop and the internal modules:

CONFIG_DESKTOP_ROLE_HID_PERIPHERAL

(bool) HID peripheral

The option enables support for the nRF Desktop HID peripheral role. The peripheral uses HID state module to generate HID reports based on user input. All of the generated HID reports must be supported by the peripheral.

CONFIG_DESKTOP_ROLE_HID_DONGLE

(bool) HID dongle

The option enables support for the nRF Desktop HID dongle role. The dongle forwards HID reports from the HID peripherals to the host connected over USB. The dongle does not generate HID reports by itself.

CONFIG_DESKTOP_HID_DONGLE_BOND_COUNT

(int) Supported number of HID peripherals

Supported number of HID peripherals bonded to the dongle. By default dongle supports two HID peripherals - mouse and keyboard.

CONFIG_DESKTOP_HID_DONGLE_CONN_COUNT

(int) Supported number of simultaneously connected HID peripherals

Supported number of HID peripherals simultaneously connected to the dongle. By default dongle can handle up to two HID peripherals at the same time - mouse and keyboard.

CONFIG_DESKTOP_HID_DONGLE_ENABLED_REPORTS

(bool)

The dongle must support all of the forwarded HID reports.

CONFIG_DESKTOP_PERIPHERAL_TYPE_MOUSE

(bool) Mouse

The option by default enables support for HID mouse report.

CONFIG_DESKTOP_PERIPHERAL_TYPE_KEYBOARD

(bool) Keyboard

The option by default enables support for HID keyboard reports, HID system control report and HID consumer control report.

CONFIG_DESKTOP_PERIPHERAL_TYPE_OTHER

(bool) Other

The option does not enable support for any of the HID reports. The used HID reports must be explicitly specified.

CONFIG_DESKTOP_USE_DEFAULT_REPORT_DESCR

(bool) Use default HID report descriptor

By default, nRF Desktop uses predefined HID report descriptor shared among all of the devices. Disable this option to provide custom HID report descriptor.

CONFIG_DESKTOP_HID_REPORT_DESC

(string)

None

CONFIG_DESKTOP_HID_REPORT_MOUSE_SUPPORT

(bool) HID mouse report support

The option enables support for HID mouse input report.

If default HID report descriptor is used, the HID mouse report with predefined format is automatically added to the HID report descriptor. Otherwise, make sure to add the HID mouse report to the used report descriptor.

CONFIG_DESKTOP_HID_REPORT_KEYBOARD_SUPPORT

(bool) HID keyboard reports support

The option enables support for HID keyboard input report and HID keyboard LEDs output report.

If default HID report descriptor is used, the HID keyboard reports with predefined formats are automatically added to the HID report descriptor. Otherwise, make sure to add the HID keyboard reports to the used report descriptor.

CONFIG_DESKTOP_HID_REPORT_SYSTEM_CTRL_SUPPORT

(bool) HID system control report support

The option enables support for HID system control input report.

If default HID report descriptor is used, the HID system control report with predefined format is automatically added to the HID report descriptor. Otherwise, make sure to add the HID system control report to the used report descriptor.

CONFIG_DESKTOP_HID_REPORT_CONSUMER_CTRL_SUPPORT

(bool) HID consumer control report support

The option enables support for HID consumer control input report.

If default HID report descriptor is used, the HID consumer control report with predefined format is automatically added to the HID report descriptor. Otherwise, make sure to add the HID consumer control report to the used report descriptor.

CONFIG_DESKTOP_HID_BOOT_INTERFACE_DISABLED

(bool) None

None

CONFIG_DESKTOP_HID_BOOT_INTERFACE_MOUSE

(bool) Mouse

None

CONFIG_DESKTOP_HID_BOOT_INTERFACE_KEYBOARD

(bool) Keyboard

None

CONFIG_DESKTOP_DEVICE_PRODUCT

(string) Product name

Product name used for both GATT Device Information Service and USB device. By default, name is determined by nRF Desktop device role and nRF Desktop peripheral type.

CONFIG_DESKTOP_DEVICE_MANUFACTURER

(string) Manufacturer

Device manufacturer used for both GATT Device Information Service and USB device. By default, device manufacturer is set to Nordic Semiconductor ASA.

CONFIG_DESKTOP_DEVICE_VID

(hex) Vendor ID

Device Vendor ID used for GATT Device Information Service, USB device and configuration channel. By default, Vendor ID of Nordic Semiconductor ASA is used.

CONFIG_DESKTOP_DEVICE_PID

(hex) Product ID

Device Product ID used for GATT Device Information Service, USB device and configuration channel. Product ID is used to distinguish products made by the given vendor. Value must be configured in the application configuration.

CONFIG_DESKTOP_DEVICE_GENERATION

(string) Device generation

The Kconfig option is used to specify device generation. The option allows to distinguish configurations that use the same board and bootloader, but are not interoperable.

CONFIG_DESKTOP_BT

(bool) Support for Bluetooth connectivity

Enable support for Bluetooth connectivity in the nRF Desktop application. Specific Bluetooth configurations and application modules are selected according to the HID device role. Apart from that, the defaults of Bluetooth-related Kconfigs are aligned with the nRF Desktop use case.

nRF Desktop conditionally implies using a separate workqueue for connection TX notify processing. This is done to work around the MPSL flash synchronization timeout known issue (NCSDK-29354).

CONFIG_DESKTOP_BT_PERIPHERAL

(bool)

HID peripherals are configured to use the GAP Peripheral role as required in the HID over GATT profile specification for the HID Device. This specification defines how to implement the HID Device using Bluetooth connectivity.

The nRF Desktop peripheral enables CAF Bluetooth LE advertising module, Bluetooth LE latency module and GATT Services required for a HID Device (HID Service, Battery Service and Device Information Service).

Additionally, the nRF Desktop peripheral enables device description module. The module implements a custom GATT Service which is required to connect with nRF Desktop dongles.

CONFIG_BT_ID_UNPAIR_MATCHING_BONDS

(unknown)

Delete bond with the same peer on another Bluetooth local identity when bonding to prevent bonding failures. That improves user experience during the erase advertising procedure.

By default, overwriting bond requires authenticated pairing.

Enabling this option is needed to pass the Fast Pair Validator’s end-to-end integration tests.

CONFIG_BT_ID_ALLOW_UNAUTH_OVERWRITE

(unknown)

Allow overwriting of an unauthenticated bond from a different local identity. This setting improves the user experience as it is no longer required to delete the bonding information from the old identity to pair using the new one.

CONFIG_BT_DATA_LEN_UPDATE

(unknown)

nRF Desktop peripherals disable the Data Length Exchange (DLE) procedure as it expects this procedure to be initiated by the the central.

CONFIG_BT_AUTO_PHY_UPDATE

(unknown)

nRF Desktop peripherals disable the automatic PHY Update procedure as it expects this procedure to be initiated by the central.

CONFIG_BT_PERIPHERAL_PREF_MIN_INT

(unknown)

nRF Desktop peripherals use the shortest available connection interval to lower the latency of HID reports.

CONFIG_BT_PERIPHERAL_PREF_MAX_INT

(unknown)

nRF Desktop peripherals use the shortest available connection interval to lower the latency of HID reports.

CONFIG_BT_PERIPHERAL_PREF_LATENCY

(unknown)

nRF Desktop peripherals use the non-zero value for the Bluetooth latency to lower the battery energy consumption. HID reports are sent as GATT notifications, so this parameter has no impact on their latency.

CONFIG_BT_PERIPHERAL_PREF_TIMEOUT

(unknown)

nRF Desktop peripherals use the moderate value for the supervision timeout parameter as they do not have to be fast in the disconnect detection. The moderate value also provides connection stability as both devices take more time before reporting the connection timeout.

CONFIG_BT_CONN_PARAM_UPDATE_TIMEOUT

(unknown)

nRF Desktop peripherals update connection parameters earlier to lower HID data latency.

CONFIG_BT_ATT_SENT_CB_AFTER_TX

(unknown)

nRF Desktop peripherals delay ATT sent callback until data transmission is done by BLE controller. This is needed to ensure low latency of provided HID data. The ATT sent callback is used by the application to trigger sending subsequent HID report.

CONFIG_BT_GATT_CHRC_POOL_SIZE

(unknown)

The maximum number of GATT characteristic descriptors in GATT pool is set assuming that nRF Desktop peripheral uses default configuration specified for the selected peripheral type.

By default, the GATT pool is used only by GATT HID Service. Make sure to update the pool size if your configuration uses more descriptors.

CONFIG_BT_GATT_UUID16_POOL_SIZE

(unknown)

The maximum number of GATT 16-bit UUID descriptors in GATT pool is set assuming that nRF Desktop peripheral uses default configuration specified for the selected peripheral type.

By default, the GATT pool is used only by GATT HID Service. Make sure to update the pool size if your configuration uses more descriptors.

CONFIG_BT_DIS_MANUF

(unknown)

nRF Desktop defines common HID device identification values and passes them as defaults to the Bluetooth DIS configuration.

CONFIG_BT_DIS_MODEL

(unknown)

nRF Desktop defines common HID device identification values and passes them as defaults to the Bluetooth DIS configuration.

CONFIG_BT_DIS_PNP

(unknown)

The PnP ID characteristic is required for a HID Device.

CONFIG_BT_DIS_PNP_VID_SRC

(unknown)

By default, nRF Desktop relies on Vendor ID of Nordic Semiconductor ASA assigned by the USB IF.

CONFIG_BT_DIS_PNP_VID

(unknown)

nRF Desktop defines common HID device identification values and passes them as defaults to the Bluetooth DIS configuration.

CONFIG_BT_DIS_PNP_PID

(unknown)

nRF Desktop defines common HID device identification values and passes them as defaults to the Bluetooth DIS configuration.

CONFIG_BT_DIS_PNP_VER

(unknown)

nRF Desktop by default defines product version representing major version number of 1, minor version number of 0 and sub-minor version number of 0.

CONFIG_DESKTOP_BT_CENTRAL

(bool)

nRF Desktop dongles are configured to use the GAP Central role as required in the HID over GATT profile specification for the Report and Boot Host. This specification defines how to implement the Host using Bluetooth connectivity.

Application modules that control Bluetooth LE scanning, discovery and connection parameters are automatically enabled.

CONFIG_BT_GATT_CLIENT

(unknown)

nRF Desktop dongles are configured to use the GATT Client role as required in the HID over GATT profile specification for the Report and Boot Host.

CONFIG_BT_GATT_SERVICE_CHANGED

(unknown)

GATT Service Changed support is not needed for nRF Desktop dongles. The dongles do not change their GATT Services, they work mainly as GATT Clients and receive HID reports from BLE connected peripherals.

CONFIG_BT_MAX_CONN

(unknown)

Change the default value for the maximum number of simultaneous connections to be compatible with the dongle connection count.

CONFIG_BT_MAX_PAIRED

(unknown)

Change the default value for the maximum number of paired devices to be compatible with the dongle bond count.

CONFIG_BT_CTLR_CONN_PARAM_REQ

(unknown)

nRF Desktop devices disable support for the Connection Parameter Request feature as it is not needed.

CONFIG_BT_DEVICE_NAME

(unknown)

By default, nRF Desktop devices use their product name as Bluetooth device name.

CONFIG_BT_DEVICE_APPEARANCE

(unknown)

By default, nRF Desktop mice use Bluetooth appearance of mouse, nRF Desktop keyboards and dongles use Bluetooth appearance of keyboard. Other nRF Desktop devices use Bluetooth appearance of generic human interface device.

CONFIG_BT_SETTINGS_CCC_STORE_ON_WRITE

(unknown)

nRF Desktop devices require to store the CCC descriptor in the context of the GATT write operation. This behaviour prevents discrepancies in the CCC descriptor configuration between the connected peers in case of a sudden shutdown or reset.

CONFIG_BT_SETTINGS_CCC_LAZY_LOADING

(unknown)

nRF Desktop devices disable the lazy loading feature for the CCC descriptor to speed up reconnections and reduce delay for the first HID report.

CONFIG_DESKTOP_LOG

(bool) nRF Desktop logging

The option enables support for the nRF Desktop Logging. By default, the nRF Desktop Logging uses the RTT backend and slightly modifies the default configuration of the Logging subsystem to tailor it to the application needs.

CONFIG_LOG

(unknown)

nRF Desktop Logging configuration enables the Logging subsystem that is required for this functionality.

CONFIG_LOG_MODE_OVERFLOW

(unknown)

nRF Desktop Logging configuration drops the oldest logs if there is no more space left in the buffers.

CONFIG_LOG_PRINTK

(unknown)

nRF Desktop Logging configuration enables the processing of printk messages by the Logging subsystem.

CONFIG_LOG_BUFFER_SIZE

(unknown)

nRF Desktop Logging configuration increases the default buffer size in the Logging subsystem to prevent logs from dropping.

CONFIG_LOG_PROCESS_THREAD_STACK_SIZE

(unknown)

nRF Desktop Logging configuration increases the default stack size for the log processing thread to prevent stack overflows.

CONFIG_LOG_BACKEND_RTT

(unknown)

nRF Desktop Logging configuration uses the RTT Logging backend as nRF Desktop targets use RTT for debug information. This option needs to be disabled when both the Logging and the Shell subsystems are active as the Shell backend is responsible for collecting logs in that case.

CONFIG_LOG_BACKEND_SHOW_COLOR

(unknown)

nRF Desktop Logging configuration disables colors in the Logging subsystem backends.

CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP

(unknown)

nRF Desktop Logging configuration disables formatting of timestamps in the Logging subsystem backends.

CONFIG_LOG_BACKEND_RTT_MESSAGE_SIZE

(unknown)

nRF Desktop Logging configuration increases the default maximum message size for the RTT backend in the Logging subsystem to enhance its capacity.

CONFIG_DESKTOP_SHELL

(bool) nRF Desktop shell

The option enables support for the nRF Desktop Shell. By default, the nRF Desktop Shell uses the RTT backend and slightly modifies the default configuration of the Shell subsystem to tailor it to the application needs.

CONFIG_SHELL

(unknown)

nRF Desktop Shell configuration enables the Shell subsystem that is required for this functionality.

CONFIG_SHELL_BACKEND_SERIAL

(unknown)

nRF Desktop Shell configuration disables the Shell Serial backend as nRF Desktop targets do not use a Serial interface for debug information.

CONFIG_SHELL_BACKEND_RTT

(unknown)

nRF Desktop Shell configuration enables the Shell RTT backend as nRF Desktop targets use RTT for debug information.

CONFIG_SHELL_PROMPT_RTT

(unknown)

nRF Desktop Shell configuration sets a custom prompt.

CONFIG_DEVICE_SHELL

(unknown)

nRF Desktop Shell configuration enables access to basic device data.

CONFIG_KERNEL_SHELL

(unknown)

nRF Desktop Shell configuration enables access to basic kernel data.

CONFIG_INIT_STACKS

(unknown)

nRF Desktop Shell configuration enables stack area initialization with a fixed value to easily calculate stack usage.

CONFIG_THREAD_MONITOR

(unknown)

nRF Desktop Shell configuration enables the monitoring option to inspect all running threads in runtime.

CONFIG_THREAD_NAME

(unknown)

nRF Desktop Shell configuration enables an option to set a name for a thread.

CONFIG_DESKTOP_RTT

(bool) Enable RTT backend for logs or shell

The option enables support for SEGGER J-Link RTT in the nRF Desktop.

Disable the option only if you would like to use other backend for nRF Desktop logs or shell.

CONFIG_SEGGER_RTT_BUFFER_SIZE_UP

(unknown)

nRF Desktop RTT configuration increases the default buffer size in the SEGGER J-Link RTT libraries to enhance logging capacity.

CONFIG_DESKTOP_INIT_LOG_BATTERY_STATE_EVENT

(bool) Log battery state events

Log battery state events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_BATTERY_LEVEL_EVENT

(bool) Log battery level events

Log battery level events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_BLE_DISC_COMPLETE_EVENT

(bool) Log Bluetooth LE discovery complete events

Log Bluetooth LE discovery complete events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_BLE_QOS_EVENT

(bool) Log Bluetooth LE QoS events

Log Bluetooth LE QoS events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_BLE_DONGLE_PEER_EVENT

(bool) Log Bluetooth dongle peer event

Log Bluetooth dongle peer event in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_CPU_LOAD_EVENT

(bool) Log CPU load events

Log CPU load events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_SELECTOR_EVENT

(bool) Log selector events

Log selector events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_PASSKEY_EVENT

(bool) Log passkey events

Log passkey events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_CONFIG_EVENT

(bool) Log config events

Log config events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_HID_SUBSCRIBER_EVENT

(bool) Log HID report subscriber events

Log HID report subscriber events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_HID_SUBSCRIPTION_EVENT

(bool) Log HID report subscription events

Log HID report subscription events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_HID_REPORT_EVENT

(bool) Log HID report events

Log HID report events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_HID_REPORT_SENT_EVENT

(bool) Log HID report sent events

Log HID report sent events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_MOTION_EVENT

(bool) Log motion events

Log motion events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_USB_STATE_EVENT

(bool) Log USB state events

Log USB state events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_WHEEL_EVENT

(bool) Log wheel events

Log wheel events in nRF Desktop application.

CONFIG_DESKTOP_INIT_LOG_HID_NOTIFICATION_EVENT

(bool) Log HID notification events

Log HID notification events in nRF Desktop application.

CONFIG_DESKTOP_BOARD_PM_EVENTS

(bool) Power management events support

React on power management events in board module.

CONFIG_DESKTOP_MOTION_NONE

(bool) Disable motion

If selected, no motion source if defined for the interface.

CONFIG_DESKTOP_MOTION_SENSOR_PMW3360_ENABLE

(bool) Motion from optical sensor PMW3360

If selected, movement data it obtained from PMW3360 optical sensor.

CONFIG_DESKTOP_MOTION_SENSOR_PAW3212_ENABLE

(bool) Motion from optical sensor PAW3212

If selected, movement data it obtained from PAW3212 optical sensor.

CONFIG_DESKTOP_MOTION_BUTTONS_ENABLE

(bool) Motion from buttons

If selected, movement data it obtained from buttons.

CONFIG_DESKTOP_MOTION_SIMULATED_ENABLE

(bool) Simulated motion

If selected, movement data is simulated.

CONFIG_DESKTOP_MOTION_SENSOR_ENABLE

(bool)

None

CONFIG_DESKTOP_MOTION_SENSOR_TYPE

(string)

None

CONFIG_DESKTOP_MOTION_BUTTONS_UP_KEY_ID

(int) Up key ID

ID of key use for generating up motion.

CONFIG_DESKTOP_MOTION_BUTTONS_DOWN_KEY_ID

(int) Down key ID

ID of key use for generating down motion.

CONFIG_DESKTOP_MOTION_BUTTONS_LEFT_KEY_ID

(int) Left key ID

ID of key use for generating left motion.

CONFIG_DESKTOP_MOTION_BUTTONS_RIGHT_KEY_ID

(int) Right key ID

ID of key use for generating right motion.

CONFIG_DESKTOP_MOTION_BUTTONS_MOTION_PER_SEC

(int) Motion generated per second during a button press

None

CONFIG_DESKTOP_MOTION_SIMULATED_EDGE_TIME

(int) Time for transition between two points in a trajectory [us]

The simulated movement data will be tracing predefined path, an eight-sided polygon. Must be power of two (calculations speedup). The resolution may be limited by the precision of the system’s hardware clock.

CONFIG_DESKTOP_MOTION_SIMULATED_SCALE_FACTOR

(int) Scale factor for given shape

The simulated movement data will be tracing predefined path, an eight-sided polygon. This option defines scale factor for tracked polygon size.

CONFIG_DESKTOP_MOTION_SENSOR_THREAD_STACK_SIZE

(int) Motion module thread stack size

Stack size for motion sensor thread.

CONFIG_DESKTOP_MOTION_SENSOR_EMPTY_SAMPLES_COUNT

(int) Empty sample count before fetching is stopped

Number of sensor readouts with no movement reported after which module will switch from actively fetching samples to waiting for an interrupt from the sensor.

CONFIG_DESKTOP_MOTION_SENSOR_CPI

(int) Motion sensor default CPI

Default CPI value.

CONFIG_DESKTOP_MOTION_SENSOR_SLEEP1_TIMEOUT_MS

(int) Motion sensor default sleep 1 timeout in ms

Time in milliseconds after last motion detection in which sensor enters a low power mode 1.

CONFIG_DESKTOP_MOTION_SENSOR_SLEEP2_TIMEOUT_MS

(int) Motion sensor default sleep 2 timeout in ms

Time in milliseconds after last motion detection in which sensor enters a low power mode 2.

CONFIG_DESKTOP_MOTION_SENSOR_SLEEP3_TIMEOUT_MS

(int) Motion sensor default sleep 3 timeout in ms

Time in milliseconds after last motion detection in which sensor enters a low power mode 3.

CONFIG_DESKTOP_MOTION_SENSOR_SLEEP1_SAMPLE_TIME_DEFAULT

(int) Motion sensor default sleep1 sample time

None

CONFIG_DESKTOP_MOTION_SENSOR_SLEEP2_SAMPLE_TIME_DEFAULT

(int) Motion sensor default sleep2 sample time

None

CONFIG_DESKTOP_MOTION_SENSOR_SLEEP3_SAMPLE_TIME_DEFAULT

(int) Motion sensor default sleep3 sample time

None

CONFIG_DESKTOP_MOTION_SENSOR_SLEEP3_SAMPLE_TIME_CONNECTED

(int) Motion sensor sleep3 sample time when connected

None

CONFIG_DESKTOP_MOTION_SENSOR_SLEEP_DISABLE_ON_USB

(bool) Disable low power modes if powered from USB

Low power modes reduce device power consumption, but increase response time.

CONFIG_DESKTOP_MOTION_PM_EVENTS

(bool) Power management events support

React on power management events in motion module.

CONFIG_DESKTOP_BUTTONS_SIM_ENABLE

(bool) Enable simulated button presses generator

This option enables simulated button presses in nRF Desktop application. Could be used for debugging purposes.

CONFIG_DESKTOP_BUTTONS_SIM_INTERVAL

(int) Interval between subsequent simulated button presses [ms]

Time interval between the subsequent simulated button presses [ms].

CONFIG_DESKTOP_BUTTONS_SIM_LOOP_FOREVER

(bool) Generate buttons in infinite loop

When this option is disabled sequence of buttons is generated once. Enabling this option makes the sequence start from the beginning after it ends.

CONFIG_DESKTOP_BUTTONS_SIM_TRIGGER_KEY_ID

(hex) Button used to start/stop generating button presses

This option defines KEY ID of the button used to start/stop generation of simulated button presses in the nRF Desktop application.

CONFIG_DESKTOP_SELECTOR_HW_ENABLE

(bool) Enable HW based selector

This option enables hardware based selector for nRF Desktop application. If selector state changes, selector_event is sent.

CONFIG_DESKTOP_WHEEL_ENABLE

(bool) Enable wheel hardware interface

This option enables wheel hardware interface for nRF Desktop application. Wheel hardware interface is responsible for generating events related to rotation of the mouse wheel.

CONFIG_DESKTOP_WHEEL_SENSOR_VALUE_DIVIDER

(int) Wheel sensor value divider

A value obtained from the wheel sensor will be divided by provided argument before being processed further.

CONFIG_DESKTOP_WHEEL_SENSOR_IDLE_TIMEOUT

(int) Wheel sensor idle timeout

Time in seconds before sensor goes to idle state. If set to zero sensor is always active.

CONFIG_DESKTOP_WHEEL_INVERT_AXIS

(bool) Invert wheel axis

Switch the orientation of the wheel sensor.

CONFIG_DESKTOP_BATTERY_CHARGER_NONE

(bool) No battery charging

If selected, battery charging is disabled.

CONFIG_DESKTOP_BATTERY_CHARGER_DISCRETE

(bool) Discrete battery charger

If selected, battery charging is enabled.

CONFIG_DESKTOP_BATTERY_MEAS_NONE

(bool) No battery measurement

If selected, battery measurement is disabled.

CONFIG_DESKTOP_BATTERY_MEAS

(bool) Enable battery measurement circuit

If selected, battery measurement is enabled.

CONFIG_DESKTOP_BATTERY_MEAS_MIN_LEVEL

(int) Minimum battery voltage [mV] that corresponds to 0% level

This option specifies battery voltage [mV] that corresponds to 0% battery level.

CONFIG_DESKTOP_BATTERY_MEAS_MAX_LEVEL

(int) Maximum battery voltage [mV] that corresponds to 100% level

This option specifies battery voltage [mV] that corresponds to 100% battery level.

CONFIG_DESKTOP_BATTERY_MEAS_HAS_VOLTAGE_DIVIDER

(bool) Use voltage divider for battery measurement

Enable if voltage divider is used for battery measurement.

CONFIG_DESKTOP_BATTERY_MEAS_VOLTAGE_DIVIDER_UPPER

(int) Upper resistor in battery measurement voltage divider [kOhm]

Upper resistor value [kOhm]. Output voltage is measured on the lower resistor.

CONFIG_DESKTOP_BATTERY_MEAS_VOLTAGE_DIVIDER_LOWER

(int) Lower resistor in battery measurement voltage divider [kOhm]

Lower resistor value [kOhm]. Output voltage is measured on the lower resistor.

CONFIG_DESKTOP_VOLTAGE_TO_SOC_DELTA

(int) Difference between adjacent elements in conversion LUT [mV]

Value used to convert battery voltage [mV] to State of Charge [%].

CONFIG_DESKTOP_BATTERY_MEAS_POLL_INTERVAL_MS

(int) Time between the subsequent battery measurements [ms]

Time interval between the subsequent battery measurements [ms].

CONFIG_DESKTOP_BATTERY_MEAS_HAS_ENABLE_PIN

(bool) Use pin for enabling battery measurement

Enable if dedicated gpio0 pin is used for enabling battery measurement circuit. Pin number is configurable by CONFIG_DESKTOP_BATTERY_MEAS_ENABLE_PIN

CONFIG_DESKTOP_BATTERY_MEAS_ENABLE_PIN

(int) Battery monitoring enable pin

A pin which enables the battery measurement circuit.

CONFIG_DESKTOP_PASSKEY_NONE

(bool) Disable passkey

If selected, passkey is disabled.

CONFIG_DESKTOP_PASSKEY_BUTTONS

(bool) Passkey based on button presses

If selected, the passkey module is used to handle numeric passkey input. The input handling is based on button presses.

CONFIG_DESKTOP_PASSKEY_MAX_LEN

(int) Max number of digits in passkey

Maximum number of digits in a passkey.

CONFIG_DESKTOP_BLE_STATE

(bool) Bluetooth LE state module (CAF)

nRF Desktop uses Bluetooth LE state module from Common Application Framework (CAF).

CONFIG_DESKTOP_BLE_ADV

(bool) Bluetooth LE advertising module (CAF)

nRF Desktop uses Bluetooth LE advertising module from Common Application Framework (CAF).

By default, nRF Desktop application does not use direct advertising, but uses fast advertising and enables filter accept list.

CONFIG_CAF_BLE_ADV_POWER_DOWN_ON_DISCONNECTION_REASON_0X15

(unknown)

nRF Desktop peripherals power down and suspend Bluetooth advertising when bonded peer disconnects with reason 0x15 (Remote Device Terminated due to Power Off) to avoid waking up the HID host until user input is detected.

CONFIG_CAF_BLE_ADV_DIRECT_ADV

(unknown)

By default, nRF Desktop peripherals do not use direct advertising.

CONFIG_CAF_BLE_ADV_FAST_ADV

(unknown)

By default, nRF Desktop peripherals use fast advertising.

CONFIG_CAF_BLE_ADV_FILTER_ACCEPT_LIST

(unknown)

By default, nRF Desktop peripherals enable filter accept list.

CONFIG_BT_ADV_PROV_FLAGS

(unknown)

None

CONFIG_BT_ADV_PROV_GAP_APPEARANCE

(unknown)

None

CONFIG_BT_ADV_PROV_DEVICE_NAME

(unknown)

None

CONFIG_BT_ADV_PROV_DEVICE_NAME_PAIRING_MODE_ONLY

(unknown)

nRF Desktop provides device name also outside of pairing mode. This is done for backwards compatibility.

CONFIG_BT_ADV_PROV_SWIFT_PAIR

(unknown)

None

CONFIG_BT_ADV_PROV_FAST_PAIR

(unknown)

None

CONFIG_BT_ADV_PROV_FAST_PAIR_SHOW_UI_PAIRING

(unknown)

nRF Desktop peripheral supports one bond per local identity. Disable the UI indication during Fast Pair not discoverable advertising to prevent bonding failures.

CONFIG_BT_ADV_PROV_TX_POWER

(unknown)

None

CONFIG_DESKTOP_ADV_PROV_UUID16_ALL

(bool)

None

CONFIG_DESKTOP_POWER_MANAGER

(bool) Power manager module (CAF)

nRF Desktop uses power manager module from Common Application Framework (CAF).

By default, the nRF Desktop dongle stays on and remains idle instead of switching SoC to OFF mode after the power manager timeout.

CONFIG_DESKTOP_SETTINGS_LOADER

(bool) Settings loader module (CAF)

nRF Desktop uses settings loader module from Common Application Framework (CAF).

The settings partition is located in internal non-volatile memory. By default, nRF Desktop application, depending on the non-volatile memory technology used by the device, uses either the Zephyr Memory Storage (ZMS) or Non-Volatile Storage (NVS) settings backend. ZMS is used for the devices with the RRAM non-volatile memory that do not require explicit erase. Otherwise, the NVS is used.

CONFIG_NVS_LOG_LEVEL

(unknown)

The nRF Desktop shows only warning and error logs related to the NVS. This is done to avoid flooding logs.

CONFIG_ZMS_LOG_LEVEL

(unknown)

The nRF Desktop shows only warning and error logs related to the ZMS. This is done to avoid flooding logs.

CONFIG_SETTINGS_DYNAMIC_HANDLERS

(unknown)

The nRF Desktop does not use dynamic settings handlers. Disable the functionality by default to save memory.

CONFIG_DESKTOP_HID_STATE_ENABLE

(bool) Enable HID state

The module generates HID reports based on user input.

CONFIG_DESKTOP_HID_STATE_HID_KEYMAP_DEF_PATH

(string) File defining HID keymap

Location of configuration file that holds information about mapping between buttons and generated reports.

CONFIG_DESKTOP_HID_STATE_HID_KEYBOARD_LEDS_DEF_PATH

(string) File defining HID keyboard LEDs

Location of configuration file that holds information about LEDs associated with HID keyboard LEDs report.

CONFIG_DESKTOP_HID_STATE_SUBSCRIBER_COUNT

(int) Number of supported subscribers

The data structures representing subscribers are statically allocated. The number of allocated structures (specified by this Kconfig option) must be greater than or equal to the maximum number of simultaneously active subscribers.

CONFIG_DESKTOP_HID_STATE_PM_ENABLE

(bool) Enable HID power manager integration

This enables small module that blocks power down if HID is active.

CONFIG_DESKTOP_HID_REPORT_EXPIRATION

(int) HID report expiration [ms]

Define the time after which a HID report expires and is not sent again.

CONFIG_DESKTOP_HID_EVENT_QUEUE_SIZE

(int) HID event queue size

Size of the HID event queue.

CONFIG_DESKTOP_LED_STATE_DEF_PATH

(string) File defining used LED effects

Location of configuration file that holds information about the used LED effects.

CONFIG_DESKTOP_LED_STREAM_ENABLE

(bool) Enable LED stream

Enable RGB LED effect streaming.

CONFIG_DESKTOP_LED_STREAM_QUEUE_SIZE

(int) Stream led event queue size

Size of the LED stream event queue.

CONFIG_DESKTOP_USB_ENABLE

(bool) Enable USB module

Enables USB module. The module allows to transfer HID reports over USB.

CONFIG_DESKTOP_USB_REMOTE_WAKEUP

(bool) Enable USB remote wakeup

Enable USB remote wakeup functionality. The USB wakeup request is triggered on wake_up_event.

CONFIG_DESKTOP_USB_SUBSCRIBER_REPORT_PRIORITY

(int) USB HID reports subscriber priority

USB reports subscriber priority. The lower value means the lower priority in subscription to HID reports. By default, the USB uses the highest possible priority.

CONFIG_DESKTOP_USB_SELECTIVE_REPORT_SUBSCRIPTION

(bool) Subscribe only for predefined subset of HID reports

By default, every USB HID instance subscribes for all the HID reports. Enable this option to specify a subset of HID reports for every USB HID instance. The subset of HID reports must be specified in usb_state_def.h file in application configuration directory for given board and configuration.

CONFIG_DESKTOP_USB_PM_ENABLE

(bool) Enable USB power manager integration

This enables small module that blocks power down if the USB is active.

CONFIG_DESKTOP_USB_HID_REPORT_SENT_ON_SOF

(bool) Submit HID report sent event on USB Start of Frame (SOF) [EXPERIMENTAL]

Delay submitting hid_report_sent_event until subsequent USB Start of Frame (SOF). The feature reduces the negative impact of jitter related to USB polls. However, it also increases HID data latency, as a HID report pipeline with two sequential reports is required to ensure that the USB peripheral can provide a HID report on every USB poll.

CONFIG_DESKTOP_USB_STACK_NEXT

(bool) USB next stack [EXPERIMENTAL]

Use experimental integration of USB next stack.

The option implies partial erase of nRF SoC flash in the driver configuration to improve stability of the USB next stack. The partial erase feature works around device errors that might be reported by Windows USB host in Device Manager if USB cable is connected while erasing secondary image slot in background.

CONFIG_DESKTOP_USB_STACK_LEGACY

(bool) USB legacy stack

None

CONFIG_USB_HID_POLL_INTERVAL_MS

(unknown)

Use small USB HID Device polling interval to ensure low latency.

CONFIG_USB_HID_DEVICE_COUNT

(unknown)

By default, dongle uses a dedicated USB HID instance to forward data from given peripheral to the host. On memory-limited dongles, a single USB HID instance can be used to forward HID reports from all of the connected peripherals.

By default, peripheral uses a single USB HID instance to send all of the HID reports.

CONFIG_USB_HID_BOOT_PROTOCOL

(unknown)

None

CONFIG_DESKTOP_USB_HID_PROTOCOL_CODE

(int)

None

CONFIG_USB_DEVICE_MANUFACTURER

(unknown)

nRF Desktop defines common HID device identification values and passes them as defaults to the USB subsystem configuration.

CONFIG_USB_DEVICE_PRODUCT

(unknown)

nRF Desktop defines common HID device identification values and passes them as defaults to the USB subsystem configuration.

CONFIG_USB_DEVICE_VID

(unknown)

nRF Desktop defines common HID device identification values and passes them as defaults to the USB subsystem configuration.

CONFIG_USB_DEVICE_PID

(unknown)

nRF Desktop defines common HID device identification values and passes them as defaults to the USB subsystem configuration.

CONFIG_USBD_HID_IN_BUF_COUNT

(unknown)

nRF Desktop queues HID reports at the source. Generally there is no need to use multiple buffers in the IN pool per HID instance.

An exception is use-case where HID reports are submitted from USB sent callback (when synchronizing hid_report_sent to USB Start of Frame (SOF) enforces using pipeline size of 2). An extra buffer must be allocated to allow providing data to the USB next stack before the previously allocated buffer is freed.

CONFIG_DESKTOP_USB_STACK_NEXT_DISABLE_ON_VBUS_REMOVAL

(bool)

Disable the USB stack on VBUS removal and enable it on VBUS ready to workaround UDC driver limitations of the nRF54HX SoC.

After the USB cable is removed, the USB driver is powered down and doesn’t call appropriate callbacks to the USB stack. It may lead to the USB stack ending in a broken state. Calling usbd_disable() on VBUS removal workarounds this issue.

The usbd_enable() function blocks until USB cable is connected. If the cable is not connected during the predefined wait period (CONFIG_UDC_DWC2_USBHS_VBUS_READY_TIMEOUT), the function returns earlier with a timeout error. The function is called on VBUS ready to avoid calling usbd_enable() periodically.

CONFIG_UDC_DWC2_USBHS_VBUS_READY_TIMEOUT

(int)

For the nRF54HX SoC the timeout must be set to a non-zero value to prevent the usbd_enable() function from blocking the application forever when the USB cable is not connected.

CONFIG_DESKTOP_BLE_BOND_ENABLE

(bool) BLE bond module

Enable app-specific implementation of Bluetooth LE bond module. The module is used to control Bluetooth peers.

The module selects the CAF_BLE_BOND_SUPPORTED option to inform CAF that BLE bond module is supported by the application.

CONFIG_DESKTOP_BLE_USE_DEFAULT_ID

(bool) Use default Bluetooth local identity

Bluetooth default local identity is used as ID 0. This identity cannot be reset. After bond for the default identity is removed, it is no longer used.

CONFIG_DESKTOP_BLE_PEER_CONTROL

(bool) Enable interaction with peer configuration

Let user control Bluetooth peers by pressing a dedicated button.

CONFIG_DESKTOP_BLE_PEER_CONTROL_BUTTON

(hex) Key ID of button used to control peers

Button which should be used to control bonded Bluetooth peers.

CONFIG_DESKTOP_BLE_PEER_SELECT

(bool) Enable switching between peers

Short click to switch peer. Double click to accept choice.

CONFIG_DESKTOP_BLE_NEW_PEER_SCAN_REQUEST

(bool) Enable scanning on request

Short click to start new peer scanning. When enabled the device will look for non-bonded devices only when requested. When disabled the device always search for non-bonded devices while scanning. Regardless of the choice made the device scans periodically for already bonded peers.

CONFIG_DESKTOP_BLE_PEER_ERASE

(bool) Enable peer erase

Long click to start erase. Double click to confirm.

CONFIG_DESKTOP_BLE_PEER_ERASE_ON_START

(bool) Enable peer erase (on system start)

Hold dedicated button during system start to start erase advertising.

CONFIG_DESKTOP_BLE_DONGLE_PEER_ENABLE

(bool) Enable dongle peer

Enable additional peer to connect with dongle.

CONFIG_DESKTOP_BLE_DONGLE_PEER_SELECTOR_ID

(int) Dongle peer selector ID

ID of the hardware selector used to select the dongle peer.

CONFIG_DESKTOP_BLE_DONGLE_PEER_SELECTOR_POS

(int) Dongle peer selector position

If the selector is set to this position, the dongle peer is selected. If the selector is set to any other position, other Bluetooth LE peers are selected.

CONFIG_DESKTOP_BLE_DONGLE_PEER_ERASE_BOND_BUTTON

(bool) Allow erasing dongle peer using button

None

CONFIG_DESKTOP_BLE_DONGLE_PEER_ERASE_BOND_CONF_CHANNEL

(bool) Allow erasing dongle peer using config channel

None

CONFIG_DESKTOP_BLE_DONGLE_PEER_ID_INFO

(bool) Enable the Dongle Peer ID information event

This option enables the event that broadcasts information about the dongle peer application identity. The Bluetooth LE bond module submits the event during initialization.

CONFIG_DESKTOP_BLE_CONN_PARAMS_ENABLE

(bool) BLE connection parameters module

The module updates the Bluetooth connection parameters after the peripheral discovery, handles connection parameter update requests from the connected peripherals and increases connection interval for peripherals while USB is suspended to reduce power consumption.

CONFIG_DESKTOP_BLE_USB_MANAGED_CI

(bool) Manage connection intervals on the USB state change

Manage BLE connection intervals depending on the USB state. Allows reduced power consumption of the USB dongle device by setting a larger connection intervals while the USB enters suspended state. After the USB resumes normal operation, connection interval is set to the previous value.

CONFIG_DESKTOP_BLE_USB_MANAGED_CI_VALUE

(int) BLE connection interval when USB is suspended

Connection interval used for all connected peers while the USB is in suspended state.

CONFIG_DESKTOP_BLE_LATENCY_ENABLE

(bool) BLE latency module

Enable BLE latency module that controls Bluetooth LE connection latency. The module lowers the connection latency when configuration channel is in use or when firmware update is received by SMP (low latency ensures quick data exchange).

The module also keeps the connection latency low for LLPM connections to improve performance and disconnects Bluetooth peer if connection has not been secured in the predefined amount of time after the connection occurred.

CONFIG_DESKTOP_BLE_SECURITY_FAIL_TIMEOUT_S

(int) Security fail timeout [s]

After this time peripheral device disconnects if security is not established.

CONFIG_DESKTOP_BLE_LOW_LATENCY_LOCK

(bool) Keep the slave latency low for LLPM connections

When this option is selected, the slave latency is kept low for the LLPM connection unless device is in low power mode. This speeds up sending the first HID report after not sending a report for some connection intervals. Enabling this option increases the power consumption of the device.

CONFIG_DESKTOP_BLE_LATENCY_PM_EVENTS

(bool) Power management events support

React on power management events in BLE latency module.

CONFIG_DESKTOP_BLE_ENABLE_PASSKEY

(bool) Bluetooth LE passkey module

Enable passkey based pairing for increased security.

The feature should not be used together with Fast Pair, because Fast Pair currently does not support devices that use screen or keyboard for Bluetooth authentication.

CONFIG_BT_SMP_ENFORCE_MITM

(unknown)

Disable to allow bonding with the nRF Desktop dongle that has no MITM capabilities.

CONFIG_DESKTOP_BLE_DISCOVERY_ENABLE

(bool) Bluetooth LE discovery module

Enable device to read device description (custom GATT Service), Device Information Service and discover HIDS.

CONFIG_DESKTOP_BLE_SCAN_ENABLE

(bool) Bluetooth LE scan module

Enable device to scan for peripheral devices.

CONFIG_BT_SCAN_NAME_CNT

(unknown)

The nRF Desktop by default uses two name filters. The peripheral device may advertise either as mouse or as keyboard.

CONFIG_BT_SCAN_ADDRESS_CNT

(unknown)

The nRF Desktop needs an address filter per every bonded peripheral.

CONFIG_BT_SCAN_CONN_ATTEMPTS_FILTER

(unknown)

The connection attempts filter is enabled by default to limit number of attempts to connect to the device.

CONFIG_DESKTOP_BLE_SCAN_START_TIMEOUT_S

(int) Scan start timeout [s]

After disabled, scanning is re-enabled after defined time of connected peripherals inactivity (scanning has negative impact on user experience - e.g. may cause mouse pointer lags).

CONFIG_DESKTOP_BLE_SCAN_DURATION_S

(int) Scan duration [s]

After this time scan is disabled if any peripheral is connected.

CONFIG_DESKTOP_BLE_FORCED_SCAN_DURATION_S

(int) Forced scan duration [s]

Duration of the forced scan operation in seconds. The module enters a forced scan state right after boot or wakeup, on successful peripheral discovery, on peripheral disconnection, on connection failure, on bond erase and on scan request.

Setting forced scan duration to 0 disables the feature.

CONFIG_DESKTOP_BLE_SCAN_MOUSE_LIMIT

(int) Maximum number of bonded mice

None

CONFIG_DESKTOP_BLE_SCAN_KEYBOARD_LIMIT

(int) Maximum number of bonded keyboards

None

CONFIG_DESKTOP_BLE_NEW_PEER_SCAN_ON_BOOT

(bool) Look for peers after boot

When enabled the device will look for new peers also after it was booted.

CONFIG_DESKTOP_BLE_SCAN_PM_EVENTS

(bool) Stop and block scanning in the power down mode

Stop and block scanning for peers if the central switched to the power down mode to reduce power consumption.

CONFIG_DESKTOP_BLE_QOS_ENABLE

(bool) Bluetooth LE QoS module

Enable device to avoid congested RF channels.

CONFIG_DESKTOP_BLE_QOS_INTERVAL

(int) Processing interval for QoS thread [ms]

Configure processing interval for QoS algorithm. Longer intervals means more time to accumulate CRC stats, and vice versa.

CONFIG_DESKTOP_BLE_QOS_STACK_SIZE

(int) Base stack size for QoS thread

Configure base stack size for QoS processing thread.

CONFIG_DESKTOP_BLE_QOS_STATS_PRINTOUT_ENABLE

(bool) Enable BLE QoS statistics printout

Enable to get real-time QoS information printouts via CDC ACM.

CONFIG_DESKTOP_BLE_QOS_STATS_PRINT_STACK_SIZE

(int) Stack size addition for QoS printout

This size increase is added to the QoS base stack size to facilitate statistics printout.

CONFIG_DESKTOP_DEV_DESCR_ENABLE

(bool) Device description module

The device description module defines custom GATT Service, which contains information about whether the peripheral supports the Low Latency Packet Mode (LLPM) and Hardware ID (HW ID) of the peripheral.

CONFIG_DESKTOP_DFU_MCUMGR_ENABLE

(bool) Enable DFU using MCUmgr [EXPERIMENTAL]

This option enables an alternative method of performing DFU using the MCUmgr module.

CONFIG_DESKTOP_DFU_MCUMGR_MCUBOOT_DIRECT_XIP

(bool) Device uses MCUboot bootloader in direct-xip mode

The option informs the MCUmgr DFU module that the MCUboot bootloader supports direct-xip mode. In this mode, the image is booted directly from the secondary slot instead of moving it to the primary slot. The module by default assumes that MCUboot with direct-xip is used when direct-xip variant image is built.

The MCUmgr DFU module assumes that MCUboot direct-xip bootloader simply boots the image with a higher version. The module does not confirm the newly updated image after a successful boot.

CONFIG_DESKTOP_DFU_BACKEND_MCUBOOT

(bool) Use MCUboot as DFU backend

This option enables the MCUboot bootloader as the backend for the MCUmgr DFU module.

CONFIG_DESKTOP_DFU_BACKEND_SUIT

(bool) Use SUIT as DFU backend

This option enables the SUIT as the backend for the MCUmgr DFU module.

CONFIG_DESKTOP_FACTORY_RESET

(bool) Factory reset module

The module allows to trigger factory reset using configuration channel set operation. The factory reset clears the stored Fast Pair data, removes Bluetooth bonds and resets all of the Bluetooth local identities (apart from the default one that cannot be reset). The factory reset is performed using nRF Connect SDK Fast Pair API.

CONFIG_DESKTOP_FAST_PAIR

(bool) Fast Pair module

Enable a small application module that control Fast Pair show/hide UI indication during Fast Pair not discoverable advertising.

CONFIG_DESKTOP_FAST_PAIR_LIMIT_NORMAL_PAIRING

(bool) Allow normal Bluetooth pairing only in pairing mode

Register Bluetooth authentication callbacks and reject normal Bluetooth pairing when outside of pairing mode (if the used Bluetooth local identity already has a bonded peer).

CONFIG_DESKTOP_FAST_PAIR_MAX_LOCAL_ID_BONDS

(int)

None

CONFIG_DESKTOP_SWIFT_PAIR

(bool) Swift Pair module

Enable a small application module that controls enabling or disabling Swift Pair advertising payload.

CONFIG_DESKTOP_SWIFT_PAIR_ADV_DONGLE_PEER

(bool) Enable Swift Pair advertising payload for dongle peer

Enable Swift Pair advertising payload for the dongle peer.

In configurations that support Fast Pair, the dongle peer is used to connect with all of the Bluetooth Centrals that are not Fast Pair Seekers. The general Bluetooth peer is intended to be used with Fast Pair Seekers.

CONFIG_DESKTOP_SWIFT_PAIR_ADV_GENERAL_PEER

(bool) Enable Swift Pair advertising payload for general Bluetooth peers

Enable Swift Pair advertising payload for general Bluetooth peers.

In configurations that do not support Fast Pair, the dongle peer is used only for connection with nRF Desktop dongle. The general Bluetooth peers are used to connect with other Bluetooth Centrals.

CONFIG_DESKTOP_HIDS_ENABLE

(bool) Enable GATT HID Service

This option enables HID over GATT Service application module.

CONFIG_DESKTOP_HIDS_FIRST_REPORT_DELAY

(int) First HID report delay [ms]

If set to non-zero, the peripheral will delay sending first HID report after the connection security was established. This is done to ensure that central will be ready to receive the data. nRF Desktop centrals reenable the subscriptions on every reconnection. HID report is dropped if received before the subscription was reenabled.

By default, nRF Desktop keyboard uses a delay of 500 ms to prevent dropping HID reports right after reconnection.

CONFIG_DESKTOP_HIDS_SUBSCRIBER_PRIORITY

(int) HID service reports subscriber priority

HID Service over GATT reports subscriber priority. The lower value means the lower priority in subscription to HID reports. By default, the HID service uses the lowest possible priority.

CONFIG_BT_HIDS_ATTR_MAX

(unknown)

The maximum number of GATT attribute descriptors for HIDS is set assuming that nRF Desktop peripheral supports all of the HID input and output reports defined in default configuration for the selected peripheral type, boot protocol and HID feature report used by the configuration channel.

Make sure to update the value if you enable additional HID reports.

CONFIG_BT_HIDS_INPUT_REP_MAX

(unknown)

nRF Desktop mouse by default uses only HID mouse input report. nRF Desktop keyboard by default uses HID keyboard, system control and consumer control input reports.

Make sure to update the value if you enable an additional HID input report.

CONFIG_BT_HIDS_OUTPUT_REP_MAX

(unknown)

nRF Desktop Bluetooth peripheral by default uses HID output reports for configuration channel and keyboard LEDs.

CONFIG_BT_HIDS_FEATURE_REP_MAX

(unknown)

nRF Desktop Bluetooth peripheral by default uses HID feature report only for the configuration channel.

CONFIG_DESKTOP_HID_FORWARD_ENABLE

(bool) Enable HID forward

This option enables HID over GATT Client. The reports received from the BLE are forwarded to the USB.

CONFIG_DESKTOP_HID_FORWARD_SUBSCRIBER_COUNT

(int) Number of HID subscribers

By default, the module uses a dedicated HID subscriber (USB HID class instance) for every BLE bonded HID peripheral. Set this option to 1 to forward all of the HID reports received from HID peripherals to one subscriber (required if using a single USB HID instance).

The configured number of HID subscribers must match number of USB HID class instances.

CONFIG_BT_HOGP_REPORTS_MAX

(unknown)

By default, nRF Desktop dongle supports up to 12 HID reports to allow for connecting two peripherals with up to 6 HID reports each on average.

CONFIG_DESKTOP_BAS_ENABLE

(bool) Enable GATT Battery Service

This option enables GATT Battery Service application module.

CONFIG_DESKTOP_QOS_ENABLE

(bool) QoS service

This option enables QoS service.

CONFIG_DESKTOP_CONFIG_CHANNEL_ENABLE

(bool) Enable user configuration channel

Enables user to change firmware parameters at runtime over the configuration channel.

CONFIG_DESKTOP_CONFIG_CHANNEL_OUT_REPORT

(bool) Enable additional HID output report

Use additional HID output report for configuration channel data transfer. The HID output report is used only by nRF Desktop dongle, other hosts use the HID feature report.

For HID output reports, the dongle can use write without response. In that case LLPM peripheral does not have to respond instead of providing HID notification during one connection event.

Using HID output report prevents report rate drops when forwarding configuration channel data, but it increases memory consumption of the peripheral.

The config channel HID output report is handled in a dedicated way. It does not use the same infrastructure as other HID output reports.

CONFIG_DESKTOP_CONFIG_CHANNEL_TIMEOUT

(int) Transaction timeout on configuration channel in seconds

Timeout [s] after which config channel transaction is dropped.

CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE

(bool) DFU over the config channel

This option enables DFU over the config channel.

CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_SYNC_BUFFER_SIZE

(int) Size (in words) of sync buffer

Number of words DFU data synchronization buffer will use. The new image data is first transmitted to this RAM located buffer. When host performs progress synchronization the data is moved from RAM to flash. The host must perform progress synchronization at least every synchronization buffer bytes count.

CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_MCUBOOT_DIRECT_XIP

(bool) Device uses MCUboot bootloader in direct-xip mode

The option informs the DFU module that the MCUboot bootloader supports direct-xip mode. In this mode, the image is booted directly from the secondary slot instead of moving it to the primary slot. The module by default assumes that MCUboot with direct-xip is used when direct-xip variant image is built.

The DFU module assumes that MCUboot direct-xip bootloader simply boots the image with a higher version. The module does not mark the newly uploaded image as pending nor confirm it after a successful boot.

CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_VID

(hex) Configuration channel Vendor ID

Configuration channel allows devices to report their Vendor ID. The Vendor ID is reported together with Product ID and device generation.

The information is useful if nRF Desktop peripheral is connected through nRF Desktop dongle and host computer has no direct access to the VID and PID.

CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_PID

(hex) Configuration channel Product ID

Configuration channel allows devices to report their Product ID. The Product ID is reported together with Vendor ID and device generation.

The information is useful if nRF Desktop peripheral is connected through nRF Desktop dongle and host computer has no direct access to the VID and PID.

CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_GENERATION

(string) Device generation

Configuration channel allows devices to report their generation. The generation is reported together with Vendor ID and Product ID.

CONFIG_DESKTOP_FN_KEYS_ENABLE

(bool) Enable function keys support

Button remapper adds fn bit to all key ids while fn key is pressed.

CONFIG_DESKTOP_FN_KEYS_SWITCH

(hex) Fn button

Define button used as a function key.

CONFIG_DESKTOP_FN_KEYS_LOCK

(hex) Fn lock button

Define button used as a function key lock.

CONFIG_DESKTOP_STORE_FN_LOCK

(bool) Store Fn lock state

Define if device should store Fn lock state after reboot.

CONFIG_DESKTOP_FN_KEYS_MAX_ACTIVE

(int) Max Fn key pressed

Maximum number of function keys pressed at the same time.

CONFIG_DESKTOP_WATCHDOG_ENABLE

(bool) Enable watchdog support

Enable watchdog to reset the device in case of problems.

CONFIG_DESKTOP_WATCHDOG_TIMEOUT

(int) Watchdog timeout value [ms]

Timeout of watchdog timer. After the time elapse a device will be restarted.

CONFIG_DESKTOP_HFCLK_LOCK_ENABLE

(bool) Keep HF clock enabled

Keeping the HF clock enabled is needed to reduce the latency before the first packet (in a row) is transmitted over the BLE. If disabled a startup delay of around 1.5 ms will be added to overall latency of the first packet. If enabled current consumption is increased.

CONFIG_DESKTOP_CONSTLAT_ENABLE

(bool) Constant latency interrupts

When enabled, the SoC uses configuration for constant latency interrupts. This reduces interrupt propagation time but increases power consumption.

Currently, the nRF54L Series SoCs do not support the nrfx POWER driver (CONFIG_NRFX_POWER). Because of that, the hotfix cannot be used by these SoCs.

nRF54H Series SoCs do not enable constant latency interrupts through the nrfx POWER driver. This SoC series is currently not supported by the hotfix.

CONFIG_DESKTOP_CONSTLAT_DISABLE_ON_STANDBY

(bool) Disable constant latency interrupts on standby

When enabled constant latency interrupts will be disabled when the devices switches to standby.

CONFIG_DESKTOP_FAILSAFE_ENABLE

(bool) Enable failsafe

When a device is rebooted by watchdog or due to the CPU lockup, the settings partition will be erased. This is to prevent the broken settings from permanently rendering the device unusable.

CONFIG_DESKTOP_CPU_MEAS_ENABLE

(bool) Enable measuring CPU load

The CPU load is sent periodically using dedicated application event.

CONFIG_DESKTOP_CPU_MEAS_PERIOD

(int) Time between subsequent CPU load events [ms]

The CPU load event is submitted periodically by a delayed work. When the event is submitted, application module resets measurement. According to CPU load subsystem documentation, measurement must be reset at least every 4294 seconds. Otherwise results are invalid.

CONFIG_DESKTOP_NRF_PROFILER_SYNC_GPIO_ENABLE

(bool) Enable nrf_profiler sync based on GPIO

This option can be used to synchronize timestamps for nrf_profiler events on two devices.

When this option is enabled nRF Desktop devices generate nrf_profiler event (sync_event) that is used for synchronization. Central generates square wave using GPIO, peripheral reacts on the edges. Make sure that selected pins of the central and the peripheral are connected together.

CONFIG_DESKTOP_NRF_PROFILER_SYNC_CENTRAL

(bool) Central

This is the default option, the device is central.

CONFIG_DESKTOP_NRF_PROFILER_SYNC_PERIPHERAL

(bool) Peripheral

If selected, the device is peripheral.

CONFIG_DESKTOP_NRF_PROFILER_SYNC_GPIO_PORT

(int) Sync GPIO port

This option defines which GPIO port is to be used to generate/receive synchronization signal. The signal is used to synchronize timestamps between two different devices.

CONFIG_DESKTOP_NRF_PROFILER_SYNC_GPIO_PIN

(int) Sync GPIO pin

This option defines which GPIO pin is to be used to generate/receive synchronization signal. The signal is used to synchronize timestamps between two different devices.

CONFIG_DESKTOP_DVFS

(bool) DVFS module [EXPERIMENTAL]

This option enable DVFS module which switches frequency and voltage according to application needs.

CONFIG_DESKTOP_DVFS_FREQ_HIGH

(int)

None

CONFIG_DESKTOP_DVFS_FREQ_MED

(int)

None

CONFIG_DESKTOP_DVFS_FREQ_LOW

(int)

None

CONFIG_DESKTOP_DVFS_RETRY_BUSY_TIMEOUT_MS

(int) Retry timeout

Timeout in milliseconds specifying time after which DVFS module will retry DVFS frequency change. This timeout is applied in case another DVFS change request is still in progress which causes the current request to fail.

CONFIG_DESKTOP_DVFS_RETRY_INIT_TIMEOUT_MS

(int) Retry timeout

Timeout in milliseconds specifying time after which DVFS module will retry DVFS frequency change. This timeout is applied in case DVFS is not yet initialized which causes the current request to fail.

CONFIG_DESKTOP_DVFS_RETRY_COUNT

(int) Number of retries

Number of retries of DVFS frequency change after which DVFS module will report MODULE_STATE_ERROR.

CONFIG_DESKTOP_DVFS_STATE_INITIALIZING_ENABLE

(bool) Handle the DVFS INITIALIZING state

None

CONFIG_DESKTOP_DVFS_STATE_INITIALIZING_TIMEOUT_MS

(int) Timeout in milliseconds for the DVFS INITIALIZING state

Timeout in milliseconds specifying time after which DVFS request related to the DVFS $(dvfs_state) state times out. A request is automatically cleared on timeout.

CONFIG_DESKTOP_DVFS_STATE_INITIALIZING_ACTIVE_FREQ_HIGH

(bool) High frequency

None

CONFIG_DESKTOP_DVFS_STATE_INITIALIZING_ACTIVE_FREQ_MEDLOW

(bool) Medium low frequency

None

CONFIG_DESKTOP_DVFS_STATE_LLPM_CONNECTED_ENABLE

(bool) Handle the DVFS LLPM_CONNECTED state

None

CONFIG_DESKTOP_DVFS_STATE_LLPM_CONNECTED_TIMEOUT_MS

(int) Timeout in milliseconds for the DVFS LLPM_CONNECTED state

Timeout in milliseconds specifying time after which DVFS request related to the DVFS $(dvfs_state) state times out. A request is automatically cleared on timeout.

CONFIG_DESKTOP_DVFS_STATE_LLPM_CONNECTED_ACTIVE_FREQ_HIGH

(bool) High frequency

None

CONFIG_DESKTOP_DVFS_STATE_LLPM_CONNECTED_ACTIVE_FREQ_MEDLOW

(bool) Medium low frequency

None

CONFIG_DESKTOP_DVFS_STATE_USB_CONNECTED_ENABLE

(bool) Handle the DVFS USB_CONNECTED state

None

CONFIG_DESKTOP_DVFS_STATE_USB_CONNECTED_TIMEOUT_MS

(int) Timeout in milliseconds for the DVFS USB_CONNECTED state

Timeout in milliseconds specifying time after which DVFS request related to the DVFS $(dvfs_state) state times out. A request is automatically cleared on timeout.

CONFIG_DESKTOP_DVFS_STATE_USB_CONNECTED_ACTIVE_FREQ_HIGH

(bool) High frequency

None

CONFIG_DESKTOP_DVFS_STATE_USB_CONNECTED_ACTIVE_FREQ_MEDLOW

(bool) Medium low frequency

None

CONFIG_DESKTOP_DVFS_STATE_CONFIG_CHANNEL_ENABLE

(bool) Handle the DVFS CONFIG_CHANNEL state

None

CONFIG_DESKTOP_DVFS_STATE_CONFIG_CHANNEL_TIMEOUT_MS

(int) Timeout in milliseconds for the DVFS CONFIG_CHANNEL state

Timeout in milliseconds specifying time after which DVFS request related to the DVFS $(dvfs_state) state times out. A request is automatically cleared on timeout.

CONFIG_DESKTOP_DVFS_STATE_CONFIG_CHANNEL_ACTIVE_FREQ_HIGH

(bool) High frequency

None

CONFIG_DESKTOP_DVFS_STATE_CONFIG_CHANNEL_ACTIVE_FREQ_MEDLOW

(bool) Medium low frequency

None

CONFIG_DESKTOP_DVFS_STATE_SMP_TRANSFER_ENABLE

(bool) Handle the DVFS SMP_TRANSFER state

None

CONFIG_DESKTOP_DVFS_STATE_SMP_TRANSFER_TIMEOUT_MS

(int) Timeout in milliseconds for the DVFS SMP_TRANSFER state

Timeout in milliseconds specifying time after which DVFS request related to the DVFS $(dvfs_state) state times out. A request is automatically cleared on timeout.

CONFIG_DESKTOP_DVFS_STATE_SMP_TRANSFER_ACTIVE_FREQ_HIGH

(bool) High frequency

None

CONFIG_DESKTOP_DVFS_STATE_SMP_TRANSFER_ACTIVE_FREQ_MEDLOW

(bool) Medium low frequency

None

CONFIG_DESKTOP_HID_REPORTQ

(bool) Enable HID report queue utility

The HID report queue utility can be used to enqueue HID reports from connected HID peripherals. The queue simplifies integrating new modules that receive HID reports from peripherals.

On the HID peripheral, the HID state module is used as a source of HID input reports. The HID state module does not use the HID report queue utility.

CONFIG_DESKTOP_HID_REPORTQ_MAX_ENQUEUED_REPORTS

(int) Maximum number of enqueued HID reports

Maximum number of enqueued HID report events is limited to control memory usage. The limit is defined separately for every HID input report ID.

CONFIG_DESKTOP_HID_REPORTQ_QUEUE_COUNT

(int) Number of supported HID report queues

Maximum number of HID report queues that can be used simultaneously.

CONFIG_DESKTOP_HWID

(bool) Hardware ID module

Enable nRF Desktop hardware ID utility. The hardware ID is obtained from Zephyr hwinfo driver.

CONFIG_DESKTOP_DFU_LOCK

(bool) DFU lock module

Enable nRF Desktop DFU lock module for synchronizing multiple DFU methods.

The module is automatically enabled when the Config Channel DFU and the MCUmgr DFU are both enabled.

CONFIG_DESKTOP_COMMON

(bool)

None

CONFIG_DESKTOP_COMMON_MODULES

(bool)

None