Configuration - inpudiy/zmk-guide GitHub Wiki
В этом разделе описывается процесс конфигурации клавиатуры, за исключением настройки матрицы и keymap. Основное внимание уделяется подготовке файлов, необходимых для сборки прошивки и реализации базовой функциональности.
Файл сборки
В разделе про подготовку репозитория мы упомянули файл build.yaml
. Сейчас настроим его вместе.
Первым делом нужно указать, какая плата (контроллер) будет использоваться. На странице документации приведён список доступных вариантов: https://zmk.dev/docs/hardware
Вот список вариантов, которые, скорее всего, подойдут вам:
nice_nano_v2
— Подойдёт для nice_nano_v2 и Super Mini nRF52840seeeduino_xiao_ble
— Вариант для Seeed Studio XIAO nRF52840sparkfun_pro_micro_rp2040
— Проводной RP2040 Pro Micro
Пример импорта в файл:
include:
- board: nice_nano_v2
Следующий шаг — указать имя "shield". Если прошивка собирается для моносплита, то указывается один shield:
include:
- board: nice_nano_v2
shield: kometa
Если сборка производится для сплита, то указываем ещё и сторону каждой половины:
include:
- board: nice_nano_v2
shield: kometa_left
- board: nice_nano_v2
shield: kometa_right
Файлы Kconfig
Теперь переходим в другую директорию, а именно /boards/shields
. Внутри неё создаём папку с именем нашего щита. Чтобы создать эту папку через сайт, необходимо в директории /boards/shields
создать новый файл, путь к которому автоматически создаст нужную директорию. Поэтому создадим файл
Kconfig.shield
. Для этого нажимаем на "+" в меню файлов:
Далее в имени файла указываем такую конструкцию: /kometa/Kconfig.shield
, где первое слово — имя директории, а второе — имя самого файла. Таким образом автоматически создастся файл в нужной директории.
Начнём заполнять Kconfig.shield
. В случае со сплит-клавиатурой также нужно указать имя обеих половин:
# Не используйте пробелы в именах!
config SHIELD_KOMETA_LEFT
def_bool $(shields_list_contains,kometa_left)
config SHIELD_KOMETA_RIGHT
def_bool $(shields_list_contains,kometa_right)
Следующий файл, который нужно создать в той же директории, — это Kconfig.defconfig
. Можете просто заменить имя платы на своё. В этом файле описывается, какая плата будет центральной, и указывается, что это split:
if SHIELD_KOMETA_LEFT
config ZMK_KEYBOARD_NAME
default "kometa"
config ZMK_SPLIT_ROLE_CENTRAL
default y
endif
if SHIELD_KOMETA_LEFT || SHIELD_KOMETA_RIGHT
config ZMK_SPLIT
default y
endif
Теперь создаём следующий файл — kometa.zmk.yaml
. В этом файле можно просто заменить "kometa" на имя вашего проекта. Остальное разберём, когда будем делать более сложные конфигурации:
file_format: "1"
id: kometa
name: kometa
type: shield
url: https://github.com/inpudiy/KOMETA
requires: [pro_micro]
features:
- keys
siblings:
- kometa_left
- kometa_right
И последний файл, который необходимо создать, — это kometa.conf
. Он должен находиться в папке config
, где уже лежит west.yml
. В нём описываются различные параметры, такие как режим сна, поддержка ZMK Studio и другие настройки. (Отдельно будет файл с их описанием). Вот пример такой конфигурации:
CONFIG_ZMK_SLEEP=y
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
CONFIG_ZMK_PM_SOFT_OFF=y