2026-02-26

А че так можно было?

Чтобы поэкспериментировать с HID, мне потребовалось устройство на nice!nano — я хочу передавать на компьютер номер активного слоя, чтобы можно было показывать его на экране. Обнаружил, что на Printables есть несколько устройств на ZMK, но без клавиш. Казалось бы, зачем? Ответ нашёлся, когда я посмотрел на этот проект. Оказалось, что для сплит-клавиатуры не обязательно, чтобы на одной половине был центральный контроллер, а на другой — периферийный. Можно сделать периферийными обе половины, а центральный контроллер вынести в отдельный донгл, подключённый к компьютеру через USB. Достоинств у такой архитектуры масса: сигнал от компьютера доставляется практически мгновенно, связь между обеими половинами и центральным донглом имеет одинаковую задержку, центральная, самая энергозатратная часть клавиатуры теперь имеет постоянное питание, а значит, заряжать половинки нужно гораздо реже. Думаю, тестовое устройство я тоже сделаю без клавиш — в виде донгла. Всё необходимое для этого у меня уже есть!

 

Оставить комментарий

 
  2025-06-25

Полуторные кейкапы

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

 

Оставить комментарий

 
  2025-05-29

Cтранный баг в Android с языками физической клавиатуры

Когда я подключил клавиатуру к телефону на Android, чтобы посмотреть как она будет с ним работать я обнаружил что не работает русская раскладка.  Подключил другую внешнюю клавиатуру - тоже самое, язык вроде бы переключается а печатает все равно по английски. Уверен, я раньше точно мог печатать по-русски — а теперь, при переключении языка, всё равно набираются английские символы.

Перепробовал всё: менял настройки, переустанавливал Gboard, сбрасывал раскладки — ничего не помогало. Казалось, клавиатура просто "забыла", что умеет русский.

И тут я решил попросить жену — она часто печатает на своем планшете и у неё на Android всё работает как надо. Она пошла в настройки и проделала ровно то же самое, что и я, но у неё всё завелось. При этом когда я делал тоже самое у меня не работало. Магия?

Нет. Просто нюанс интерфейса, о котором я не знал, даже два нюанса.

Оказывается, в Android для каждой физической клавиатуры можно отдельно настроить список языков. При этом для переключения используются два сочетания клавиш — через Ctrl + Space и Shift + Space. При этом переключают они что-то свое. Shift + Space переключает язык экранной клавиатуры при этом физическая клавиатура продолжает печатать на английском, а вот Ctrl + Space переключает язык физической клавиатуры хотя экранная показывает, что вы печатаете на другом языке.

Второй нюанс заключается в том, настроить нужные языки для физической клавиатуры не так просто. Сама форма настройки запрятана довольно глубоко в дебрях настроек, но даже если вы ее найдете то добавить язык сможете не с первого раза. Когда вы настраиваете список языков для физической клавиатуры, в списке языков рядом с каждым пунктом есть переключатель. Я всегда нажимал по нему — по ползунку справа. А вот жена нажала по названию самого языка. И только в случае тапа по названию языка Android сохраняет выбор языка. Если нажимать только по переключателю — выбранный язык не сохраняется, и после выхода из меню всё сбрасывается. Скорее всего это баг интерфейса, но он стабильно воспроизводится.

Вывод: Если на Android у вас не работает русская раскладка с внешней клавиатурой — не трогайте переключатели справа! Нажимайте именно по названию языка, чтобы он сохранился в системе.

Надеюсь, эта заметка сэкономит кому-то пару часов нервов.

 

Оставить комментарий

 
  2025-05-28

Кейс для клавиатуры

Клавиатура оказалось довольно нежная - страшно ее случайно поломать бросив в рюкзак. Спроектировал для нее кейс.

Теперь клавиатуру можно переносить в рюкзаке. Модельки и прошивки можно скачать с github.

 

Оставить комментарий

 
  2025-04-27

Новости клавиатуростроения

Подключение клавиатуры к микроконтроллеру оказалось не проблемой. Оказалось, что шилды Arduino Pro Micro и Nice!nano совместимы по выводам, поэтому можно использовать те же ноги, что и в инструкциях для Pro Micro. Чтобы залить прошивку, достаточно подключить Nice!nano к компьютеру проводом USB Type-C и дважды закоротить вывод reset с землёй на плате — после этого плата автоматически определяется как флешка, на которую нужно скопировать файл с прошивкой.

Сегодня я наконец разобрался, какие клавиши за что отвечают и как можно переключать слои. Столбцы на левой половине клавиатуры оказались в порядке, а столбцы на правой пришлось угадывать методом научного тыка. Выяснилось, что Aurora Sofle, прошивку которой я взял за основу, переключает слои с помощью клавиш, которые я просто не припаял. Чтобы не перепаивать устройство, я решил немного модифицировать прошивку. Благодаря тому, что сборка прошивки настроена через CI/CD GitHub'а, с этим почти не возникло проблем. Пока что я не придумал, как лучше организовать переключение языков: мне нравилось использовать для этого CapsLock, но на этой клавиатуре его по определению нет. Временно можно использовать Alt-Control, как и раньше, но, думаю, сделать отдельную клавишу для переключения не будет проблемой — нужно будет только решить, какую именно и где её разместить...

Пока устройство выглядит довольно брутально — с проводами и контроллерами снаружи. Заказал необходимые детали на AliExpress. Как приедут, запрячу всё внутрь, и будет почти идеально.

 

 

Оставить комментарий

 
  2025-04-22

Кейкапы

Приехали кейкапы - клавиатура стала больше похожа на клавиатуру.

 

Оставить комментарий

 
  2025-04-19

Хроники механической клавиатуры

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

Встал вопрос а что делать дальше. Для кастомных клавиатур есть два наиболее популярных вида прошивок на базе QMK и на базе ZMK. QMK поддерживает только проводные клавиатуры, а ZML поддерживает проводные и безпроводные а еще умеет работать с мышками, энкодерами и другими свистелками-перделками, все как я люблю. Поскольку я хочу безпроводную колавиатуру, поэтому буду использовать в качестве контроллеров реплики nice!nano v2 c чипом nRF52840 которые заказал на AliExpress. В сети есть много руководств как сделать Dactyl с QMK но я не нашел ни одной версии с ZMK поэтому я не знаю к каким пинам контроллера теперь все это припаивать и как настраивать. К счастью есть документация и исходный код - читать это не самое легкое чтиво, зато познавательное.

Upd. В распайке есть одна ошибка которую я обнаружил глядя на картинку, сможете найти?

 

Оставить комментарий

 
  2025-04-09

Механическая клавиатура

Давно хочу себе механическую клавиатуру. Хочется понять, почему люди так по ним фанатеют. Недавно у меня, наконец, появился доступ к 3D-принтеру, и я понял, что первое, что я на нём напечатаю, — это корпус клавиатуры Dactyl Manuform. Вот уже неделю штудирую гайды и заказываю детали.

Прям интересно довести процесс до работающего прототипа. В процессе возникает куча технических вопросов которые я решаю в процессе работы.

 

Оставить комментарий