Приветствую, друзья и коллеги. Сразу оговорюсь, что данная статья не претендует ни на что, в ней я всего лишь собрал свой небольшой опыт, которым хочу поделиться с вами.
Мне было интересно чем «клавиатура для программистов» помогает программистам делать их работу. У меня были сомнения по поводу сразу нескольких аспектов. Надежности. Стабильности. Удобства. Эстетического удовольствия от использования. Надеюсь я сумел подробно описать свой опыт и кому‑то он покажется полезным.
Так же стоит оговориться, что речь пойдет исключительно про «эргономичные» сплит клавиатуры. Это те, которые с изгибом под кисти рук и разделенные на две половинки, хотя многие аспекты касаются и обычных плоских самосборок.
Я не паял примерно десять лет и идея собрать какой‑то гаджет пришла спонтанно. Мы делали довольно крупный проект, моя задача была писать бекенд на Rust, что на расте я делал впервые и довольно сильно уставал. Так что задумавшись над способами релаксации решил немного помахать паяльником.
Чтобы не перегружаться еще больше, изучением углубленных мануалов, решил купить готовый набор компонентов и плат. Здесь на Хабре про них уже писали. Пайка и сборка отняла около трех дней. Работал по вечерам и в выходные. Сейчас сборка уже окончена и результатом я доволен, но на работу эту клавиатуру я не возьму. И работать на ней не собираюсь.
В общем, суть того о чем я хотел бы написать, заключена в названии. И чтобы в процессе не оторвать коту хвост, перейду сразу к минусам:
1) Корпус напечатанный на 3D принтере выглядит плохо. Слои видны чем их не полируй, при монтаже остатки поддержки мешаются и постоянно приходится их убирать. Даже когда ты уверен, что идеально очистил заготовку, плата обязательно упрется в какой-нибудь торчащий усик. По началу медитативный процесс начинает раздражать.
2) Относительно простые в изготовлении платы стоят дорого. Их легко испортить. В результате то, что должно было стать конструктором для школьников превратилось в хобби для «богатых программистов». Наверное поэтому, в IT сообществах так активно продвигают эту идею совместно с сопутствующим товарами.
3) Удобство написания кода на такой клавиатуре я бы вынес в отдельную статью, так много всего необходимо сделать, чтобы ваша поделка начала давать хоть какое‑то преимущество над обычной клавой за 300 рублей. В программах для настройки этих клавиатур масса функций, которые вы так же бесплатно можете получить для любой‑другой клавиатуры, просто накатив дополнительный софт. Запись макросов, слои, переназначение клавиш все это вы можете получить без вложений. Да, настройки будут хранится не в памяти самой клавиатуры. И да, хранение настроек в памяти клавиатуры, актуально если вы носите клаву с работы домой, что конечно же никто делать не будет. Отсюда вывод, нет никакой разницы где хранятся настройки. Это напротив может быть неудобно, если вы подключаете устройство попеременно к Mac и Win или даете попользоваться компьютером своей девушке, бабушке, кошке...
4) Хлипкость конструкции. Чем бы вы не напечатали корпус, он все равно не даст достаточной жесткости. Вдобавок ко всему, в сборе клавиатуры довольно легкие и даже силиконовые ножки с AliExpress, намертво липнущие к столу не сильно исправляют ситуацию. Клавиатура будет улетать на другой край стола при малейшем неловком движении.
Корпус изгибается и деформируется, приходится колхозить проставки, чтобы компенсировать кривизну. Наверное потому ребята с BastardKeyboard используют стальные пластины, закрывающие дно их клавиатур. Таким образом решается вопрос кривизны и легкости, но встает новый вопрос: где найти производство на котором лазером порежут нержавейку и не сдерут за это восемь шкур. Из самых адекватных предложений, я получил цену в районе 8к. рублей.
Тут владельцы 3D принтеров могут возразить, указав на то, что существует масса материалов, в том числе достаточно жестких. Но мне пока не удалось найти материал который хотя бы как‑то приблизился по качеству к производственному литью.
4) Эргономика сильно преувеличена, а для кого‑то и вовсе имеет обратный этому понятию эффект. Все потому, что суть open source эргономичных клавиатур была в том, чтобы мы создавали индивидуальные проекты. Ваша осанка, рост, вес, длина пальцев и их кривизна, все в конечном итоге имеет значение для воссоздания эргономики. В реальности, все печатают один и тот же 3D макет.
А чтобы рассчитать ваши параметры необходимо создавать несколько базовых макетов, примерять их вживую и шлифуя неровности строить собственный макет в 3D редакторе.
5) Выпадающий шарик трекбола. Казалось бы, минус касающийся только конкретных типов клавиатур, но это показывает принцип по которому строятся проекты. И принцип этот нам хорошо известен, он называется «и так сойдет». Придерживаясь его, мы получим одинаковое качество для всех стадий реализации проекта. Досадные мелкие недостатки вы заметите в разводке плат, в качестве соединений, в пространстве для монтажа и т. д.
Результатом вашей работы станет поделка не сильно превосходящая по качеству китайские аналоги. А если это ваш первый проект или вы не брались за паяльник лет десять, как я, то скорее всего качество будет даже хуже.
6) Программная составляющая отличная но не совершенная. Не хватает переключения подсветки зависимости от слоя, например. И если ваш родной язык не C++, придется довольствоваться стандартным набором функций, коих очень много, но все еще не достаточно, чтобы создавать действительно уникальные, индивидуальные устройства.
Обилие программных функций полностью компенсировано их однотипностью. Например, на моей клавиатуре Redragon которую я когда‑то купил по цене пачки сухарей, есть масса крутых эффектов подсветки. Мой любимый эффект — «нагревание» это когда при быстрой печати тусклая белая подсветка постепенно становится красной и потом плавно «остывает». Прикольных «умных» эффектов для Via я не нашел. Но их довольно много и есть интересные. Если удастся выкроить свободное время, с удовольствием поэксперементирую с созданием новых эффектов подсветки. Мне кажется, тут много пространства для творчества.
Но почему же это попало в минусы, если все хорошо? А минус как раз в том, что пользовательский слой никак не отделен от административного. Это значит, что неловкий жест и ваш гаджет уходит в режим прошивки. В заводских устройствах подобные вещи продумывают в обязательном порядке, именно поэтому мы ломаем пальцы чтобы войти в системные настройки почти любых устройств сделанных инженерами.
7) Если ты не удаленщик, то на работу в офис нужно собирать еще одну клавиатуру. Это чтобы всем говорить, с несмываемым пафосом, что мол не пользуюсь я вашим наследием печатных машинок.
8) Не для работы. Всегда есть шанс провалить дедлайн только потому что у тебя сгорел микроконтроллер из‑за кривой пайки. Именно это у меня и произошло, благо проект мы сдали в срок, а на работу я новую клавиатуру притащить не успел. Выяснилось, что китайские одноплатники на RP2040 не очень надежны. Разве что вам удастся раздобыть натуральную «малинку», я пока не нашел их в свободной продаже на территории России.
Надежность зависит от массы факторов, как аппаратных (качества сборки, компонентов), так и программных. Никогда не знаешь к чему может привести очередная перезагрузка.
У меня после перезагрузки, которая вынесена в третий слой по умолчанию, клавиатура просто зависала, а активная сторона загоралась красным светом. Необходимо было переподключить ее через USB. Зачем вообще понадобился reset в активном слое я все еще не понимаю. Может это какая‑то шпионская функция, перезагрузил, она подключилась как флешка и сохраняй секретные документы. Но теперь становится понятно, зачем безопасники требуют запрашивать разрешение на подключение личных гаджетов. Все это из сфер запредельно далеких от моего понимания.
Так же пару раз полностью слетали настройки. Я так и не выяснил с чем это было связано, но происходило во время сборки и после не повторялось.
9) Если вы не владеете методом слепого десятипальцевого набора, забудьте. Проще сначала научиться на обычной клавиатуре и затем, что называется, почувствовать разницу. А если владеете, не вздумайте после сборки или покупки сразу тащить свежеспаянное чудо на работу. Сначала нужно освоить слои, разобраться с расположением букв, символов, цифр. Протестировать все в конце концов! Не смотря на то, что все достаточно удобно, без практики нормально работать не выйдет.
10) Клавиатуры в стиле «скелетон» (это когда провода торчат наружу) не имеют права на жизнь с чисто технической точки зрения. Даже если предположить, что вы работаете в абсолютно стерильных условиях и кофе пьете не выходя из кофепоинта, вы банально можете задеть проводок пальцем, замкнув тем самым какой‑нибудь контакт.
Рассмотрев все скелетоны, стало ясно, что они сделаны такими исключительно с целью уменьшения габаритов. Если закрывать все щели, то нужно будет увеличивать масштаб корпуса, а заодно появляется пространство для удобного монтажа плат и проводов.
11) Для работы сплит клавиатуры требуются два микроконтроллера. При этом, каждая половинка, подключенная по отдельности у меня работала как правая. Не уверен баг это или фича. Кажется, это проблема конкретно моей сборки.
Теперь к достоинствам
О плюсах уже написано и снято много материала, отмечу что понравилось лично мне больше всего.
1) Пока реально удобной фичей остается трекбол. Любители Vim, Tmux и прочих zsh порадуются. Но эти же люди могут рассказать, что комбинации Vim — не что иное как попытка программно переосмыслить эргономику существующих клавиатур. Про необходимость мышек, трекболов, трекпадов и т. п., мы от них тоже слышали. Тем ни менее я не видел ни одного такого знатока сочетаний клавиш всех на свете ОС, у которого не лежала бы на столе мышка.
Трекбол работает прекрасно. Один раз разобравшись с управлением, рука перестает дергаться вправо. Руки лежат на клавиатуре и казалось бы, вот оно счастье. Пока мы не подключаем клавиатуру к macOS. На удивление, все проблемы которыми наделены колесики сторонних мышек у трекбола отсутствуют. Все работает плавно, режимы ведут себя как и должно. Но избавится от трекпада или Magic Mouse мне все равно не удалось. Суперудобные жесты перелистывания полноэкранных режимов к которым привыкаешь с первого же дня, никак не настроить для трекбола. По крайней мере я не нашел как это сделать, если вы решили этот вопрос, то можете осчастливить как минимум одного человека.
2) Прямое расположение клавиш. Для моих кривых мизинцев, которые никак не хотят гнуться в сторону твердого знака и буквы «ё» это огромный плюс.
3) Онлайн софт. Via позволяет настраивать клавиатуру почти на любом устройстве и из любого места. Так что если вы действительно из тех кто везде ходит со своей клавиатурой, то функция очень полезная. Не нужно качать и устанавливать дополнительный софт.
4) Слои и макросы помогают настроить устройство под ваши нужды. Если у вас таковые имеются. Мне казалось, что будет удобно расположить команды IDE в отдельном слое. На практике, я почти никогда не использовал этот слой, а сами команды я использую не настолько часто, чтобы привыкнуть и запомнить расположение клавиш на которые завязал макросы. Но стандартные слои вполне удобные и к ним действительно быстро привыкаешь.
5) Возможность собрать индивидуальный проект исключительно под себя. Минусы распечатанных корпусов я перечислил, но ведь творческую составляющую в сборке клавиатуры «под себя» никто не отменял. Лучшее из всего что я видел, это деревянный корпус изготовленный ЧПУ‑фрезеом, пропитанный льняным маслом. Выглядит внушительно и сразу видно кто главный сисадмин на деревне. Проблема в том, что это подходит исключительно для плоских клавиатур.
И к слову сказать, самые удобные и эстетически привлекательные проекты это именно плоские сплиты. В плане доступности они все еще по карману не каждому школьнику, но материлы для сборки обойдутся вдвое дешевле эргономичных собратьев. Думаю, с надежностью там тоже получше, гнущиеся платы положенные на кривой после уделенных поддержек слой пластика и фиксирующиеся припаянными к ним свичами не внушают уверенности. А тут надежная фиксация и есть возможность поставить модули горячей замены и экран с котиком. Это ли не счастье?
Делая выводы
Что я для себя уяснил, собрав и попользовавшись такой клавиатурой? Первое и самое важное, что эти клавиатуры НЕ для программистов.
Не знаю, существуют ли вообще клавиатуры для программистов, бухгалтеров, летчиков-испытателей, строителей, дворников?
Если отбросить маркетинг, то клавиатуры и вообще периферия которую можно собрать самостоятельно, чтобы козырнуть перед коллегами существуют исключительно для тех кто любит проводить ночи распаивая платы. Для кого романтика это надышаться парами флюса и прожечь паяльником любимый мамин письменный стол.
На мой взгляд, если пайка ваше хобби, нет смысла покупать готовые наборы плат. Примеры разводки контактов есть в сети и сложность там не очень большая. Если подойти основательно, то надежность и качество можно поднять до уровня не ниже готовых плат, а то и выше.
Чтобы добиться эргономики, индивидуальности, уникальности. Стоит поискать знакомых с 3D принтером, если у вас нет собственного. Поэкспериментировать с 3D моделями. Есть все шансы получить лучший результат, за вменяемый ценник.
Если вы ищите клавиатуру для работы, купите готовую. Сделанную на заводе, с гарантией изготовителя. Благо есть достаточно сплит клавиатур на механике. Мне не удалось найти с трекболом, но для работы он не играет никакой решающей роли. Зато ничего не отвалится если кто‑то стукнет по столу кулаком. Да будет дороже, но и разница с тем, что предлагается как альтернатива колоссальная.
Кстати, не так сложно гуглится российский производитель эргономичных клавиатур. Продают вдвое(!) дешевле конструкторов. Это все те же OpenSource сплиты, только собранные людьми с опытом. Не знаю что там на счет соблюдения лицензий, и прочих моральных аспектов, я не имею вклада в проект поэтому и судить не могу. Корпусы они печатают на 3D принтерах, все еще не производственное литье. Модели переработаны, добавленны ребра жесткости и всякие мелочи. Потрогать в живую не довелось. На сайте не было найдено ни одной «клавиатуры для программистов», поэтому и обсуждать нечего.
Итак, идея прекрасная. Набор по самостоятельной сборке, с огромным количеством мануалов, историями успешных сборок и дружелюбным комьюнити. И все же набор для школьников должен быть школьнику по карману. В противном случае его начинают продавать кому попало.
Комментарии (40)
SamCode
10.07.2024 21:53+1Разве что вам удастся раздобыть натуральную «малинку», я пока не нашел их в свободной продаже на территории России.
Так на том же dns лежат https://www.dns-shop.ru/search/?q=raspberry+pi&category=17aa4bb416404e77 . Дорого, но есть ведь
voldemar_d
10.07.2024 21:53И да, хранение настроек в памяти клавиатуры, актуально если вы носите клаву с работы домой
В облаке настройки клавиатур храниться не умеют?
По оформлению статьи: текст написан с использованием таких конструкций, как причастные и деепричастные обороты, сложные и составные предложения, вводные слова, но запятые практически отсутствуют. Читать такое сложно.
ЗЫ. Ещё есть сайт tsya.ru
TTkachev Автор
10.07.2024 21:53+2Прошу извинить. Не серьезно отнесся к статье. Редактора и корректора очень не хватало. В следующий раз обязательно потрачу время на вычитку, правки и сокращение.
Про облако, интересный вопрос, проверю.
fenrir1121
10.07.2024 21:53+2Большинство хранит настройки в репе на гитхабе. В сущности это может делать любое хранилище, потому что это просто json файл.
voldemar_d
10.07.2024 21:53Я немного не про то. Допустим, куплю я какую-то клавиатуру для программиста, выпускаемую серийно известной компанией. У такой клавиатуры софт, позволяющий ее настроить для себя, не умеет хранить настройки, например, в гугл-аккаунте? Без всяких выкладываний/скачиваний каких-то json-файлов вручную. Так-то я понимаю, что можно хоть ini-файл на дискетке таскать, как в свое время файлы конфигурации для Doom.
fenrir1121
10.07.2024 21:53Вероятно зависит от компании. Не могу ответить поскольку у меня как раз вариант, когда настройки хранятся в самой клавиатуре и бэкапятся на свой сервак. С серийныйми клавиатурами для программистов не сталкивался.
voldemar_d
10.07.2024 21:53Автоматическое скачивание конфигурации со своего сервака при подключении клавиатуры к другому компьютеру можно сделать, кмк. Например, если нажать какую-нибудь комбинацию клавиш одновременно, если уж не хочется полностью автоматом.
ABy
10.07.2024 21:53Для Ergodox есть что-то такое, когда настройки хранения в вашей учетке на сайте конфигуратора.
iDuran
10.07.2024 21:53Не скажу за все серийные модели, но, например, у ZSA раскладки хранятся онлайн, и в том числе можно сделать свою раскладку публичной и просматривать чужие публичные раскладки.
Полезная фича - можно подсматривать чужие идеи и понемногу стаскивать к себе.
vtb_k
10.07.2024 21:53+2Первое и самое важное, что эти клавиатуры НЕ для программистов.
Чушь собачья. Именно что для программистов они наиболее удобные. С условием траты времени на привыкание. Сплит клавиатуры - это прежде всего про удобство работы с клавиатурой, когда руки не двигаются туда сюда, не ломаешь мизинец, пытаясь дотянуться до контрола.
У меня не было слепого набора до сплит клавиатуры, поэтому первый месяц я переучивался на слапой набор на Colemak лаяуте. Потом это все окупилось стократно, когда запястья перестали болеть и я смог снова работать за клавиатурой.whoisking
10.07.2024 21:53Потом это все окупилось стократно
А в ЗП это сколько +?
vtb_k
10.07.2024 21:53+2А в ЗП это сколько +?
100%. Потому что я вообще не мог печатать на обычной клавиатуре. Туннельный синдром подкрался незаметно и без предупреждений. До этого тоже только обычные клавы признавал
TTkachev Автор
10.07.2024 21:53Действительно полезная информация. Пока не доводилось встретить человека с синдромом, о котором так много говорят. Можешь рассказать, насколько все было плохо и какой тип клавиатур реально помогает?
vtb_k
10.07.2024 21:53+1было настолько плохо, что больше 5 минут не мог печатать ничего. Любой сплит поможет, главное, чтобы руки были на ширине плеч и запястья не было под углом в моем случае. Боль прошла в течении недель, как раз, пока запоминал новую раскладку
yureesk
10.07.2024 21:53+1у моей подруги-журналиста появился подобный синдром. В результате правая рука стала практически нефункциональна, т.к. любое напряжение или поворот запястья приводил к серьёзным болям. Не то что печатать - супа поесть нормально не получалось. Несколько месяцев лечения у разных врачей плюс оборудование нормального рабочего места - и вроде как помогло.
gadfi
10.07.2024 21:53тоже туннельный синдром пользуюсь пока эргономичной клавиатурой от logitech их трекболом, трекбол шикарен, к мышке никогда не вернусь, но клавиатура не совсем удобно + напрягает необходимость забирать руку с клавиатуры, не находили нормальные литые клавиатуры а не печатные ?
ryba1967
10.07.2024 21:53Kinesis, glove80, moonlander, ultimate hacking keyboard. Стоят дорого, заказать в Россию через посредников, наверное, можно. Могут не подойти, всё индивидуально.
Ещё есть Alice от QMK.
Ничем из вышеперечисленного не пользовался
ryba1967
10.07.2024 21:53+1Не всегда на рабочем месте можно иметь по для настройки клавиатуры. Поэтому, "прошитое" поведение - это преимущество.
Такую клавиатуру или носят, или делают вторую, иначе сложно. Это вообще нерационально (настолько кастомизировать рабочий инструмент), но кому-то хочется, кому-то нет, у кого-то руки болят, у кого-то чешутся.
Ещё существуют отдельные usb адаптеры на RP2040 с QMK внутри, что позволяет кастомить любую клавиатуру.
yanvasilij
10.07.2024 21:53Ещё существуют отдельные usb адаптеры на RP2040 с QMK внутри, что позволяет кастомить любую клавиатуру.
Ох, поделитесь ссылкой пожалуйста! Мой самый любимый форм-фактор это эргономичная клавиатура от Майкрософт, но она не умеет в qmk/via. Если есть переходник на обычную клаву, чтобы научить ее слоям, то я точно куплю.
ryba1967
10.07.2024 21:53+2Ещё немного ссылок
Нет в наличии сейчас
https://aliexpress.ru/item/1005005819074397.html?gatewayAdapt=glo2rus[VIA Software Module VIA Program DIY Mechanical Magic USB Converter VIA Module Normal Keyboard to Programable Keyboard Module | AliExpress]
https://deskthority.net/viewtopic.php?t=13976[Hasu USB-USB Converter - deskthority]
You can also make wired USB to QMK converter out of it:
https://geekhack.org/index.php?topic=69169.0 (Hasu's USB2USB converter, costs $80)
https://geekhack.org/index.php?topic=80421.0 (DIY from pro micro and USB host shield)
https://web.archive.org/web/20220707161643/https://testchamber.one/posts/qmk-usb-usb-converter/
Последняя ссылка на русском, но картинки, к сожалению, далеко не все
yanvasilij
10.07.2024 21:53Спасибо Вам, добрый человек! Знай бы я про этот переходник годом раньше не потратил бы столько времени на сборку собственной.
ryba1967
10.07.2024 21:53+2Я сам так такое и не собрал, успел купить сплит и привыкнуть к очень лёгкому нажатию Kailh gChoc Blue. Но этот переходник почти уникальное решение всего. "Почти" в моём случае означает, что он не поддерживает trackpoint на внешней клавиатуре Thinkpad. Но зато можно получить полное количество клавиш с привычным (за годы) расположением со всякими плюшками, которые можно/нет сделать с AutoHotKey.
Вот ещё одна штука - программное решение а-ля QMK, работает под всеми ОС, сам не пробовал.
yureesk
10.07.2024 21:53+2Кстати, не так сложно гуглится российский производитель эргономичных клавиатур.
а подскажите, плиз, название производителя. "Не так сложно" для меня оказалось таки сложно =(
По основному выводу полностью согласен. В своё время собрал кастомную клавиатуру в деревянном корпусе - штука прикольная и приятная, но работу работать на ней грустно - то клавиша не печатает, то прошивка подвисла, то ещё какая беда. То слои поправишьь и переучиваешься вместо работы.
Хотел попробовать такую-же, но заводского производства - цены как на чугунный мост, так и не собрался купить, благо от тунельного синдрома не страдаю.
ainu
Мне порой кажется, что сплиты делают чаще, чем полноразмерные, по причине того, что а easypcb, pcbway, а также аналогах на Али для российского рынка, стоимость платы 100*100 составляет 5 баксов, а 100*101 и выше - уже 25-35. И делают они сразу пять штук. А потому тупо дешевле сделать две половинки 100*100, которые зеркально отражены (даже для свичей места такие - можно и сверху и снизу).
Пытался просчитать сколько будет стоить плата размерами с клавиатуру 104 кнопки с нампадом - страшно. Хотя я бы сделал себе, с датчиками Холла, экранчиками, энкодерами и прочим.
TTkachev Автор
О том собственно и речь. Ценник не поддается логике. Мне кажется, что стоимость комлектующих завышена в несколько раз.
Попробую собрать то же самое, но максимально бюджетно. Интересно, что выйдет. Цель не превышать бюджет средненькой механики.
fenrir1121
Ergonaut Keyboards смотрели?
mivlad
А может, ещё и в размере стола любительского 3d-принтера дело.
xSVPx
Закажите из 3-4 кусков 100х100, сможете собрать пять штук. Разница совершенно невелика. Что-то может и унифицировать удастся. Но цена самого текстолита - ничто по сравнению с ценой рабочего времени.
Кстати можно, наверное обычным лутом вытравить. Вряд ли там нужны очень мелкие площадки.
ainu
Да, отличная идея, вероятно так и поступлю. На одной 100*100 плате я отладил и код и железо датчиков Холла, руки чешутся сделать полноразмерку. Правда, с трудом представляю как буду делать нахлест клавиш там, где соприкасаются кнопки (и платы), но думаю это дело житейское.
xSVPx
В смысле ? Делаете плату нужного вам размера, потом режете на части. Разрезы всегда можно не по местам клавиш сделать, а по местам между элементов.
Хуже то, что может понадобится слегка подпилить что-то, режут vcut если, то по прямой, а может оказаться так, что клавиши в шахматном порядке и надо будет как-то вручную отрезать лишнее, чтобы состыковать. При наличии инструмента это не труд, без него может оказаться та еще задача.
Ну и продумать как их состыковывать в плане линий питания и данных. Я честно говоря не углублялся, но возможно удастся сделать соединения дипа дюпонт, т.е. штырьки с обоих сторон и провода-мамы. А может быть оптимально просто сделать площадки и спаять... Зависит от того, какой у вас будет корпус, насколько жестко в нем все будет сидеть. Если деревянный фрезерованный массивный, то, наверное можно привинтить и просто спаять перемычки. Если пластиковый ращеный яб наверное не рискнул.