mainmenu "ZMK Firmware" config ZMK_KEYBOARD_NAME string "Keyboard Name" config USB_DEVICE_PRODUCT default ZMK_KEYBOARD_NAME config BT_DEVICE_NAME default ZMK_KEYBOARD_NAME config ZMK_KSCAN_EVENT_QUEUE_SIZE int "Size of the event queue for KSCAN events to buffer events" default 4 menu "HID Output Types" menuconfig ZMK_USB bool "USB" select USB select USB_DEVICE_STACK select USB_DEVICE_HID if ZMK_USB config ZMK_USB_INIT_PRIORITY int "Init Priority" default 50 config USB_NUMOF_EP_WRITE_RETRIES default 10 endif menuconfig ZMK_BLE bool "BLE (HID over GATT)" select BT select BT_SMP select BT_SMP_SC_PAIR_ONLY select BT_PERIPHERAL select BT_GATT_DIS select BT_GATT_BAS select BT_SETTINGS select SETTINGS if ZMK_BLE config ZMK_BLE_INIT_PRIORITY int "Init Priority" default 50 config SYSTEM_WORKQUEUE_STACK_SIZE default 2048 # HID GATT notifications sent this way are *not* picked up by Linux, and possibly others. config BT_GATT_NOTIFY_MULTIPLE default n config BT_DEVICE_APPEARANCE default 961 config ZMK_BLE_PASSKEY_ENTRY bool "Experimental: Requiring typing passkey from host to pair BLE connection" default n endif endmenu config ZMK_DISPLAY bool "ZMK display support" default n select DISPLAY select LVGL select LVGL_THEMES select LVGL_THEME_MONO select LVGL_OBJ_LABEL menu "Split Support" config ZMK_SPLIT bool "Split keyboard support" default n if ZMK_SPLIT config ZMK_SPLIT_BLE bool "Split keyboard support via BLE transport" depends on ZMK_BLE default y select BT_USER_PHY_UPDATE if ZMK_SPLIT_BLE choice ZMK_SPLIT_BLE_ROLE bool "BLE Role For Split Communication" default ZMK_SPLIT_BLE_ROLE_CENTRAL config ZMK_SPLIT_BLE_ROLE_CENTRAL bool "Central" select BT_CENTRAL select BT_GATT_CLIENT if ZMK_SPLIT_BLE_ROLE_CENTRAL config BT_MAX_CONN default 2 config BT_MAX_PAIRED # Bump this everywhere once we support switching active connections! default 2 endif config ZMK_SPLIT_BLE_ROLE_PERIPHERAL bool "Peripheral" if ZMK_SPLIT_BLE_ROLE_PERIPHERAL config ZMK_USB default n config BT_MAX_PAIRED default 1 config BT_MAX_CONN default 2 config BT_GAP_AUTO_UPDATE_CONN_PARAMS default n endif endchoice endif endif endmenu config ZMK_KSCAN_MOCK_DRIVER bool "Enable mock kscan driver to simulate key presses" default n config ZMK_KSCAN_COMPOSITE_DRIVER bool "Enable composite kscan driver to combine kscan devices" default n menu "ZMK Actions" config ZMK_ACTION_MOD_TAP bool "Enable the Mod-Tap Action" endmenu menu "ZMK Lighting" menuconfig ZMK_RGB_UNDERGLOW bool "RGB Adressable LED Underglow" select LED_STRIP if ZMK_RGB_UNDERGLOW config ZMK_RGB_UNDERGLOW_HUE_STEP int "RGB underglow hue step in degrees of 360" default 10 config ZMK_RGB_UNDERGLOW_SAT_STEP int "RGB underglow sturation step in percent" default 10 config ZMK_RGB_UNDERGLOW_BRT_STEP int "RGB underglow brightness step in percent" default 10 endif endmenu config HEAP_MEM_POOL_SIZE default 8192 config KERNEL_BIN_NAME default "zmk" config REBOOT default y module = ZMK module-str = zmk source "subsys/logging/Kconfig.template.log_config" rsource "boards/Kconfig" rsource "boards/shields/*/Kconfig.defconfig" rsource "boards/shields/*/Kconfig.shield" osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.defconfig" osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.shield" source "Kconfig.zephyr"