Кастомная механическая клавиатура с USB-хабом
О преимуществах механических клавиатур сказано достаточно. Везде отмечается их надежность по сравнению с мембранными, приятный звук срабатывания переключателей и специфический тактильный отклик от каждого нажатия. И с этим, я, в той или иной степени, согласен.
Но есть и значительный эстетический аспект, иначе откуда такое разнообразие цветных колпачков для клавиш и переключателей, такое явление как artisan keycaps, мода на закрученные в спираль кабели и т.д.
Поизучав тематическое сообщество на Reddit, я пришел к выводу, что у тамошних участников есть определенное сходство с отбитыми аудиофилами.
Про “теплый ламповый звук” я ничего не могу сказать, но вот кнопочки из прозрачной смолы с рыбками мне нравятся :3
Ах да, есть же еще адепты продвинутой эргономики, со своими, совершенно безумными на первый взгляд, конструкциями.
И вот, я насмотрелся на всё это разнообразие, и решил сделать себе клавиатуру.
Сделать почти с нуля, потому что несмотря на огромное количество наборов конструкторов, все они меня не вполне устраивали. А вносить изменения в открытые проекты вроде Discipline, мне показалось более сложным, чем спроектировать плату клавиатуры самому. Ведь хотелось мне и компактности и наличия USB-хаба.
Так появился проект “titsboard”.
Название выбрали мои фолловеры в инстаграме, сначала предложив этот вариант в опросе, и затем проголосовав за него.
Достичь компактности я планировал, оставив только 40% клавиш от обычного их количества (104), и использовав только клавиши размера 1u.
Таким образом получилась прямоугольная матрица 4x12.
Всех обычно интересует где находится пробел. Так вот их здесь фактически два — это клавиши в середине нижнего ряда.
Дело в том, что для широких клавиш нужен стабилизатор, а я не был уверен в точности размеров компонентов в редакторе (заложены ли допуски в outline?), и оставил как есть.
Плата была разработана в EasyEDA — отличном современном онлайн-инструменте.
Кое-что я сейчас бы сделал по другому, например расположил конденсаторы более компактно. А кварцевые резонаторы нужно было бы расположить просто правильно, без переходных отверстий и поближе к чипам.
Однако, несмотря на некоторые опасения (в интернетах писали, что микросхема хаба не отличается стабильностью), всё работает отлично.
С пайкой руками некоторых SMD компонентов, и в особенности, разъема USB-C, были небольшие сложности — выводы, расположенные слишком близко друг к другу, моментально слиплись. Благо, что это легко устранить с помощью куска медной оплетки. Но в будущем я теперь буду заказывать шаблоны для паяльной пасты.
Когда вся электроника заработала, я понял, что вопрос с корпусом решен не до конца.
Я то думал, что закажу фрезированную из дюрали нижню часть и у клавиатуры будут закрыты бока. А в днище планировалось окно, через которое можно будет увидеть анимешную девчулю на плате.
Но нет, цена изготовления такой детали многократно превосходила стоимость всех других компонентов.
Поэтому основанием клавиатуре служит скелетная конструкция из нескольких напечатанных деталей.
С таким решением тоже не всё хорошо — я расположил отверстия под винты так, что напечатать основание, разделенное пополам, стало невозможно. Были опасения за конечную жесткость конструкции, но как показала практика, клавиатура при обычном использовании не прогибается. Дополнительную жесткость ей придает 3dпечатная пластина (на самом деле три отдельные пластины) в которой закреплены переключатели.
Выбор переключателей это дело личных предпочтений. Поначалу, я хотел купить Cherry MX Blue. Мне нравятся как они громко и отчетливо щелкают. Но, всё-таки, выбрал Kailh Purple 50g — они тактильные и нажимаются с чуть меньшим усилием, чем Cherry MX Black, которыми была оснащена моя прошлая клавиатура. И фиолетовый цвет мне нравится. Щито поделать.
В качестве контроллера клавиатуры используется Atmel AT90USB1286. Выбор его для такой маленькой клавиатуры — решение довольно спорное, ведь у него осталось довольно много не использованных выводов. На них можно было бы подключить еще и подсветку, пару поворотных энкодеров и OLED экран и еще бы осталось.
Но это всё я думаю реализовать в следующей версии клавиатуры.
Для первоначальной загрузки прошивки QMK в контроллер я использовал программатор USBAsp. В дальшейшем все обновления осуществляются с помощью LUFA-DFU, после перевода клавиатуры в режим прошивки, для чего предусмотрена специальная кнопка на нижней стороне платы.
После нескольких дней экспериментов с раскладкой, я оставил следующий вариант. Получилось 4 слоя, которые активируются удерживанием клавиш MO1 слева и MO2 справа от пробела(ов)
С русской раскладкой возникла проблема — буквы Б и Ю не влезли на нулевой слой и для того чтобы их набрать приходится нажимать две клавиши. А для заглавных три.
Я уже почти привык, но вот кому-нибудь другому, вынужденному пользоваться моей клавиатурой придется сложновато.
И вот еще почему:
На колпачках нет и не будет подписей.
Я рассматривал вариант с гравировкой лазером и кустарной сублимационной печатью. Но одно неверное движение и подпись получится кривая, и это непоправимо испортит внешний вид клавиатуры в целом.
Так что я сделал себе временную памятку и сделал её обоями рабочего стола до тех пор пока не запомню расположение всех клавиш.
Иногда, признаться, поглядываю где там у меня PrintScreen.
Почему сразу было не заказать колпачки с подписями? Потому что они мне все не понравились. Те наборы 1u колпачков, что предлагает Aliexpress, все какие-то кривые и убогие.
Из дополнительных функций, реализованных в прошивке отмечу шесть клавиш, отведенных для быстрого ввода текстовых смайликов ¯\_(ツ)_/¯
И функцию генератора паролей, на реализацию и отладку которой я потратил непозволительно много времени.
Зато и случайные числа генерируются с равномерным распределением, и пароль получается без неоднозначных символов, а потом принудительно удаляется из памяти микроконтроллера.
Вот вам надёжный пароль: 9RNJ-T^$a-zFCf. Используйте его для своей почты, например ;)
Совершенно случайно у меня получилась еще и система аксессуаров. Например, можно закрыть верхнюю часть клавиатуры простым кожухом (на который можно положить что-нибудь), или подключить к клавиатуре еще одну клавиатуру с рядом цифровых клавиш. А еще их можно напечатать другого цвета, чтобы были сменные панельки под настроение, как у телефонов 2000-х.
Публикуя эту статью, я могу считать проект завершенным.
Спасибо за внимание, и помните:
Operator must wear protection! Serious eye damage may occur!