Как я лишился Corney
Вчера решил добавить несколько новых клавиш в раскладку своей сплит-клавиатуры. Дело на пять минут: открыть проект, поправить файл с раскладкой, запушить в GitHub, подождать, пока соберется новая прошивка, подключить клавиатуру кабелем к компьютеру, нажать пару раз reset на устройстве и скопировать бинарник на появившийся диск.
Но всё пошло не по плану — клавиатура после прошивки к компьютеру не подключилась. Не видит её и телефон по Bluetooth. При этом провод работает — по кабелю буковки посылаются, но только с левой половинки, правая молчит. Похоже, отрубился именно Bluetooth. Скачал старую прошивку — всё работает. Тогда я решил, что дело в моих изменениях: откатил изменения — всё равно не работает.
Уже дома до меня стало доходить, что если дело не в моём коде, то, может быть, в чём-то ещё? Оказалось, что ZMK выпустили новую версию, в которой кардинально переделали многое, что касается работы с Bluetooth. В моей сборке я подтягиваю master из ветки ZMK, поэтому Bluetooth на моём устройстве оказался сломанным. Оказалось, что проблема не только у меня, и лечится достаточно легко.
Этот случай ещё раз напомнил мне о важности фиксировать зависимости. Даже если вы не виноваты, это не освобождает вас от ответственности за правильную архитектуру своих проектов.
А че так можно было?
Чтобы поэкспериментировать с HID, мне потребовалось устройство на nice!nano — я хочу передавать на компьютер номер активного слоя, чтобы можно было показывать его на экране. Обнаружил, что на Printables есть несколько устройств на ZMK, но без клавиш. Казалось бы, зачем? Ответ нашёлся, когда я посмотрел на этот проект. Оказалось, что для сплит-клавиатуры не обязательно, чтобы на одной половине был центральный контроллер, а на другой — периферийный. Можно сделать периферийными обе половины, а центральный контроллер вынести в отдельный донгл, подключённый к компьютеру через USB. Достоинств у такой архитектуры масса: сигнал от компьютера доставляется практически мгновенно, связь между обеими половинами и центральным донглом имеет одинаковую задержку, центральная, самая энергозатратная часть клавиатуры теперь имеет постоянное питание, а значит, заряжать половинки нужно гораздо реже. Думаю, тестовое устройство я тоже сделаю без клавиш — в виде донгла. Всё необходимое для этого у меня уже есть!
Держимся Corney - насколько глубока эта зайчья нора?
Corne — удобный формат: половинки можно положить в карман и носить с собой в рюкзаке. Но я вижу, что разные умельцы делают для этой клавиатуры наклонные подставки — в наклонном виде пользоваться этой клавиатурой ещё удобнее. Но тогда теряется главный плюс этого форм-фактора — компактность. А что если сделать чехол, который будет служить такой наклонной подставкой? Идея настолько мне понравилась, что я решил её проверить и сделал proof-of-concept.



По-моему, наклон вполне правильный, и в собранном состоянии клавиатура теперь занимает ненамного больше места, но становится лучше защищённой при транспортировке. В разложенном состоянии половинки чехла служат наклонными подставками. Теперь нужно придумать механизмы фиксации — половинки должны крепиться к подставкам, а в собранном состоянии коробочка не должна рассыпаться. Думаю, тут можно использовать магниты. Посмотрим, что из этого выйдет.
Надо держаться corney
Собрал новую клавиатуру, на этот раз corne, попробую освоить.

Выглядит прикольно - немного смущает что контроллеры наружу - есть риск замкнуть что-нибудь или повредить. Почему-то не нашел в сети готовую крышечку, которая бы мне понравилась, придется разработать новую. Плюс придется добавлять больше слоев - на дефолтной раскладке нет Caps Lock - а именно ей я переключаю языки. В общем, приключение только начинается!





