Arduino
Я уже писал в блоге про свое новое хобби — механические клавиатуры. Отличное хобби, за исключением того, что довольно дорогое. Собрать неплохую кастомную клавиатуру обойдется примерно в 250$, а купить готовую — еще дороже. Поэтому и возникла идея попробовать собрать максимально дешевую механическую клавиатуру.
Основная идея в том, чтобы купить недорогую механическую клавиатуру самого начального уровня (можно даже б/у) и переделать ее.
На чем будем экономить:
- свичи берем из клавиатуры-донора
- планку для свичей берем из клавиатуры-донора
- кейкапы берем из клавиатуры-донора
- плату не покупаем, используем плату Atmega32U4 и паяем свичи через диоды к ней
- корпус из оргстекла
Казалось бы, а зачем вообще переделывать, если можно просто купить и использовать механическую клавиатуру начального уровня?
Чем наша клавиатура будет лучше донора:
- поддержка QMK прошивки
- более удобный форм-фактор
Самое основное: мы получаем поддержку QMK. Это прошивка, которая позволяет очень тонко настраивать клавиатуру.
Только часто возможностей QMK:
- заменять коды любых клавиш на любые
- макросы: при нажатии на клавишу может выполняться произвольный код, генерироваться несколько кодов нажатия и т.д.
- слои: можно создавать несколько слоев и переключаться между ними, каждый слой может содержать свою логику
- гибкое управление подсветкой (обычной и RGB): можно создавать свои эффекты подсветки или использовать готовые
- обратная связь: при желании с компьютера на клавиатуру можно передавать события, на которые клавиатура будет реагировать, например, менять цвет подсветки при переключении раскладки
Поэтому при покупке клавиатуры или платы, будет очень полезна поддержка QMK.
Подготовка
Для начала нам понадобится:
- Клавиатура-донор
- Плата Atmega32U4
- Диоды
- Коннекторы
- Латунные распорные винты
- Оргстекло
- Провода
- Паяльник
- Колодка для платы
Ссылки на все это есть справа от статьи — ровно это я и использовал. Единственное, что я не использовал — это hotswap-коннекторы, так как хотел сделать максимально дешевую клавиатуру. Hotswap-коннекторы позволяют сделать клавиатуру с заменяемыми без пайки свичами, что полезно, если один из свичей выйдет из строя, либо если вы хотите попробовать другие свичи.
Съемник также можно не покупать, обычно он входит в комплект с клавиатурой.
Пора начинать
Сначала нужно аккуратно разобрать нашу клавиатуру-донор. В первую очередь снимаем кейкапы с помощью съемника (того, что из пластика).
Далее так же аккуратно извлекаем свичи, используя металлический съемник и располагая его вертикально.
После — снимаем саму металлическую пластину, на которой держались свичи. Бывает, что винты находятся с лицевой части, а бывает, что сзади.
Теперь нам нужно определиться с тем, какой форм-фактор будет у нашей новой клавиатуры. Форм-факторов бывает довольно много, обозначаются они обычно в процентах от полного форм-фактора, такого, как у клавиатуры Redragon surara. Поэтому ее лучше всего использовать в качестве донора: у вас на выбор довольно много вариантов, как ее «урезать», а так будет большое количество свичей в запасе.
Также клавиатуры могу иметь один из двух стандартов: ANSI (с однострочным ENTER-ом) и ISO (с двухстрочным ENTER-ом). Но это вы изменить не сможете.
Но есть нюанс: так как вместо полноценной платы мы используем Arduino-подобную Atmega32U4, то мы ограничены количеством ее пинов. У той, что я использовал и ссылку на которую разместил, всего 18 пинов. Будущую клавиатуру нужно разбить как бы на сетку, часть пинов будет использоваться для рядов, а часто — для столбцов. Если в клавиатуре всего 5 рядов, то столбцов может быть максимум 13.
Я остановился на форм-факторе 60% ANSI. Такая клавиатура имеет 5 рядов. Правда в первом и втором рядах сверху клавиш 14, а не 13, в третьем — 13, зато в 4 — 12, а в последнем — вообще 8. Таким образом клавиши две клавиши из первого и второго ряда можно «повесить» на последний ряд, в котором есть запас, или на 4 и 5 ряды, как удобнее. Это не имеет особого значения, просто в QMK прошивке нужно будет это прописать.
Следующий шаг: отпиливаем от металлической планки лишнее, так, чтобы остался нужный нам форм-фактор. И можно вставляем обратно свичи и кейкапы. Уже видно, какая будет клавиатура в итоге 🙂
Ну и теперь нужно запастись терпением, а также проводами. Я использовал обычную витую пару. И начинаем паять. Свичи, как обычные выключатели, имеют 2 пина, замыкаемые при нажатии. Один пин каждого свича одного столбца нужно припаять к одному пину платы, второй пин каждого ряда — через диод — к другому пину платы.
Выйдет примерно следующее:
Далее из оргстекла я выпилил нижнюю часть корпуса с местом под плату (решил сделать ее не под клавиатурой, а на виду — сверху)
По моей задумке плата должна была быть быстросъемная, для чего и нужны коннекторы. Кстати, мне это как минимум 1 раз уже пригодилось: повредился разъем платы (неудачно дернули провод), и для ремонта я просто вынул старую плату и вставил новую, перепаивать ничего не пришлось.
Выпиливаем из того же оргстекла крепление для платы, в котором будут вклеены коннекторы.
И вклеиваем в нее коннекторы, установив в них плату, чтобы после схватывания клея размеры между коннекторами были точные.
Просверлив обе делали, прикручиваем нижний лист к планке клавиатуры через распорные винты, и с помощью них же крепим площадку для платы к нижнему листу.
Ну и последние: припаиваем провода к колодке разъема.
Прошивка
Qmk является проектом с открытыми исходными кодами, размещенными на github.
Для создания своей прошивки, проще всего взять за основу готовую прошивку для похожей клавиатуры (имеющей тот же форм-фактор и основанной на Atmega32U4), скопировать директорию, заменить в конфигах название и модель клавиатуры, скомпилировать и прошить клавиатуру.
Вот дерево файлов и директорий прошивки:
Я скопировал эти файлы (уже не помню с какой прошивки) в созданную директорию с именем nixoid .
В файле rules.mk прописываем путь к версии прошивки: DEFAULT_FOLDER = nixoid/rev1 .
В файле rev1/rev1.h должна быть корректная схема соответствия клавиш на раскладке и тому, какие ряды и столбцы клавиши занимают.
В файле rev1/config.h — обозначено, к каким пинам платы подключены ряды, а к каким — столбцы.
Соответствия пинов и их названий:
Это основные моменты. К сожалению, описать все, что касается Qmk, в одной статье невозможно. У проекта есть неплохая документация, и комьюнити на github, так что разобраться несложно.
Итоговый вариант клавиатуры:
Вывод
Самое основное: сколько же я сэкономил? Клавиатуру донора я купил по скидке примерно за 2000 руб, на все остальное ушло также примерно 2000 руб в сумме. Финальная стоимость в 4000 руб меня устроила, я добился, чего хотел — сделать дешевую механическую клавиатуру с поддержкой qmk и новым для меня форм-фактором.
Для сравнения: если собирать кастомную механическую клавиатуру на готовой плате без донора, то по стоимости это выйдет в 3-5 раз дороже, в зависимости от выбранных свичей, кейкапов и корпуса.
После использования клавиатуры могу описать ее плюсы и минусы.
- низкая стоимость
- удобный форм-фактор (вместо отсутствующих f1-f12 используется спецклавиша и цифры, а вместо стрелок — правые модификаторы, которые я и так не использую)
- удобная быстрая замена платы — можно даже иметь 2 платы с разными прошивками и менять их при необходимости
- поддержка qmk делает из обычной клавиатуры очень крутую 🙂
- не очень удачное расположение платы — легко вырвать разъем, дернув провод
- подсветки иногда не хватает
В ближайшее время хочу собрать также бюджетную клавиатуру форм-фактора 40%. Почему бюджетную? Да просто у меня уже есть 2 основных клавиатуры, и тратить на клавиатуру в 40% не хочется, использоваться она будет крайне редко, скорее всего.
В отличии от описанной в статье, для нее я заказал набор кейкапов (они там не стандартные), планку, а также буду использовать хотсвап коннекторы. Ну и Atmega32U4 будет расположена уже под клавишами и разъем будет надежно закреплен.
Сборка 90% механической клавиатуры XD96
Здравствуйте, товарищи! Оговорюсь в самом начале, это не обзор. В тексте не будет анализа рынка механических клавиатур, обоснования выбора и всего вот этого. Я просто хочу поделиться опытом сборки конкретного устройства, указать на некоторые не очевидные вещи что может быть полезно тому кто будет собирать клавиатуру на данной плате.
Собирать мы будем 90% механическую клавиатуру XD96 на плате от KPREPUBLIC.
Комплектующие
Как такового набора комплектующих для сборки производитель не продает. Все необходимое предлагается заказывать отдельно. Для сборки клавиатуры нам понадобятся:
- Плата
- Свичи на Ваш вкус (для общего понимания масштаба трагедии)
- Стабилизаторы (для XD96 набор 104 x1 Set)
- Корпус
- Кейкапы, опять же по вкусу
Выбор кейкапов
Есть нюанс на который нужно обратить внимание. Плата дает некоторую свободу в выборе раскладки и физическом размещении на ней свичей, по этому выбор набора кейкапов желательно делать после того как Вы определились с раскладкой.
Плата
Основные особенности платы:
- до 96 клавиш— поддержка 3pin или 5pin MX свичей (либо их клонов)
- контроллер клавиатуры — Kimera Core (открытый контроллер клавиатур на ATmega32u4)
- редактирование раскладки в Keyboard Layout Editor
- прошивка с использованием TKG-TOOLS offline или TKG online (есть информация о наличии порта QMK для данной платы, но сам я не проверял)
- 16 SMD RGB светодиодов на нижней стороне платы для фоновой подсветки
- предусмотрены отверстия под PCB Mount стабилизаторы Cherry
- контакты для 3мм светодиодов в каждом сокете под свич (может работать как подсветка клавиши или индикатор)
- разъем mini-USB. вот это в 2022 году уже просто не серьезно
Перед тем как начинать собственно сборку необходимо подключить плату к компьютеру, открыть какой-нибудь клавиатурный тестер (например этот) и замыкая контакты клавиш пинцетом проверить все ли клавиши работают. Этап этот важен т.к. может сохранить кучу времени и нервов при дальнейшем поиске неисправностей. Так например выяснилось что на плате не хватает одного диода.
Корпус
Под данную плату производитель предлагает только один вариант корпуса. Это довольно увесистый алюминиевый корпус в пяти вариантах расцветки: серебристый, красный, серый (как в моем случае), голубой и черный.
Комплект корпуса, помимо основной оболочки, включает в себя: монтажную пластину универсальную для всех поддерживаемых раскладок, матированную с внутренней стороны стеклянную нижнюю крышку, набор винтов, четыре силиконовые ножки. На фото выше видно что корпус имеет складные ножки дающие не большой угол клавиатуре на столе, на этих ножках можно увидеть накладки. Эти накладки я печатал на 3д принтере из резины т.к. складные ножки имеют довольно острые грани и могут царапать столешницу.
Ни какой звукоизоляции с корпусом не поставляется, но в коробке корпус при транспортировке удерживала прокладка из какого-то вспененного материала и в теории можно использовать его как шумку.
Приступим к сборке
И первое что нужно сделать это установить стабилизаторы. В прочем, если не использовать монтажную пластину то это можно сделать и после того как будут смонтированы свичи. Но в нашем случае после установки всех свичей на место к плате будет уже не добраться. И да, перед установкой стабилизаторов их рекомендуют смазать тефлоновой смазкой. У меня такой не оказалось и я решил что сделаю это потом. Так вот, потом так и не наступило )) Но вроде бы все работает и не особо гремит.
Начинаем устанавливать свичи.
Свичи бывают двух видов: для монтажа в монтажную пластину и для монтажа непосредственно на плату. Отличаются они наличием двух дополнительных пластиковых пинов у свичей предназначенных для монтажа сразу на плату. Они позволяют точно позиционировать переключатель на плате что даст потом ровные ряды клавиш без смещения в зазорах, но только в том случае если в плате предусмотрены отверстия под эти пины. Наша плата поддерживает и трех и пяти пиновые свичи, по этому я заказал вариант под монтаж на плату. Сделал я это потому, что монтажная пластина из комплектного корпуса — универсальная, т.е. позволяет устанавливать клавиши в нескольких вариантах размещения от этого не во всех гнездах пластины свичи фиксируются жестко и ровно. Таким образом мы получаем точное позиционирование свичей на плате.
Для начала стоит вставить в монтажную пластину 4 свича в заведомо правильные места. Например Esc, Ctrl слева и парочку с права поближе к краю клавиатуры. Затем совместить монтажную пластину и плату стараясь не загнуть контакты свичей, после чего припаять свичи. Все, теперь плата верно позиционирована относительно монтажной пластины и можно начинать устанавливать остальные свичи.
Я бы рекомендовал ставить свичи по одному, сверяясь при этом с раскладкой и припаивать. Я же сначала вставил все свичи, а потом сел их паять. На выходе я получил: три не припаянных и еще три не верно припаянных свича.
Теперь нужно припаять светодиоды для Caps Lock и Num Lock.
На плате, рядом с каждой клавишей есть контакты для 3мм светодиодов. Поведение этих светодиодов настраивается в конфигураторе прошивки. Они могут работать как подсветка или индикатор. В самих свичах есть посадочные места для этих диодов, просто вставляем их, попадаем ножками в контакты на плате и припаиваем. На маркировку полярности нанесенную на свич обращать внимания не стоит, полярность контактов показана на картинке. На плате она нарисована только в одном месте (в верхнем углу, под USB разъемом) и увидеть ее можно не сразу, потом придется перепаивать светодиоды (как мне).
Настало время собрать все в корпус
В старой версии корпуса монтажная пластина не крепилась к корпусу по бокам, от чего клавиатура могла прогибаться при нажатии на клавиши в этих местах. У нового корпуса там есть винты, но печатные проставки я на всякий случай все равно установил.
Вообще, корпус можно совсем не покупать. На основе имеющейся раскладки можно сгенерировать детали для корпуса и монтажную пластину и нарезать все это из акрила (или другого материала по вкусу). Все это делается в сервисе Plate & Case Builder. Правда не факт что это окажется дешевле готового корпуса.
Прошивка
В принципе все, сейчас клавиатура уже работает. Ее можно подключать к компьютеру и пользоваться. Но что если мы хотим поменять местами клавиши или еще как-то изменить раскладку? У нас же кастом в конце то концов 🙂
- Для начала открываем редактор раскладок с базовой раскладкой для этой платы.
- Редактируем раскладку и сохраняем свой вариант. Для этого понадобится авторизация, подходит учетка гитхаба.
- Подключаем клавиатуру к компьютеру, нажимаем сочетание клавиш Fn+Backspace — это переведет клавиатуру в режим прошивки (в диспетчере устройств она будет видна как ATm32U4DFU)
- При помощи Zadig устанавливаем драйвер WinUSB
- В Гугл хром (это важно), открываем генератор прошивок xd.tkg.io
- В разделе General, в настройках клавиатуры, выбираем Kimera -> Config -> XD96
- В разделе Layer выбираем вкладку Simple, в Composite Layer вставляем адрес нашей новой раскладки
- Разделы Fn и LED настраиваем как показано ниже
- Жмем «Burn .eep File»
В конфигурации по умолчанию, LED 1 это scroll lock, но я данную клавишу не использую. LED 3 это Num Lock, я инвертировал индикатор для того что бы он не горел постоянно, а загорался когда на клавиатуре выключен нумпад. После самой прошивки может появиться сообщение об ошибке, на него можно не обращать внимания. Клавиатуру лучше отключить от компьютера и подключить снова, все должно работать как Вы настроили в редакторе раскладок.
На этом у меня все, спасибо за внимание. Надеюсь кому-то этот материал будет полезен.
Надеюсь дойдут руки проверить работает ли на xd96 порт прошивки QMK, все же куда приятнее было бы конфигурить раскладку «на лету» в каком нибудь VIA.
Кастомная клавиатура: что стоит знать новичку при выборе и сборке
Сборка кастомной клавиатуры – достаточно ресурсоемкий процесс как в плане финансов, так и временных затрат. В этом материале я перечислю основные аспекты при выборе кастома: на что стоит обращать внимание, и чему отдать предпочтение при первой сборке.
Состав кастомной клавиатуры
Данная периферия имеет множество различных элементов и нюансов, в которых легко запутаться. Тем не менее важно уделить выбору каждого из них достаточно времени, ведь от отдельного компонента зависит качество, комфорт использования, ну и, конечно же, цена. К обязательным элементам относятся:
- корпус (case);
- плата (PCB);
- плейт (Plate);
- свитчи;
- кейкапы;
- стабилизаторы;
- кабель.
Это минимальный набор для того, чтобы клавиатура просто функционировала. Однако имеется и ряд других компонентов, которые всячески улучшают качество её работы или обслуживания:
- прорезиненные ножки;
- комплект для сборки;
- шумоподавляющая прокладка;
- пуллеры (съёмники) для свитчей и кейкапов;
- смазки для свитчей и стабилизаторов.
Выбор дополнительных компонентов производится индивидуально, а затраты на их покупку минимальные, поэтому разбирать процесс их подбора здесь я не буду. Гораздо больше внимания требуют основные элементы кастомной клавиатуры, которые я рассмотрю далее.
Определитесь с форм-фактором и стандартом раскладки
Первое, что нужно сделать при сборке кастомной клавиатуры – определиться с форм-фактором. От него будет зависеть выбор всех дальнейших элементов. Таких размеров много, но отмечу лишь самые распространённые в порядке убывания:
- 80% (TKL);
- 60%;
- 65% и 75%.
Чем меньше процент у форм-фактора, тем меньше кнопок будет на клавиатуре. Если у вас нет цели взять максимально компактный девайс, то лучше рассмотреть 80%, так как для такого размера на рынке кастома имеется наибольший ассортимент комплектующих.
Что касается стандарта раскладки, то существует ISO (международный) и ANSI (американский). Самый просто способ их отличия – посмотреть на клавишу Enter и левый Shift: у ANSI Enter имеет одноэтажную конструкцию, а Shift более вытянутый; ISO имеет двухэтажный Enter, а Shift имеет размер обычной клавиши. Ещё существует японский стандарт JIS, но он в кастомной периферии у нас почти не используется. При сборке важно следовать стандарту, чтобы он совпал на плате, плейте и кейкапах. В противном случае придётся заменять отдельные элементы на подходящие.
Корпус
Основа клавиатуры. Главным отличительным параметром здесь является материал, из которого выполнен корпус. Самыми распространёнными являются корпусы из ABS-пластика и поликарбоната, а также металла. Первые два материала отлично подойдут, если вы хотите иметь беспроводной тип подключения, так как металл в некоторых случаях будет отражать сигнал. Также металлические корпусы чаще нуждаются в шумоподавляющих прокладках, однако отличаются прочностью и устойчивостью всей конструкции. Цена у металлических кейсов также несколько выше.
Плата
Главное, на что стоит обращать внимание при выборе платы – формат крепления свитчей (переключателей). Он может быть Hot Swap или фиксированный. Hot Swap более распространён, так как позволяет быстро установить или заменить свитчи, а также даёт возможность более гибкой работы с подсветкой.
Фиксированный формат крепления используется всё реже, так как для установки свитчей на такую плату вам придётся вооружиться паяльником и прямыми руками. После пайки свитчи нельзя будет заменить, что является большим минусом, хотя сама конструкция в таком случае будет более устойчива (без ощутимых люфтов).
Плейт
Не путайте с платой. Плейт – верхняя решётка над платой, которая нужна для визуальной составляющей, а также для фиксации свитчей и стабилизаторов (в зависимости от типа их крепления). Плейты также отличаются по материалу, где к самым практичным и востребованным можно отнести поликарбонат и алюминий. Первый стоит дешевле, а также может изгибаться. Алюминий дороже и почти не гнётся, обеспечивая более стабильный и твёрдый отклик при нажатии.
Свитчи
Свитчи имеют массу параметров, поэтому к их выбору стоит подойти с особой подготовкой. Если кратко, то существуют линейные, тактильные и кликающие свитчи. Ещё они различаются по цветам, которые определяют силу нажатия. Здесь всё максимально субъективно, поэтому лучше предварительно протестировать все виды вручную.
Что касается выбора свитчей под кастом, то здесь важно учитывать способ их крепления: существуют 3-пиновые (plate, то есть крепятся на плейте) и 5-пиновые (PCB – крепятся непосредственно на плате). Вторые более сложны в установке, зато отличаются стабильностью. Для PCB-свитчей нужны специальные отверстия на плате, поэтому смотрите, есть ли они у вас. В крайнем случае 2 пластиковых пина, отвечающих за крепление на плате можно просто удалить подручными методами и закрепить переключатель на плейте. Но чтобы не мучатся, лучше продумать этот момент заранее.
Кейкапы
Как я упомянул в начале материала, главное в кейкапах – их соответствие стандарту раскладки. Также обращайте внимание на совпадения с юнитами (1 юнит – единица размера клавиши), отдельные плейты и платы могут иметь нестандартные юниты. Здесь также нужно знать немалую теоретическую базу, описание которой сейчас растянет и так длинный материал. Главное помните, что такой параметр у кейкапов существует, а невнимательность может усложнить весь процесс сборки.
Стабилизаторы
Ситуация аналогичная со свитчами: формат крепления делится на Plate и PCB. Первый легко крепится, но чуть менее стабильный, а второй устойчив, но требует отверстий в плате. Также помните, что PCB крепление требует разборки корпуса клавиатуры для изъятия, например, когда это нужно для смазки.
При сборке кастомной клавиатуры вы также можете встретиться с таким понятием как «база». Она представляет собой готовую основу, состоящую из корпуса, платы и плейта – отличный вариант для новичков, так как он ускоряет процесс сборки и сводит к минимуму возможные ошибки совместимости. С базой вам остаётся лишь подобрать желаемые свитчи, кейкапы и кабель.
Подведём итоги
При сборке кастомной клавиатуры стоит учитывать множество факторов. Здесь не всё так стандартизировано, то есть вы не можете взять любой из понравившихся компонентов и точно получить работающее устройство. Постарался максимально кратко описать все нюансы, и надеюсь, что данный материал поможет получить желаемый результат.
Для тех, кто думал приобрести робот-пылесос, видеорегистратор или телевизор, рекомендую посмотреть наши подборки:
- «Рейтинг видеорегистраторов c GPS-модулем 2023 года»;
- «Выбираем устройства для уборки дома: 6 робот-пылесосов с построением карты»;
- «Выбираем телевизор для дома: 10 моделей с функцией Smart TV с Яндекс Маркета».
Вариант как найти для подарка своим близким.
Зачем программисты делают собственные механические клавиатуры
Когда обычному человеку нужна новая клавиатура, он идёт в магазин. Когда клавиатура нужна программисту, он собирает её сам из компонентов. Иногда дело заходит слишком далеко, и программист начинает печатать корпуса на 3d-принтере, заказывать авторские клавиши и проводить дегустацию свитчей. Рассказываем, что это и зачем нужно.
Что такое кастомная клавиатура
Слово «кастомная» (от английского custom — нестандартный) означает, что изделие изготовлено на заказ. Когда программист сам себе собирает клавиатуру, — это тоже кастом, потому что на заводах не выпускают клавиатуры именно с такими параметрами.
Кастомную клавиатуру можно собрать:
- любой ширины и из любого количества клавиш;
- любого цвета;
- с любой подсветкой;
- с любой реакцией на нажатие каждой клавиши;
- любой формы и с любым дизайном.
Из чего состоит кастомная клавиатура
Чтобы собрать кастом, нам понадобятся компоненты — их можно купить готовые, заказать на производстве или изготовить самостоятельно в зависимости от ваших возможностей. Вот что это за детали:
Плата, на которой обычно находится контроллер и которая реагирует на замыкания контактов. Это «мозг» клавиатуры, который отвечает за передачу данных с устройства на компьютер.
Вместо платы можно использовать контроллеры типа Arduino, но тогда нужно как-то спаять контакты клавиш. Это не очень удобно, но вполне реализуемо.
Переключатели, или свитчи, — это механизмы, которые отвечают за нажатия на клавиши. В зависимости от механизма клавиши дают разный отклик и щелчок: какие-то требуют более сильного нажатия, какие-то легче; одни дают мощный щелчок, другие бесшумные; есть даже такие, которые делают два щелчка: один на нажатие, другой на отпускание клавиш.
Свитчи выглядят так:
Стабилизаторы — это устройства, которые не дают длинным клавишам шататься и люфтить. Длинным — это пробел, шифт, капслок, энтер и другие. Под каждую такую клавишу нужен свой стабилизатор:
Пластина, которая будет держать переключатели, чтобы они не вывалились из клавиатуры. Лучше всего брать металлическую, они прочнее, чем пластиковые:
Корпус, чтобы собрать всё вместе.
Кейкапы, колпачки — клавиши, которые мы видим на клавиатуре. Кейкап — это не сама клавиша, а пластиковый колпачок, который надевается на свитч. Его можно вытащить из одного гнезда и поставить в другое — нажиматься будет точно так же. Например, вот кастомные кейкапы с Дартом Вейдером и Бэтменом:
Ещё при желании можно добавить в клавиатуру светодиоды для красоты. Тут тоже есть выбор: купить их отдельно, вместе с переключателем или распаянные на плате:
Как работает механическая клавиша
В клавиатурах есть несколько типов клавиш:
- Мембранные — для нажатия надо продавить резиновую мембрану. Обычно такие клавиши имеют небольшой ход нажатия и тихо работают.
- Ножничные — кейкап держится на тонком механизме, напоминающем ножницы, отсюда и название. В большинстве ноутбуков стоят ножничные клавиатуры.
- Механические — это наш случай. В них, чтобы замкнуть контакт, используется специальный механизм с пружиной, подвижным штоком, токопроводящими контактами и корпусом, внутри которого это всё находится. Они большие и издают характерное щёлканье при нажатии, как в фильмах про хакеров.
Почти все кастомные клавиатуры делают с механическими клавишами по двум причинам:
- Свитчи проще монтировать на плату, чем всё остальное.
- Можно подобрать свитч с нужными для себя параметрами. Например, длинным или коротким свободным ходом, жёсткостью, скоростью возврата, скоростью срабатывания и так далее.
Работает переключатель так:
- Есть контактная пара. Если её замкнуть — клавиатура поймёт, что на клавишу нажали.
- В обычном состоянии контактная пара разомкнута и сигнал не идёт. За это отвечает белая деталь на схеме ниже.
- Когда мы нажимаем на клавишу, она давит на синий шток, а шток — на белый размыкатель. Как только размыкатель проваливается вниз, контакты соединяются и сигнал идёт на клавиатуру.
- Когда палец убран, пружина поднимает обе части наверх, и клавиша снова готова к тому, чтобы на неё нажали.
Как собрать всё вместе
Общая последовательность такая:
- Берём плату и устанавливаем стабилизаторы под большие клавиши. Это делаем сразу, потому что потом будет уже не подлезть.
- Ставим пластину.
- Припаиваем к плате контакты свитчей. Есть клавиатуры с готовыми разъёмами под свитчи, туда контакты можно просто вставить и зажать.
- Если нужны светодиоды — тоже припаиваем.
- Ставим плату со свитчами в корпус.
- Надеваем кейкапы на свитчи.
Звучит просто, но на деле это может занять от пары-тройки часов до нескольких вечеров — всё зависит от необходимости пайки и того, как все элементы подходят друг к другу.
Программирование кастомной клавиатуры
Часто кастомы делают ради расширения стандартных возможностей, например:
- сделать переключение языка отдельной кнопкой;
- повесить на какие-то клавиши нестандартные действия, например, копирование и вставку сделать тоже отдельными кнопками;
- сократить в 2–3 раза количество клавиш, а все функции полностью запрограммировать на то, что осталось.
Чтобы такое сделать, нужно, чтобы плата поддерживала стандарт QMK — он позволяет программировать клавиатуры на уровне чипа. Это значит, что вы можете подсоединить эту клавиатуру к любому другому компьютеру и она будет работать точно так же, как и на вашем, со всеми хитрыми комбинациями и скриптами.
Если нужна тонкая настройка, то в редакторе можно открыть код прошивки, поправить любой параметр и загрузить это на клавиатуру. Например, можно на одну клавишу повесить сочетание клавиш или любую другую последовательность действий.
Как влияют кастомные клавиатуры на качество вашего кода
Кастомная клавиатура никак не влияет на качество вашего кода, даже если у неё самая крутая подсветка и самые дорогие свитчи.
Другое дело, что, погрузившись в программирование прошивок и скриптов, вы сможете подтянуть свои навыки в алгоритмах и логике работы устройств — и вот это точно может сделать вас лучше как программиста.
Но один способ улучшить код с кастомной клавиатурой всё-таки есть: приходите в Практикум, там можно с любой клавиатурой.
Как влияют на удобство работы
Кастомные механические клавиатуры — дело вкуса. Одним нравится звук щёлкающих клавиш, других он раздражает. Кому-то максимально удобно на Apple Magic Keyboard, а кто-то терпеть не может эту мембрану и жить не может без свитчей Cherry Red. То есть здесь всё строго по любви.
Из распространенных минусов:
❌ Самые доступные наборы для кастома могут быть без русского языка. Это не проблема, если вы хотите сами сделать лазерную гравировку.
❌ Если делаете кастом, то хочется сделать какую-то особенную форму клавиатуры. Но тогда пальцы привыкнут к новой клавиатуре, а на других станет непривычно.
❌ Кастомная клавиатура может занимать дополнительный порт на компьютере.
Срединный вариант
Хороший промежуточный вариант — программируемые мини-клавиатуры. Накатываете на них нужные вам горячие клавиши, и в бой. Пример с Али: