Создание своей эргономичной клавиатуры (часть 1: создание раскладки)

в 8:54, , рубрики: diy или сделай сам, гаджеты, клавиатура, Компьютерное железо, механические клавиатуры, периферия, Производство и разработка электроники, создание с нуля, язь
В процессе изготовления
В процессе изготовления

Зачем

Всякий, кто работает за компьютером, каждый рабочий день касается клавиатуры. (И мыши, разумеется). Мы меняемся -- и предпочтения как и на что нажимать тоже меняются со временем.

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

Долгое время моей любимой клавиатурой была A4Tech KB(S)-8A4Tech KB(S)-720) потому, что как только я пересел на неё, количество опечаток значительно снизилось без каких-либо усилий с моей стороны, она просто оказалась лучше заточена под меня.

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

После некоторого гуглежа чего-нибудь "обычное, но разломанное", была заказана "Kensington Pro Fit Ergo" за то, что она полноразмер (включая стрелки и нумпад), низкопрофильные кнопки (к которым я уже достаточно привык чтобы считать это плюсом) и с отрицательным наклоном, как советовали в гайдах.

Привыкание к разломанной потребовало времени -- и я всё еще не полностью адаптировался... -- в основном из-за моего навыка печати. Как я уже писал, я самоучка, и средние столбцы общие для обеих рук. Я могу нажать "y" как левой так и правой рукой, то же с другими средними кнопками -- в итоге я часто жал вместо "y" -- "t" или "n" вместо "b". Так же неприятно ткнуть в пустое место клавиатуры вместо нажатия на "7". Заметив эту проблему, я попытался найти клавиатуру у которых средние столбцы продублированы, но таких клавиатур на рынке просто нет. И если смотреть на менее обычные, типа ErgoDox, то даже там как-то оно не предусмотрено (да еще и ортолинейные, что мне не понравилось когда я пробовал). Я даже постучался к некоторым производителям эрго клавиатур -- но никто не заинтересовался.

Хорошо, что еще можно сделать? Я погуглил еще на тему DIY наборов -- ничего, что бы понравилось, не нашел.

Что еще мне не понравилось в этой клаве? Цифровой блок. Нынче мышь часть моей работы слишком часто и цифровой блок постоянно мешается. К тому же, я им не пользуюсь. Продолжение поисков привело меня к Microsoft Sculpt, у которой нумпад отдельный, а блок стрелок вжат в правую половину, как часто делают на ноутах -- причем home/end/pgup/pgup/pgdn отдельными кнопками по правому краю, а не через комбинацию с Fn. Чудесно! Заказал.

Это был шаг в перед в комфорте, но всё еще не идеально: мне больше по нраву Home/PgUp/PgDn/End а не Home/End/PgUp/PgDn. Кнопки управления музыкой спрятаны за физическим переключателем, не комбинацией c Fn, что делает их бесполезными (я пользуюсь Fx кнопками постоянно, поэтому выключить их и забыть не подходит). Большая кнопка "Delete" тоже спорное решение, положение Ins в итоге получается не оч. А еще я заметил через некоторое время, что я клавиатуру постоянно двигаю то левее то правее -- и неудобно ни так ни так – расстояние между половинами надо бы побольше...

В принципе, я бы так и остался жить на Sculpt -- в конце концов, количество неудобств сильно меньше чем было, но один из новых коллег предложил команде класс сбора клавиатур в качестве дня развлечения, так что я пошел изучать что же есть доступного для создания своей клавиатуры. Как только я узнал про сайты www.keyboard-layout-editor.com и builder.swillkb.com я понял, что создание клавиатуры своей мечты гораздо проще чем я думал.

А если можно -- почему бы и не попробовать? Будет весело!

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

Список требований

Итак, список требований к клавиатуре-язю, клавиатуре моей мечты:

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

  • Без цифрового блока.
    Я им не пользуюсь, а если уж внезапно он понадобится чтоб вбить много чисел – у меня еще есть N штук от Sculpt клавиатур. Да и он тривиально делается.

  • Полноразмерные стрелки, интегрированные в правую половину плюс Home/PgUp/PgDn/End столбец над ними.
    За годы пользования ноутбуков я понял что эта раскладка очень компактна, при этом расстояние между стрелками и мышью достаточно небольшое чтобы было не очень тяжело работать.

  • Два центральных столбца кнопок дублированы (раскладка "qwerty / tyuiop").
    Раскладка, которая мне нужна, но которую никто не делает. Да, дублирование кнопок в центре это лишние затраты. Но, как я написал во вступлении, моя техника печати предполагается досягаемость этих кнопок обеими руками, а цена лишних 10 кнопок на небольшом количестве клавиатур незначительна.

  • Низкопрофильные клавиши с коротким ходом.
    То есть тонкие, мягие, тихие. Я не фанат звука печатной машинки, да и клацанье слабо слышно через музыку в наушниках всё равно.

  • Воспроизводимость.
    Ага, мне нужна не одна клавиатура -- нужна запасная на случай залива Швепсом! Да и офис не только в домашнем офисе но и в офисном офисе. И там тоже нужны бэкапы.

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

Список явно не полон, так что буду дописывать в процессе использования потом, но начать уже есть с чего.

А если у читателя есть желание скрафтить себе свою клавиатуру -- то начать надо именно с составления аналогичного списка. Подумать что действительно важно? Какие вещи постоянно мешаются в повседневной работе и хотелось бы изменить? Какие вещи настолько комфортны что их просто уже не замечаешь? Записать это всё. И возвращаться к списку каждый раз когда надо будет делать выбор.

Создание раскладки

Поскольку готовых клавиатур или китов под “qwerty/tyuiop” раскладку нет, создание её было было сутью всего начинания.

Итак, раскладываем базовый пасьянс. В KLE легко и просто начинать с базовых раскладок, так что я взял 104 кнопочную как базу, удалил лишние клавиши, относящиеся к правой половине, подвигал так, чтоб выглядело хорошо, повторли процесс для второй половины. А потом потюнил еще. И еще.

Один из промежуточных дизайнов выглядел вот так:

Создание своей эргономичной клавиатуры (часть 1: создание раскладки) - 2

Я продолжал обдумывать и двигать немного пока не появилось ощущения что "вот, оно": добавил кнопку Fn,близко к тому как сделано в Kingston или ноутбуках и убрал ненужные вещи которые пытался сперва воткнуть возле пробелов (не помню, когда последний раз потребовались Scroll Lock и Pause/Break). А если вдруг понадобится -- их можно будет нажать через Fn+Caps или Fn+PrintScreen.

Что ж, пришла пора слегка изогнуть раскладку. Зачем? Ну, пальцы у человека разной длины — оказалось уж очень удобно печатать на слегка изогнутой. Однако же, изгибание раскладки в KLE не самая простая задача. Я потратил немало времени на попытки разворачивать кнопки относительно разных базовых точек – поворот относительно угла раскладки, поворот относительно единой точки ниже клавиатуры, поворот вокруг угла или центра каждой из кнопок... В итоге остановился на самом простом: средний столбец остается горизонтальным, столбцы левее повернуты на небольшой отрицательный угол, столбцы правее на небольшой положительный и поворот сделан относительно угла раскладки. Еще следует помнить, что размеры кнопок начинаются с 1u, и найти готовые можно только довольно "стандартные" размеры клавиш (с шагом 0.25 и то не все).

В процессе я использовал builder.swillkb.com для генерации расположения свичей и печатал на A4 бумаге, чтобы примерить к руке. Из-за лени я не пытался накладывать их на картон или клеить картонные бляшки сверху, однако же это рекомендуется :)

В конце концов, я пришел к вот такой раскладке для левой половины:

Создание своей эргономичной клавиатуры (часть 1: создание раскладки) - 3

И вот такой правой:

Создание своей эргономичной клавиатуры (часть 1: создание раскладки) - 4

Разумеется, к следующей версии дизайна я еще подумаю как и что поменять (например, еще поиграть с опорной точки вращения, сделать более "гладким" край, сдвинуть ряды друг относительно друга и пр), но в какой-то момент лучше сказать стоп и сделать что-то, чем продолжать пялиться в экран. К тому же у меня нет ничего для быстрого прототипирования дома так же как нет и доступа в кружок юного техника, чтобы попробовать разные варианты "вживую", короче дизайн достаточно хорош для первой версии.

Как только раскладка определена, стоит сохранить ссылки на раскладку в KLE, сохранить содержимое вкладки "Raw data" и скачать JSON файл (доступно через меню в правом-верхнем углу). Все они еще понадобятся далее, и достать подготовленную копию лучше чем бегать в KLE каждый раз.

Продолжение следует

В следующей части я расскажу о доступной элементной базе, имеющихся вариаций свичей и вариантов производства где придётся искать первые компромиссы в поисках идеального баланса.

В части 3 клавиатура будет собрана в прошита.

Четвертая часть выделена под рассмотрение корпусирования клавиатуры.

И, наконец, в пятой главе рассмотрим дизайн и производство крышек.

Эта часть статьи так же доступна на английском на Medium и LinkedIn

Автор: Anton Fedorov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js