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.
- 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).
By default, nRF Desktop application uses non-volatile storage backend and the settings partition is located in internal FLASH.
- 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_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.
The DWC2 USB device controller driver used by the nRF54H20 SoC does not support the remote wakeup capability. Because of that, the feature is disabled in the configuration.
- 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_INIT_THREAD
(bool)
Initialize USB stack in a separate thread instead of doing it in the context of the system workqueue. For the nRF54HX SoC use-case, the usbd_init() function blocks while waiting for a synchronization object that is received after the system controller sends the USB service event through the NRFS and IPC with the ICMSG backend to the application core. The ICMSG backend uses the system workqueue context for both initialization and on the incoming message handling, so calling the usbd_init() function from the same context causes deadlock during application boot.
- CONFIG_DESKTOP_USB_INIT_THREAD_STACK_SIZE
(int)
None
- CONFIG_DESKTOP_USB_INIT_THREAD_PRIORITY
(int)
None
- CONFIG_DESKTOP_USB_INIT_THREAD_DELAY_MS
(int)
Due to an issue in the USB stack initialization on the nRF54HX SoC, the usbd_init() cannot be called too early. The delay is introduced to delay this call.
- CONFIG_DESKTOP_USB_STACK_NEXT
(bool)
USB next stack [EXPERIMENTAL]
Use experimental integration of USB next stack.
- 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 USB stack on VBUS removal. This is a workaround for the USB driver not working correctly on 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. When this option is enabled, the usb_init_thread will be used to call the usbd_enable() and usbd_disable() functions on VBUS events. This is done because the usbd_enable() function blocks if the USB cable is not connected. A separate thread allows the application to trigger a reboot from the workqueue context to prevent blocking the application forever.
- 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_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. The option automatically enables 8-bit write block size emulation to ensure that update images with size unaligned to word size can be handled while writing to SoC FLASH.
- 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 SoC will use configuration for constant latency interrupts. This reduces interrupt propagation time but increases power consumption.
- 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
This option enable DVFS module which switches frequency and voltage according to application needs.
- 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