2020-11-18 14:15:00 -08:00
|
|
|
# Copyright (c) 2020 The ZMK Contributors
|
|
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
|
2020-05-01 20:10:11 -07:00
|
|
|
mainmenu "ZMK Firmware"
|
|
|
|
|
2020-10-11 17:36:32 -07:00
|
|
|
menu "ZMK"
|
|
|
|
|
|
|
|
menu "Basic Keyboard Setup"
|
2020-10-11 18:05:27 -07:00
|
|
|
|
2020-05-28 21:15:57 -07:00
|
|
|
config ZMK_KEYBOARD_NAME
|
2023-04-22 21:25:56 -07:00
|
|
|
string "Keyboard Name"
|
2020-05-28 21:15:57 -07:00
|
|
|
|
|
|
|
config USB_DEVICE_PRODUCT
|
2023-04-22 21:25:56 -07:00
|
|
|
default ZMK_KEYBOARD_NAME
|
2020-05-28 21:15:57 -07:00
|
|
|
|
|
|
|
config BT_DEVICE_NAME
|
2023-04-22 21:25:56 -07:00
|
|
|
default ZMK_KEYBOARD_NAME
|
2020-05-28 21:15:57 -07:00
|
|
|
|
2020-10-20 19:47:49 -07:00
|
|
|
config USB_DEVICE_VID
|
2023-04-22 21:25:56 -07:00
|
|
|
default 0x1D50
|
2020-10-20 19:47:49 -07:00
|
|
|
|
|
|
|
config USB_DEVICE_PID
|
2023-04-22 21:25:56 -07:00
|
|
|
default 0x615E
|
2020-10-20 19:47:49 -07:00
|
|
|
|
|
|
|
config USB_DEVICE_MANUFACTURER
|
2023-04-22 21:25:56 -07:00
|
|
|
default "ZMK Project"
|
2020-10-20 19:47:49 -07:00
|
|
|
|
2022-10-04 20:37:45 -07:00
|
|
|
config BT_DIS_PNP_VID
|
2023-04-22 21:25:56 -07:00
|
|
|
default 0x1D50
|
2022-10-04 20:37:45 -07:00
|
|
|
|
|
|
|
config BT_DIS_PNP_PID
|
2023-04-22 21:25:56 -07:00
|
|
|
default 0x615E
|
2022-10-04 20:37:45 -07:00
|
|
|
|
|
|
|
config BT_DIS_MODEL
|
2023-04-22 21:25:56 -07:00
|
|
|
default ZMK_KEYBOARD_NAME
|
2022-10-04 20:37:45 -07:00
|
|
|
|
|
|
|
config BT_DIS_MANUF
|
2023-04-22 21:25:56 -07:00
|
|
|
default "ZMK Project"
|
2022-10-04 20:37:45 -07:00
|
|
|
|
2023-12-04 14:39:41 -08:00
|
|
|
# Hardware specific overrides
|
|
|
|
|
|
|
|
if SOC_SERIES_NRF52X
|
|
|
|
|
|
|
|
# Default on for our usage until boards implement retained bootmode.
|
|
|
|
config NRF_STORE_REBOOT_TYPE_GPREGRET
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2021-03-14 21:40:09 -07:00
|
|
|
menu "HID"
|
|
|
|
|
|
|
|
choice ZMK_HID_REPORT_TYPE
|
2023-04-22 21:25:56 -07:00
|
|
|
prompt "HID Report Type"
|
2021-03-14 21:40:09 -07:00
|
|
|
|
|
|
|
config ZMK_HID_REPORT_TYPE_HKRO
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "#-Key Roll Over (HKRO) HID Report"
|
|
|
|
help
|
|
|
|
Enable # key roll over for HID report. This selection is "boot keyboard" compatible
|
|
|
|
but limits the total number of possible keys to report as held to #.
|
2021-03-14 21:40:09 -07:00
|
|
|
|
|
|
|
config ZMK_HID_REPORT_TYPE_NKRO
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Full N-Key Roll Over (NKRO) HID Report"
|
|
|
|
help
|
|
|
|
Enable full N-Key Roll Over for HID output. This selection will prevent the keyboard
|
|
|
|
from working with some BIOS/UEFI versions that only support "boot keyboard" support.
|
2023-12-04 15:24:05 -08:00
|
|
|
This option also prevents using some infrequently used higher range HID usages (notably F13-F24 and INTL1-9)
|
|
|
|
These usages can be re enabled with ZMK_HID_KEYBOARD_NKRO_EXTENDED_REPORT.
|
2021-03-14 21:40:09 -07:00
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2023-12-04 15:24:05 -08:00
|
|
|
config ZMK_HID_KEYBOARD_NKRO_EXTENDED_REPORT
|
|
|
|
bool "Enable extended NKRO reporting"
|
|
|
|
depends on ZMK_HID_REPORT_TYPE_NKRO
|
|
|
|
help
|
|
|
|
Enables higher usage range for NKRO (F13-F24 and INTL1-9).
|
|
|
|
Please note this is not compatible with Android currently and you will get no input
|
|
|
|
|
|
|
|
|
2021-03-14 21:40:09 -07:00
|
|
|
if ZMK_HID_REPORT_TYPE_HKRO
|
|
|
|
|
|
|
|
config ZMK_HID_KEYBOARD_REPORT_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
int "# Keyboard Keys Reportable"
|
|
|
|
default 6
|
2021-03-14 21:40:09 -07:00
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
config ZMK_HID_CONSUMER_REPORT_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
int "# Consumer Keys Reportable"
|
|
|
|
default 6
|
2021-03-14 21:40:09 -07:00
|
|
|
|
2021-10-04 19:41:56 -07:00
|
|
|
|
|
|
|
choice ZMK_HID_CONSUMER_REPORT_USAGES
|
2023-04-22 21:25:56 -07:00
|
|
|
prompt "HID Report Type"
|
2021-10-04 19:41:56 -07:00
|
|
|
|
|
|
|
config ZMK_HID_CONSUMER_REPORT_USAGES_FULL
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Full Consumer HID Usage Support"
|
|
|
|
help
|
|
|
|
Enable full Consumer usage ID values to be sent to hosts. Allows for less
|
|
|
|
frequently used usages, but has compatibability issues with some host OSes.
|
2021-10-04 19:41:56 -07:00
|
|
|
|
|
|
|
config ZMK_HID_CONSUMER_REPORT_USAGES_BASIC
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Basic Consumer HID Usage Support"
|
|
|
|
help
|
|
|
|
Enable Consumer usage ID values up to "Playback Speed - Slow" to be sent to
|
|
|
|
hosts. Allows for broader compatibability with more host OSes.
|
2021-10-04 19:41:56 -07:00
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2022-09-06 05:29:07 -07:00
|
|
|
config ZMK_HID_INDICATORS
|
|
|
|
bool "HID Indicators"
|
|
|
|
help
|
|
|
|
Enable HID indicators, used for detecting state of Caps/Scroll/Num Lock,
|
|
|
|
Kata, and Compose.
|
|
|
|
|
2021-03-14 21:40:09 -07:00
|
|
|
menu "Output Types"
|
2020-05-28 21:15:57 -07:00
|
|
|
|
2020-10-11 18:05:27 -07:00
|
|
|
config ZMK_USB
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "USB"
|
2023-11-13 11:00:28 -08:00
|
|
|
depends on (!ZMK_SPLIT || (ZMK_SPLIT && ZMK_SPLIT_ROLE_CENTRAL))
|
2023-04-22 21:25:56 -07:00
|
|
|
select USB
|
|
|
|
select USB_DEVICE_STACK
|
|
|
|
select USB_DEVICE_HID
|
2020-05-28 21:15:57 -07:00
|
|
|
|
2023-11-13 11:00:28 -08:00
|
|
|
config ZMK_USB_BOOT
|
|
|
|
bool "USB Boot Protocol Support"
|
|
|
|
depends on ZMK_USB
|
|
|
|
select USB_HID_BOOT_PROTOCOL
|
|
|
|
select USB_DEVICE_SOF
|
|
|
|
|
2020-10-31 05:24:38 -07:00
|
|
|
if ZMK_USB
|
2020-07-07 07:20:23 -07:00
|
|
|
|
2020-07-14 07:12:25 -07:00
|
|
|
config USB_NUMOF_EP_WRITE_RETRIES
|
2023-04-22 21:25:56 -07:00
|
|
|
default 10
|
2020-07-14 07:12:25 -07:00
|
|
|
|
2022-04-26 10:59:16 -07:00
|
|
|
config USB_HID_POLL_INTERVAL_MS
|
2023-04-22 21:25:56 -07:00
|
|
|
default 1
|
2022-04-26 10:59:16 -07:00
|
|
|
|
2020-10-31 05:24:38 -07:00
|
|
|
#ZMK_USB
|
2020-07-07 07:20:23 -07:00
|
|
|
endif
|
|
|
|
|
2020-12-03 13:04:48 -08:00
|
|
|
menuconfig ZMK_BLE
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "BLE (HID over GATT)"
|
|
|
|
select BT
|
|
|
|
select BT_SMP
|
|
|
|
select BT_SMP_SC_PAIR_ONLY
|
|
|
|
select BT_SMP_APP_PAIRING_ACCEPT
|
|
|
|
select BT_PERIPHERAL
|
|
|
|
select BT_DIS
|
2023-07-12 23:00:05 -07:00
|
|
|
imply BT_SETTINGS if !ARCH_POSIX
|
|
|
|
imply SETTINGS if !ARCH_POSIX
|
|
|
|
imply ZMK_BATTERY_REPORTING if !ARCH_POSIX
|
2020-05-12 10:22:07 -07:00
|
|
|
|
2020-05-18 12:07:37 -07:00
|
|
|
if ZMK_BLE
|
|
|
|
|
2023-12-13 10:59:24 -08:00
|
|
|
config ZMK_BLE_EXPERIMENTAL_CONN
|
|
|
|
bool "Experimental BLE connection changes"
|
|
|
|
help
|
|
|
|
Enables a combination of settings that are planned to be default in future versions of ZMK
|
2024-05-13 13:47:33 -07:00
|
|
|
to improve connection stability. This includes changes to timing on BLE pairing initiation,
|
2023-12-13 10:59:24 -08:00
|
|
|
restores use of the updated/new LLCP implementation, and disables 2M PHY support.
|
|
|
|
|
|
|
|
config ZMK_BLE_EXPERIMENTAL_SEC
|
|
|
|
bool "Experimental BLE security changes"
|
2023-12-06 15:07:20 -08:00
|
|
|
imply BT_SMP_ALLOW_UNAUTH_OVERWRITE
|
2023-12-04 11:11:12 -08:00
|
|
|
help
|
2023-12-13 10:59:24 -08:00
|
|
|
Enables a combination of settings that are planned to be officially supported in the future.
|
|
|
|
This includes enabling BT Secure Connection passkey entry, and allows overwrite of keys from
|
|
|
|
previously paired hosts.
|
|
|
|
|
|
|
|
config ZMK_BLE_EXPERIMENTAL_FEATURES
|
|
|
|
bool "Experimental BLE connection and security settings/features"
|
|
|
|
select ZMK_BLE_EXPERIMENTAL_CONN
|
|
|
|
select ZMK_BLE_EXPERIMENTAL_SEC
|
|
|
|
help
|
|
|
|
Enables experimental connection changes and security features.
|
2023-12-04 11:11:12 -08:00
|
|
|
|
|
|
|
config ZMK_BLE_PASSKEY_ENTRY
|
|
|
|
bool "Require passkey entry on the keyboard to complete pairing"
|
|
|
|
select RING_BUFFER
|
|
|
|
|
2023-12-13 10:59:24 -08:00
|
|
|
config BT_SMP_ALLOW_UNAUTH_OVERWRITE
|
|
|
|
imply ZMK_BLE_PASSKEY_ENTRY
|
|
|
|
|
2023-12-06 15:07:20 -08:00
|
|
|
config BT_CTLR_PHY_2M
|
2023-12-13 10:59:24 -08:00
|
|
|
default n if ZMK_BLE_EXPERIMENTAL_CONN
|
2023-12-06 15:07:20 -08:00
|
|
|
|
|
|
|
# BT_TINYCRYPT_ECC is required for BT_SMP_SC_PAIR_ONLY when using HCI
|
|
|
|
config BT_TINYCRYPT_ECC
|
|
|
|
default y if BT_HCI && !BT_CTLR
|
|
|
|
|
2020-07-16 12:50:41 -07:00
|
|
|
config SYSTEM_WORKQUEUE_STACK_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
default 4096 if SOC_RP2040
|
|
|
|
default 2048
|
2020-07-16 12:50:41 -07:00
|
|
|
|
2020-12-03 13:04:48 -08:00
|
|
|
config ZMK_BLE_THREAD_STACK_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
int "BLE notify thread stack size"
|
2023-05-21 21:27:41 -07:00
|
|
|
default 768
|
2020-12-03 13:04:48 -08:00
|
|
|
|
|
|
|
config ZMK_BLE_THREAD_PRIORITY
|
2023-04-22 21:25:56 -07:00
|
|
|
int "BLE notify thread priority"
|
|
|
|
default 5
|
2020-12-03 13:04:48 -08:00
|
|
|
|
|
|
|
config ZMK_BLE_KEYBOARD_REPORT_QUEUE_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Max number of keyboard HID reports to queue for sending over BLE"
|
|
|
|
default 20
|
2020-12-03 13:04:48 -08:00
|
|
|
|
|
|
|
config ZMK_BLE_CONSUMER_REPORT_QUEUE_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Max number of consumer HID reports to queue for sending over BLE"
|
|
|
|
default 5
|
2020-12-03 13:04:48 -08:00
|
|
|
|
2021-04-27 08:24:11 -07:00
|
|
|
config ZMK_BLE_MOUSE_REPORT_QUEUE_SIZE
|
|
|
|
int "Max number of mouse HID reports to queue for sending over BLE"
|
|
|
|
default 20
|
|
|
|
|
2020-09-03 10:21:01 -07:00
|
|
|
config ZMK_BLE_CLEAR_BONDS_ON_START
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Configuration that clears all bond information from the keyboard on startup."
|
2020-09-03 10:21:01 -07:00
|
|
|
|
2020-05-28 21:15:57 -07:00
|
|
|
# HID GATT notifications sent this way are *not* picked up by Linux, and possibly others.
|
|
|
|
config BT_GATT_NOTIFY_MULTIPLE
|
2023-04-22 21:25:56 -07:00
|
|
|
default n
|
2020-05-28 21:15:57 -07:00
|
|
|
|
2021-11-08 20:19:55 -08:00
|
|
|
config BT_GATT_AUTO_SEC_REQ
|
2024-01-06 00:46:58 -08:00
|
|
|
default (ZMK_SPLIT_BLE && !ZMK_SPLIT_ROLE_CENTRAL)
|
2021-11-08 20:19:55 -08:00
|
|
|
|
2020-05-28 21:15:57 -07:00
|
|
|
config BT_DEVICE_APPEARANCE
|
2023-04-22 21:25:56 -07:00
|
|
|
default 961
|
2020-05-28 21:15:57 -07:00
|
|
|
|
2021-07-04 00:06:05 -07:00
|
|
|
config BT_PERIPHERAL_PREF_MIN_INT
|
2023-04-22 21:25:56 -07:00
|
|
|
default 6
|
2021-07-04 00:06:05 -07:00
|
|
|
|
|
|
|
config BT_PERIPHERAL_PREF_MAX_INT
|
2023-04-22 21:25:56 -07:00
|
|
|
default 12
|
2021-07-04 00:06:05 -07:00
|
|
|
|
2022-04-14 12:25:43 -07:00
|
|
|
config BT_PERIPHERAL_PREF_LATENCY
|
2023-04-22 21:25:56 -07:00
|
|
|
default 30
|
2021-07-04 00:06:05 -07:00
|
|
|
|
|
|
|
config BT_PERIPHERAL_PREF_TIMEOUT
|
2023-04-22 21:25:56 -07:00
|
|
|
default 400
|
2021-07-04 00:06:05 -07:00
|
|
|
|
2020-10-11 17:36:32 -07:00
|
|
|
#ZMK_BLE
|
2020-05-18 12:07:37 -07:00
|
|
|
endif
|
|
|
|
|
2021-03-14 21:40:09 -07:00
|
|
|
#Output Types
|
|
|
|
endmenu
|
|
|
|
|
|
|
|
# HID
|
2020-05-28 21:15:57 -07:00
|
|
|
endmenu
|
|
|
|
|
2022-05-22 20:11:45 -07:00
|
|
|
rsource "src/split/Kconfig"
|
2020-06-28 21:37:11 -07:00
|
|
|
|
2020-10-11 18:05:27 -07:00
|
|
|
#Basic Keyboard Setup
|
2020-10-11 17:36:32 -07:00
|
|
|
endmenu
|
2020-05-12 10:22:07 -07:00
|
|
|
|
2020-10-11 17:36:32 -07:00
|
|
|
menu "Display/LED Options"
|
2020-05-26 21:48:03 -07:00
|
|
|
|
2020-08-31 07:18:19 -07:00
|
|
|
rsource "src/display/Kconfig"
|
2020-07-23 23:06:56 -07:00
|
|
|
|
2021-10-09 09:24:37 -07:00
|
|
|
menuconfig ZMK_RGB_UNDERGLOW
|
2024-05-13 13:47:33 -07:00
|
|
|
bool "RGB Addressable LED Underglow"
|
2023-04-22 21:25:56 -07:00
|
|
|
select LED_STRIP
|
2023-12-16 10:24:15 -08:00
|
|
|
select ZMK_LOW_PRIORITY_WORK_QUEUE
|
2020-07-23 23:06:56 -07:00
|
|
|
|
|
|
|
if ZMK_RGB_UNDERGLOW
|
|
|
|
|
2020-10-20 19:47:49 -07:00
|
|
|
# This default value cuts down on tons of excess .conf files, if you're using GPIO, manually disable this
|
|
|
|
config SPI
|
2023-04-22 21:25:56 -07:00
|
|
|
default y
|
2020-10-20 19:47:49 -07:00
|
|
|
|
2020-11-22 18:07:13 -08:00
|
|
|
config ZMK_RGB_UNDERGLOW_EXT_POWER
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "RGB underglow toggling also controls external power"
|
|
|
|
default y
|
2020-11-22 18:07:13 -08:00
|
|
|
|
2021-10-06 20:54:49 -07:00
|
|
|
config ZMK_RGB_UNDERGLOW_BRT_MIN
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow minimum brightness in percent"
|
|
|
|
range 0 100
|
|
|
|
default 0
|
2021-10-06 20:54:49 -07:00
|
|
|
|
|
|
|
config ZMK_RGB_UNDERGLOW_BRT_MAX
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow maximum brightness in percent"
|
|
|
|
range ZMK_RGB_UNDERGLOW_BRT_MIN 100
|
|
|
|
default 100
|
2021-10-06 20:54:49 -07:00
|
|
|
|
2020-07-23 23:06:56 -07:00
|
|
|
config ZMK_RGB_UNDERGLOW_HUE_STEP
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow hue step in degrees"
|
|
|
|
range 0 359
|
|
|
|
default 10
|
2020-07-23 23:06:56 -07:00
|
|
|
|
|
|
|
config ZMK_RGB_UNDERGLOW_SAT_STEP
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow saturation step in percent"
|
|
|
|
range 0 100
|
|
|
|
default 10
|
2020-07-23 23:06:56 -07:00
|
|
|
|
|
|
|
config ZMK_RGB_UNDERGLOW_BRT_STEP
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow brightness step in percent"
|
|
|
|
range 0 100
|
|
|
|
default 10
|
2020-07-23 23:06:56 -07:00
|
|
|
|
2020-10-20 19:47:49 -07:00
|
|
|
config ZMK_RGB_UNDERGLOW_HUE_START
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow start hue value in degrees"
|
|
|
|
range 0 359
|
|
|
|
default 0
|
2020-10-20 19:47:49 -07:00
|
|
|
|
|
|
|
config ZMK_RGB_UNDERGLOW_SAT_START
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow start saturations value in percent"
|
|
|
|
range 0 100
|
|
|
|
default 100
|
2020-10-20 19:47:49 -07:00
|
|
|
|
|
|
|
config ZMK_RGB_UNDERGLOW_BRT_START
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow start brightness value in percent"
|
|
|
|
range ZMK_RGB_UNDERGLOW_BRT_MIN ZMK_RGB_UNDERGLOW_BRT_MAX
|
|
|
|
default ZMK_RGB_UNDERGLOW_BRT_MAX
|
2020-10-20 19:47:49 -07:00
|
|
|
|
|
|
|
config ZMK_RGB_UNDERGLOW_SPD_START
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow start animation speed value"
|
|
|
|
range 1 5
|
|
|
|
default 3
|
2020-10-20 19:47:49 -07:00
|
|
|
|
|
|
|
config ZMK_RGB_UNDERGLOW_EFF_START
|
2023-04-22 21:25:56 -07:00
|
|
|
int "RGB underglow start effect int value related to the effect enum list"
|
|
|
|
range 0 3
|
|
|
|
default 0
|
2020-10-20 19:47:49 -07:00
|
|
|
|
|
|
|
config ZMK_RGB_UNDERGLOW_ON_START
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "RGB underglow starts on by default"
|
|
|
|
default y
|
2020-10-20 19:47:49 -07:00
|
|
|
|
2022-06-25 07:56:36 -07:00
|
|
|
config ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Turn off RGB underglow when keyboard goes into idle state"
|
2022-06-25 07:56:36 -07:00
|
|
|
|
|
|
|
config ZMK_RGB_UNDERGLOW_AUTO_OFF_USB
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Turn off RGB underglow when USB is disconnected"
|
|
|
|
depends on USB_DEVICE_STACK
|
2022-06-25 07:56:36 -07:00
|
|
|
|
2020-10-11 18:05:27 -07:00
|
|
|
#ZMK_RGB_UNDERGLOW
|
2020-07-23 23:06:56 -07:00
|
|
|
endif
|
|
|
|
|
2021-10-09 09:24:37 -07:00
|
|
|
menuconfig ZMK_BACKLIGHT
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "LED backlight"
|
|
|
|
select LED
|
2021-10-09 09:24:37 -07:00
|
|
|
|
|
|
|
if ZMK_BACKLIGHT
|
|
|
|
|
|
|
|
config ZMK_BACKLIGHT_BRT_STEP
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Brightness step in percent"
|
|
|
|
range 1 100
|
|
|
|
default 20
|
2021-10-09 09:24:37 -07:00
|
|
|
|
|
|
|
config ZMK_BACKLIGHT_BRT_START
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Default brightness in percent"
|
|
|
|
range 1 100
|
|
|
|
default 40
|
2021-10-09 09:24:37 -07:00
|
|
|
|
|
|
|
config ZMK_BACKLIGHT_ON_START
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Default backlight state"
|
|
|
|
default y
|
2021-10-09 09:24:37 -07:00
|
|
|
|
|
|
|
config ZMK_BACKLIGHT_AUTO_OFF_IDLE
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Turn off backlight when keyboard goes into idle state"
|
2021-10-09 09:24:37 -07:00
|
|
|
|
|
|
|
config ZMK_BACKLIGHT_AUTO_OFF_USB
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Turn off backlight when USB is disconnected"
|
2021-10-09 09:24:37 -07:00
|
|
|
|
|
|
|
#ZMK_BACKLIGHT
|
|
|
|
endif
|
|
|
|
|
2020-10-11 18:05:27 -07:00
|
|
|
#Display/LED Options
|
2020-10-11 17:36:32 -07:00
|
|
|
endmenu
|
|
|
|
|
2021-04-27 08:24:11 -07:00
|
|
|
menu "Mouse Options"
|
|
|
|
|
|
|
|
config ZMK_MOUSE
|
|
|
|
bool "Enable ZMK mouse emulation"
|
|
|
|
|
|
|
|
#Mouse Options
|
|
|
|
endmenu
|
|
|
|
|
2020-10-11 17:36:32 -07:00
|
|
|
menu "Power Management"
|
|
|
|
|
2023-04-18 00:14:18 -07:00
|
|
|
config ZMK_BATTERY_REPORTING
|
|
|
|
bool "Battery level detection/reporting"
|
|
|
|
select SENSOR
|
2023-12-16 10:24:15 -08:00
|
|
|
select ZMK_LOW_PRIORITY_WORK_QUEUE
|
2023-11-15 10:03:30 -08:00
|
|
|
imply BT_BAS if ZMK_BLE
|
2023-04-18 00:14:18 -07:00
|
|
|
|
2024-03-15 14:00:37 -07:00
|
|
|
if ZMK_BATTERY_REPORTING
|
|
|
|
|
|
|
|
choice ZMK_BATTERY_REPORTING_FETCH_MODE
|
|
|
|
prompt "Battery Reporting Fetch Mode"
|
|
|
|
|
|
|
|
config ZMK_BATTERY_REPORTING_FETCH_MODE_STATE_OF_CHARGE
|
|
|
|
bool "State of charge"
|
|
|
|
|
|
|
|
config ZMK_BATTERY_REPORTING_FETCH_MODE_LITHIUM_VOLTAGE
|
|
|
|
bool "Lithium Voltage"
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
endif
|
|
|
|
|
2020-11-30 21:52:32 -08:00
|
|
|
config ZMK_IDLE_TIMEOUT
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Milliseconds of inactivity before entering idle state (OLED shutoff, etc)"
|
|
|
|
default 30000
|
2020-11-30 21:52:32 -08:00
|
|
|
|
2020-10-11 18:05:27 -07:00
|
|
|
config ZMK_SLEEP
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Enable deep sleep support"
|
2023-11-09 15:59:15 -08:00
|
|
|
depends on HAS_POWEROFF
|
|
|
|
select POWEROFF
|
2024-02-19 02:18:23 -08:00
|
|
|
select ZMK_PM_DEVICE_SUSPEND_RESUME
|
2023-04-22 21:25:56 -07:00
|
|
|
imply USB
|
2020-10-11 17:36:32 -07:00
|
|
|
|
|
|
|
if ZMK_SLEEP
|
|
|
|
|
2024-02-08 10:44:05 -08:00
|
|
|
config PM_DEVICE
|
|
|
|
default y
|
|
|
|
|
2020-10-11 17:36:32 -07:00
|
|
|
config ZMK_IDLE_SLEEP_TIMEOUT
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Milliseconds of inactivity before entering deep sleep"
|
|
|
|
default 900000
|
2020-10-11 17:36:32 -07:00
|
|
|
|
|
|
|
#ZMK_SLEEP
|
|
|
|
endif
|
|
|
|
|
|
|
|
config ZMK_EXT_POWER
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Enable support to control external power output"
|
|
|
|
default y
|
2020-10-11 17:36:32 -07:00
|
|
|
|
2023-12-29 15:03:14 -08:00
|
|
|
config ZMK_PM
|
|
|
|
bool
|
|
|
|
|
2024-02-19 02:18:23 -08:00
|
|
|
config ZMK_PM_DEVICE_SUSPEND_RESUME
|
|
|
|
bool
|
|
|
|
select ZMK_PM
|
|
|
|
|
2023-03-15 18:48:30 -07:00
|
|
|
config ZMK_PM_SOFT_OFF
|
|
|
|
bool "Soft-off support"
|
2024-02-20 00:10:15 -08:00
|
|
|
depends on HAS_POWEROFF
|
2023-12-29 15:03:14 -08:00
|
|
|
select ZMK_PM
|
2023-03-15 18:48:30 -07:00
|
|
|
select PM_DEVICE
|
2024-02-19 02:18:23 -08:00
|
|
|
select ZMK_PM_DEVICE_SUSPEND_RESUME
|
2024-02-20 00:10:15 -08:00
|
|
|
select POWEROFF
|
2023-03-15 18:48:30 -07:00
|
|
|
|
2023-12-20 18:08:40 -08:00
|
|
|
config ZMK_GPIO_KEY_WAKEUP_TRIGGER
|
2023-03-15 18:48:30 -07:00
|
|
|
bool "Hardware supported wakeup (GPIO)"
|
|
|
|
default y
|
2023-12-20 18:08:40 -08:00
|
|
|
depends on DT_HAS_ZMK_GPIO_KEY_WAKEUP_TRIGGER_ENABLED && ZMK_PM_SOFT_OFF
|
2023-03-15 18:48:30 -07:00
|
|
|
|
2020-10-11 18:05:27 -07:00
|
|
|
#Power Management
|
2020-10-11 17:36:32 -07:00
|
|
|
endmenu
|
|
|
|
|
2020-12-11 14:24:44 -08:00
|
|
|
menu "Combo options"
|
|
|
|
|
|
|
|
config ZMK_COMBO_MAX_PRESSED_COMBOS
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Maximum number of currently pressed combos"
|
|
|
|
default 4
|
2020-12-11 14:24:44 -08:00
|
|
|
|
|
|
|
config ZMK_COMBO_MAX_COMBOS_PER_KEY
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Maximum number of combos per key"
|
|
|
|
default 5
|
2020-12-11 14:24:44 -08:00
|
|
|
|
|
|
|
config ZMK_COMBO_MAX_KEYS_PER_COMBO
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Maximum number of keys per combo"
|
|
|
|
default 4
|
2020-12-11 14:24:44 -08:00
|
|
|
|
2021-10-09 09:24:37 -07:00
|
|
|
#Combo options
|
2020-12-11 14:24:44 -08:00
|
|
|
endmenu
|
|
|
|
|
2022-03-12 07:15:39 -08:00
|
|
|
menu "Behavior Options"
|
|
|
|
|
|
|
|
config ZMK_BEHAVIORS_QUEUE_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Maximum number of behaviors to allow queueing from a macro or other complex behavior"
|
|
|
|
default 64
|
2022-03-12 07:15:39 -08:00
|
|
|
|
2022-05-23 13:33:08 -07:00
|
|
|
rsource "Kconfig.behaviors"
|
2022-04-29 11:31:21 -07:00
|
|
|
|
2022-12-11 10:20:56 -08:00
|
|
|
config ZMK_MACRO_DEFAULT_WAIT_MS
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Default time to wait (in milliseconds) before triggering the next behavior in macros"
|
|
|
|
default 15
|
2022-12-11 10:20:56 -08:00
|
|
|
|
|
|
|
config ZMK_MACRO_DEFAULT_TAP_MS
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Default time to wait (in milliseconds) between the press and release events of a tapped behavior in macros"
|
|
|
|
default 30
|
2022-12-11 10:20:56 -08:00
|
|
|
|
2022-03-12 07:15:39 -08:00
|
|
|
endmenu
|
|
|
|
|
2020-10-28 05:47:22 -07:00
|
|
|
menu "Advanced"
|
|
|
|
|
|
|
|
menu "Initialization Priorities"
|
|
|
|
|
2021-11-04 21:21:30 -07:00
|
|
|
if USB_DEVICE_STACK
|
2020-10-28 05:47:22 -07:00
|
|
|
|
|
|
|
config ZMK_USB_INIT_PRIORITY
|
2023-04-22 21:25:56 -07:00
|
|
|
int "USB Init Priority"
|
|
|
|
default 50
|
2020-10-28 05:47:22 -07:00
|
|
|
|
|
|
|
#USB
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ZMK_BLE || ZMK_SPLIT_BLE
|
|
|
|
|
|
|
|
config ZMK_BLE_INIT_PRIORITY
|
2023-04-22 21:25:56 -07:00
|
|
|
int "BLE Init Priority"
|
|
|
|
default 50
|
2020-10-28 05:47:22 -07:00
|
|
|
|
|
|
|
#ZMK_BLE || ZMK_SPLIT_BLE
|
|
|
|
endif
|
|
|
|
|
|
|
|
#Initialization Priorities
|
|
|
|
endmenu
|
|
|
|
|
2023-09-02 20:07:31 -07:00
|
|
|
menuconfig ZMK_KSCAN
|
|
|
|
bool "ZMK KScan Integration"
|
|
|
|
default y
|
|
|
|
select KSCAN
|
|
|
|
|
|
|
|
if ZMK_KSCAN
|
2020-10-11 17:36:32 -07:00
|
|
|
|
|
|
|
config ZMK_KSCAN_EVENT_QUEUE_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Size of the event queue for KSCAN events to buffer events"
|
|
|
|
default 4
|
2020-10-11 17:36:32 -07:00
|
|
|
|
2023-09-02 20:07:31 -07:00
|
|
|
endif # ZMK_KSCAN
|
2020-10-28 05:47:22 -07:00
|
|
|
|
2023-12-30 16:38:52 -08:00
|
|
|
config ZMK_KSCAN_SIDEBAND_BEHAVIORS
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
depends on DT_HAS_ZMK_KSCAN_SIDEBAND_BEHAVIORS_ENABLED
|
|
|
|
select KSCAN
|
|
|
|
|
2024-01-22 13:39:08 -08:00
|
|
|
if ZMK_KSCAN_SIDEBAND_BEHAVIORS
|
|
|
|
|
|
|
|
config ZMK_KSCAN_SIDEBAND_BEHAVIORS_INIT_PRIORITY
|
|
|
|
int "Keyboard scan sideband behaviors driver init priority"
|
2024-01-26 01:48:46 -08:00
|
|
|
# The default kscan init priority is 90, so be sure we are initialized later.
|
2024-01-22 13:39:08 -08:00
|
|
|
default 95
|
|
|
|
|
|
|
|
endif # ZMK_KSCAN_SIDEBAND_BEHAVIORS
|
|
|
|
|
2023-02-24 15:14:23 -08:00
|
|
|
menu "Logging"
|
2021-01-06 22:08:34 -08:00
|
|
|
|
2023-02-24 15:11:46 -08:00
|
|
|
config ZMK_LOGGING_MINIMAL
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Suppress all ZMK debug log messages"
|
|
|
|
default false
|
2023-02-24 15:11:46 -08:00
|
|
|
|
|
|
|
if !ZMK_LOGGING_MINIMAL
|
|
|
|
|
|
|
|
config ZMK_LOG_LEVEL
|
2023-04-22 21:25:56 -07:00
|
|
|
default 4
|
2023-02-24 15:11:46 -08:00
|
|
|
|
|
|
|
endif
|
|
|
|
|
2021-01-06 22:08:34 -08:00
|
|
|
config ZMK_USB_LOGGING
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Enable USB CDC ACM logging to help debug"
|
|
|
|
select LOG
|
|
|
|
select USB
|
|
|
|
select USB_DEVICE_STACK
|
|
|
|
select USB_CDC_ACM
|
|
|
|
select SERIAL
|
|
|
|
select CONSOLE
|
|
|
|
select UART_INTERRUPT_DRIVEN
|
|
|
|
select UART_LINE_CTRL
|
|
|
|
select UART_CONSOLE
|
|
|
|
select USB_UART_CONSOLE
|
2021-01-06 22:08:34 -08:00
|
|
|
|
|
|
|
if ZMK_USB_LOGGING
|
|
|
|
|
2022-07-13 20:34:32 -07:00
|
|
|
choice USB_CDC_ACM_LOG_LEVEL_CHOICE
|
2023-04-22 21:25:56 -07:00
|
|
|
default USB_CDC_ACM_LOG_LEVEL_OFF
|
2022-07-13 20:34:32 -07:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
choice USB_DRIVER_LOG_LEVEL_CHOICE
|
2023-04-22 21:25:56 -07:00
|
|
|
default USB_DRIVER_LOG_LEVEL_OFF
|
2022-07-13 20:34:32 -07:00
|
|
|
endchoice
|
|
|
|
|
2022-04-12 20:20:35 -07:00
|
|
|
# We do this to avoid log loop where logging to USB generates more log messages.
|
|
|
|
|
2021-01-06 22:08:34 -08:00
|
|
|
config USB_CDC_ACM_RINGBUF_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
default 1024
|
2021-01-06 22:08:34 -08:00
|
|
|
|
2022-04-12 20:20:35 -07:00
|
|
|
config LOG_PROCESS_THREAD_STARTUP_DELAY_MS
|
2023-04-22 21:25:56 -07:00
|
|
|
default 1000
|
2022-04-12 20:20:35 -07:00
|
|
|
|
2021-01-06 22:08:34 -08:00
|
|
|
#ZMK_USB_LOGGING
|
|
|
|
endif
|
|
|
|
|
2023-02-24 15:14:23 -08:00
|
|
|
config ZMK_RTT_LOGGING
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Enable RTT logging to help debug"
|
|
|
|
select LOG
|
|
|
|
select DEBUG
|
|
|
|
select ASSERT
|
|
|
|
select USE_SEGGER_RTT
|
|
|
|
select CONSOLE
|
|
|
|
select RTT_CONSOLE
|
2023-02-24 15:14:23 -08:00
|
|
|
|
|
|
|
if ZMK_RTT_LOGGING
|
|
|
|
|
|
|
|
config SEGGER_RTT_BUFFER_SIZE_UP
|
2023-04-22 21:25:56 -07:00
|
|
|
default 8192
|
2023-02-24 15:14:23 -08:00
|
|
|
|
|
|
|
#ZMK_RTT_LOGGING
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ZMK_USB_LOGGING || ZMK_RTT_LOGGING
|
|
|
|
|
|
|
|
config LOG_BUFFER_SIZE
|
2023-04-22 21:25:56 -07:00
|
|
|
default 8192
|
2023-02-24 15:14:23 -08:00
|
|
|
|
2023-02-24 15:16:18 -08:00
|
|
|
config LOG_PROCESS_THREAD_SLEEP_MS
|
2023-04-22 21:25:56 -07:00
|
|
|
default 100
|
2023-02-24 15:16:18 -08:00
|
|
|
|
2023-02-24 15:14:23 -08:00
|
|
|
#ZMK_USB_LOGGING || ZMK_RTT_LOGGING
|
|
|
|
endif
|
|
|
|
|
|
|
|
#Logging
|
2021-01-06 22:08:34 -08:00
|
|
|
endmenu
|
|
|
|
|
2020-12-02 14:09:17 -08:00
|
|
|
if SETTINGS
|
|
|
|
|
2023-11-26 10:28:27 -08:00
|
|
|
config ZMK_SETTINGS_RESET_ON_START
|
|
|
|
bool "Delete all persistent settings when the keyboard boots"
|
|
|
|
|
2024-03-19 10:50:04 -07:00
|
|
|
if ZMK_SETTINGS_RESET_ON_START
|
|
|
|
|
|
|
|
config ZMK_SETTINGS_RESET_ON_START_INIT_PRIORITY
|
|
|
|
int "Settings Reset ON Start Initialization Priority"
|
|
|
|
default 60
|
|
|
|
help
|
|
|
|
Initialization priority for the settings reset on start. Must be lower priority/
|
|
|
|
higher value than FLASH_INIT_PRIORITY if using the NVS/Flash settings backend.
|
|
|
|
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
2020-12-02 14:09:17 -08:00
|
|
|
config ZMK_SETTINGS_SAVE_DEBOUNCE
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Milliseconds to debounce settings saves"
|
|
|
|
default 60000
|
2020-12-02 14:09:17 -08:00
|
|
|
|
|
|
|
#SETTINGS
|
|
|
|
endif
|
|
|
|
|
2022-05-16 21:51:28 -07:00
|
|
|
config ZMK_BATTERY_REPORT_INTERVAL
|
2023-07-18 23:21:09 -07:00
|
|
|
depends on ZMK_BATTERY_REPORTING
|
2023-04-22 21:25:56 -07:00
|
|
|
int "Battery level report interval in seconds"
|
|
|
|
default 60
|
2022-05-16 21:51:28 -07:00
|
|
|
|
2023-12-16 10:24:15 -08:00
|
|
|
config ZMK_LOW_PRIORITY_WORK_QUEUE
|
|
|
|
bool "Work queue for low priority items"
|
|
|
|
|
|
|
|
if ZMK_LOW_PRIORITY_WORK_QUEUE
|
|
|
|
|
2023-07-17 14:16:04 -07:00
|
|
|
config ZMK_LOW_PRIORITY_THREAD_STACK_SIZE
|
|
|
|
int "Low priority thread stack size"
|
|
|
|
default 768
|
|
|
|
|
|
|
|
config ZMK_LOW_PRIORITY_THREAD_PRIORITY
|
|
|
|
int "Low priority thread priority"
|
|
|
|
default 10
|
|
|
|
|
2023-12-16 10:24:15 -08:00
|
|
|
endif
|
|
|
|
|
2020-10-28 05:47:22 -07:00
|
|
|
#Advanced
|
2020-10-11 17:36:32 -07:00
|
|
|
endmenu
|
|
|
|
|
2020-10-11 18:05:27 -07:00
|
|
|
#ZMK
|
2020-07-23 23:06:56 -07:00
|
|
|
endmenu
|
|
|
|
|
2020-07-24 21:50:42 -07:00
|
|
|
config KERNEL_BIN_NAME
|
2023-04-22 21:25:56 -07:00
|
|
|
default "zmk"
|
2020-07-24 21:50:42 -07:00
|
|
|
|
|
|
|
config REBOOT
|
2023-04-22 21:25:56 -07:00
|
|
|
default y
|
2020-07-24 21:50:42 -07:00
|
|
|
|
2021-11-04 21:21:30 -07:00
|
|
|
config USB_DEVICE_STACK
|
2023-04-22 21:25:56 -07:00
|
|
|
default y if HAS_HW_NRF_USBD
|
2021-01-08 13:32:55 -08:00
|
|
|
|
2023-11-23 14:21:45 -08:00
|
|
|
config FPU
|
|
|
|
default CPU_HAS_FPU
|
|
|
|
|
2021-01-22 08:23:21 -08:00
|
|
|
config ZMK_WPM
|
2023-04-22 21:25:56 -07:00
|
|
|
bool "Calculate WPM"
|
2021-01-22 08:23:21 -08:00
|
|
|
|
2022-05-26 09:53:41 -07:00
|
|
|
config ZMK_KEYMAP_SENSORS
|
|
|
|
bool "Enable Keymap Sensors support"
|
2023-04-22 21:25:56 -07:00
|
|
|
default y
|
2022-05-26 09:53:41 -07:00
|
|
|
depends on DT_HAS_ZMK_KEYMAP_SENSORS_ENABLED
|
|
|
|
select SENSOR
|
2021-02-04 09:14:14 -08:00
|
|
|
|
2021-08-31 20:49:18 -07:00
|
|
|
if ZMK_KEYMAP_SENSORS
|
|
|
|
|
|
|
|
config ZMK_KEYMAP_SENSORS_DEFAULT_TRIGGERS_PER_ROTATION
|
|
|
|
int "Default triggers per rotation"
|
2023-06-17 22:59:31 -07:00
|
|
|
help
|
|
|
|
Unless overridden for a sensor in the board/shield/devicetree, this value
|
|
|
|
determines how many times to trigger the bound behavior per full rotation.
|
|
|
|
For tactile encoders with detents, this usually should match the number of
|
|
|
|
detents per rotation of the encoder.
|
2021-08-31 20:49:18 -07:00
|
|
|
default 20
|
|
|
|
|
|
|
|
endif # ZMK_KEYMAP_SENSORS
|
|
|
|
|
2021-03-22 12:13:06 -07:00
|
|
|
choice CBPRINTF_IMPLEMENTATION
|
2023-04-22 21:25:56 -07:00
|
|
|
default CBPRINTF_NANO
|
2021-03-22 12:13:06 -07:00
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2020-05-24 15:22:16 -07:00
|
|
|
module = ZMK
|
|
|
|
module-str = zmk
|
2020-05-12 10:22:07 -07:00
|
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
|
2020-05-28 13:56:39 -07:00
|
|
|
rsource "boards/Kconfig"
|
|
|
|
rsource "boards/shields/*/Kconfig.defconfig"
|
2020-08-20 07:51:35 -07:00
|
|
|
rsource "boards/shields/*/Kconfig.shield"
|
|
|
|
|
|
|
|
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.defconfig"
|
|
|
|
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.shield"
|
2020-05-28 13:56:39 -07:00
|
|
|
|
2020-08-31 07:18:19 -07:00
|
|
|
|
2020-05-01 20:10:11 -07:00
|
|
|
source "Kconfig.zephyr"
|