ZMK

Для того чтобы прошить клавиатуру, которая работает на ZMK нужно сначала собрать прошивку, а потом закачать эту прошивку на клавиатуру.

Собираем прошивку

Собрать прошивку для клавиатуре на ZMK можно двумя способами. Первый - собрать ее через Github. Второй - собрать ее локально на своем компе.

Если вы собираете прошивки не часто, то вариант с гитхабом, наверное, будет более приемлимым. Это же вариант и проще в реализации.

Но если вы планируете часто играться с прошивками, то удобнее будет делать это локально на своем компе. Удобнее это потому, что локально прошивка будет собираться около 10 секунд. Тогда как на гитхабе она собирается около минуты. Но этот способ сложнее, так как нужно все устанавливать локально.

Сборка через гитхаб

Для того чтобы собрать прошивку через гитхаб наиболее простой путь это найти у кого-нибудь репу с прошивкой и клонировать. Например, вот уже готовые репозитарии для разных клавиатур

charybdis 3-6 wireless - https://github.com/devpew/zmk-config-charybdis-mini-wireless zmk-PNCATEHO - https://github.com/devpew/zmk-PNCATEHO hillside46 - https://github.com/devpew/zmk-config-hillside46 corne (или nijuni) - https://github.com/devpew/zmk-nicenano-corne-linux pika40 - https://github.com/devpew/zmk-config-pica dao - https://github.com/devpew/dao-zmk-config scylla wireless - https://github.com/devpew/zmk-scylla-config revxlp - https://github.com/devpew/revxlp-config tbkmini - https://github.com/devpew/tbkmininew

После того как вы клонировали репозиторий вам нужно проверить несколько вещей.

Во-первых, вам нужно убедиться, что в репозитории, который вы клонировали используется такой же контроллер как и у вас.

Сейчас есть несколько наиболее популярных контроллеров - nice_nano_v2, nrfmicro 52840, nrfmicro 52833, xiao ble.

Под какой контроллер компирировать прошивку указано в файле build.yaml.

include:
  - board: nice_nano_v2
    shield: splitkb_aurora_corne_left
  - board: nice_nano_v2
    shield: splitkb_aurora_corne_right
  - board: nice_nano_v2
    shield: settings_reset

или

include:
  - board: seeeduino_xiao_ble
    shield: pica40_left
  - board: seeeduino_xiao_ble
    shield: pica40_right
  - board: seeeduino_xiao_ble
    shield: settings_reset

или

include:
  - board: nrfmicro_13
    shield: scylla_left
  - board: nrfmicro_13
    shield: scylla_right

Или если вы хотите сгенерировать ваши прошивку сразу под несколько клавиатур

  - board: nrfmicro_13
    shield: tbkmini_left
  - board: nrfmicro_13
    shield: tbkmini_right
  - board: nrfmicro_13
    shield: [corne_left, corne_right]
    name: ["Corne"]
  - board: nrfmicro_13
    shield: settings_reset

После этого вам нужно (если вы этого хотите на данном этапе) поменять и раскладку вашей клавиатуры. Раскладка находится в файле *.keymap Тут мы можете использовать любые модификаторы, комбы, тапдансы, слои и тд. Про все это можно почитать на оф. сайте ZMK - https://zmk.dev/docs/keymaps

После того как все это готово нам нужно перейди на гитхабе во вкладку "actions" и включить их.

После того как они включены можно сделать любое изменеие в любом файле репозитория. И автоматически начнется сборка прошивки.

После того как сборка будет закончена вы увидите зеленую галочку слева от процесса. Когда увидите ее можете кликать на сам процесс.

После того как перейдете по ссылке снизу вы увидите архив, который называется firmware.zip. Вы можете скачать его к себе на комп. В этом архиве вы увидите файл (или файлы если у вас сплит) с прошивкой.

Сборка локально

Заливаем прошивку на клавиатуру

Если у вас уже есть собранная прошивка в виде UF2 файла, то вы можете переходить к этому шагу.

Для начала оговорка - если у вас сплит клавиатура, то закачивать нужно на каждую половину. Для каждой половины генерируется свой файл. Не важно в каком порядке вы закачаете прошивку (сначала на левую половину или сначала на правую), но обе прошивки должны быть из одной сборки, иначе половины не будут видеть друг друга.

Для того чтобы залить прошивку на клавиатуру нужно дважды нажать на кнопку RESET на клавиатуре. Обычно у клавиатур эти кнопка выведена на саму плату. Так например сделано у клавиатур Corne, Nijunu, Sofle, Charybdis. В этом случае нужно просто сделать даблклик по этой самой кнопке (быстро дважды нажать на эту кнопку пока контроллер подключен по проводу к компу). Если все сделали правильно, то у вас откроется новое окно (так же как если бы вы подклчюили флешку к компьютеру).

Иногда кнопка ресет находится не на плате клавиатуры, а находится на самом контроллере. Так например сделано у клавиатур Pika40 или Ergonaut One. Это не очень то и удобно, так как у XIAO BLE эта кнопка ОЧЕНЬ уж маленькая и если клавиатура в корпусе, то нужно еще и постараться найти эту кнопку.

После того как окно открылось, то в него нужно просто перенести файл UF2 с прошивкой. Сразу же после этого окно закроется. Это является нормальным поведением. После этого клавиатуру можно отсоединять.