Я уже много лет использую САПР (CAD) в своей работе, и меня давно увлекала идея использовать полнофункциональную клавиатуру для работы одной рукой, поскольку это позволяет удобно работать, набирая текст левой рукой и удерживая в правой руке мышь.

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

Можно ли сегодня купить универсальную одноручную клавиатуру? Нет, на рынке таких устройств нет. В основном продаются цифровые нумпады и игровые клавиатуры с уменьшенным набором букв и функций. Эпизодически появляются «монстры» - полноформатные клавиатуры с большим количеством клавиш - громоздкие и неудобные в использовании. Глубокий поиск в интернете показал, что изредка появлялись и вполне интересные решения, но они, по каким-то причинам, не нашли своей коммерческой ниши и давно исчезли из продажи…
В результате я решил изготовить одноручную клавиатуру самостоятельно. Я изучил существующие модели, проделал эксперименты - изготовил несколько прототипов и около двух лет назад сформулировал техническое задание:
Клавиатура должна полностью покрывать функциональность стандартной 101-клавишной клавиатуры (сюда входят буквы, символы, команды и комбинации клавиш);
быть ориентирована на слепой набор;
иметь достаточно клавиш, чтобы на них можно было разместить все строчные буквы алфавита. Остальные символы и команды могут вводиться также с помощью «клавиш-модификаторов»;
поддерживать, как минимум, две раскладки (английскую и русскую), а в идеале - даже больше.
Геометрия клавиатуры должна обеспечивать возможность удобной печати одной рукой:
пальцы должны свободно лежать на клавиатуре, а запястье не должно отрываться от стола во время печати.
Основная зона клавиатуры, где расположены буквы, должна быть матрицей 7 × 5 с шагом 12,5 мм.
Клавиши должны быть небольшими (8 х 8 мм), с большим зазором между ними.
Толщина клавиатуры не должна превышать 25 мм.
Для быстрого набора должен быть использован принцип «липких» клавиш-модификаторов (Sticky Keys).
Почему такие требования
Для удобной работы хотелось иметь раскладку, в которой каждой букве соответствует отдельная клавиша, а букв в русском языке достаточно много. Мне представилось, что основная зона 7 × 5 для букв вполне подходит для большинства языков; при этом все клавиши должны поместиться под ладонью одной руки. Я изготовил несколько макетов и понял, что оптимальным решением является уменьшенный шаг сетки клавиш - около 12 мм.
Слепой метод печати - единственный способ набирать текст быстро. Так как клавиши очень маленькие и многофункциональные, а лежащая на клавиатуре рука постоянно их закрывает, присвоенные буквы и символы лучше размещать не на самих клавишах, а на отдельной картонке, на которую пользователь будет смотреть лишь во время обучения.
Клавиатура использует несколько нестандартную архитектуру - «много малогабаритных клавиш». Такой принцип позволяет при наборе обычного текста значительно снизить число нажатий на «клавиши-модификаторы». Конечно, на маленьких клавишах сложнее позиционировать пальцы, но с учетом того, что рука лежит, опираясь на стол запястьем, позиционирование пальцев на клавишах не представляет заметной проблемы.
Шаг матрицы клавиш (12,5 мм) сравним с размером подушечки пальца, но так как клавиши сами по себе небольшие (8 х 8 мм) и расставлены с большим зазором, то при нажатии палец не касается соседних клавиш (такой же принцип используется в кнопочных телефонах).
«Липкие клавиши» (Sticky Keys) позволяют сначала нажать клавишу-модификатор, отпустить её, а затем нажать модифицируемую клавишу (этот режим работы клавиатуры существует даже в Microsoft Windows). Возможно, при работе на обычной клавиатуре такой подход не столь удобен для всех пользователей, но на одноручной клавиатуре он позволяет избежать «циркулей» - одновременного нажатия двух клавиш пальцами одной руки, что существенно увеличивает скорость набора.
Основная проблема при изготовлении клавиатуры
В принципе, любая нестандартная пользовательская клавиатура - это не очень сложное электронное устройство, которое можно собрать из микроконтроллера (Arduino) и матрицы переключателей. Корпус и кейкапы можно напечатать на 3D-принтере, а печатную плату заказать в Китае или в России. Основная проблема клавиатур с нестандартным шагом клавиш - какие переключатели в них использовать? Стандартные клавиатурные микропереключатели (свитчи) рассчитаны на сетку 19,5 × 19,5 мм и для более плотной сетки 12,5 × 12,5 мм не подходят. Использовать сенсорные панели (мембранные клавиатуры) также нереально: самостоятельно изготовить мембранную клавиатуру с хорошими тактильными характеристиками очень сложно, а «мембранные клавиатуры на заказ» не являются тактильными и подходят лишь для панелей управления станков с ЧПУ. Остаются только «тактовые переключатели», или кнопки, выпускаемые во множестве различных вариантов. Увы, подавляющая часть существующих типов кнопок не подходит: они либо слишком тугие, либо обладают слишком невыраженным «кликом», либо их геометрия не позволяет их использовать в качестве клавиш. Кроме того, в моих экспериментах выяснилось, что кнопки еще и относительно ненадёжны: обычно в спецификациях заявлен ресурс в несколько миллионов нажатий, но при работе в клавиатуре они через несколько месяцев начинают давать сбои, пропуская отдельные нажатия. Тем не менее, после длительного поиска, я смог найти тактовые переключатели размером 12,5 × 12,5 мм, с усилием нажатия 0,7 Н и удовлетворительным «кликом». Что касается невысокой надёжности, то я предусмотрел в конструкции клавиатуры всё необходимое, чтобы кнопки можно было легко заменить.
Трудности программирования
Вначале работы я надеялся, что существующие популярные фреймворки «пользовательских» клавиатур помогут мне избежать написания программы и что будет достаточно создать конфигурационный файл и на его основе фреймворк создаст драйвер клавиатуры. Но в итоге я так и не нашёл способа «проецировать» желаемую модель клавиатуры на модель, предлагаемую фреймворком. Возможно, это произошло из-за того, что я не хотел идти на компромиссы, а возможно, из-за того, что не захотел разбираться в тонкостях конфигурации. В результате я сам написал программу контроллера клавиатуры в среде Arduino. На программирование ушло много времени, но я доволен таким решением: мне удалось получить именно ту функциональность клавиатуры, которую я хотел.
Особенности подключения к компьютеру
Клавиатура соединяется с компьютером с помощью USB Type-C, и при этом она может работать параллельно со стандартной клавиатурой и не требует установки специального драйвера.
Раскладки и языки
Работающий экземпляр клавиатуры сейчас поддерживает 3 языка - английскую, русскую и китайскую (на основе английской). В раскладке, которую я придумал сам (похожий на существующую ABC-раскладку), буквы находятся «почти» в алфавитном порядке и их положение легко запоминается. Наверное, это не очень научное расположение, но главный принцип хорошей раскладки - «размещение наиболее часто используемых букв в наиболее удобных позициях» здесь выполняется, так как в алфавитах самые популярные буквы обычно идут первыми. Честно говоря, я даже не знаю, как расположить буквы более эффективно, и если у кого есть какие-либо идеи, напишите в комментариях. На этом изображении я показал, как выглядит английская раскладка. На самом деле клавиатура «трехслойная» - слой символов включается нажатием на клавишу Sym, слой команд - нажатием на клавишу Cmd. Всего в «основном поле» клавиатуры существует 105 виртуальных клавиш, этого достаточно, чтобы отобразить все клавиши стандартной 101-клавишной клавиатуры.

Русский и английский языки переключаются циклически нажатием на клавишу Lang, китайская раскладка - (она иногда нужна мне по работе) включается комбинацией клавиш Fn + Lang.
Скорость набора.
Я очень давно научился печатать слепым десятипальцевым методом и знаю, что его главное преимущество не скорость, а то, что он подсознателен и не мешает мысленной деятельности. Полтора года назад я установил одноручную клавиатуру на домашнем компьютере в качестве основной, кроме того, каждый день я по 20-30 минут тренировался на клавиатурных тренажерах. Мой рекорд скорости набора сейчас около 220 символов в минуту, при этом я делаю около 5 % ошибок. Такой результат вполне сравним с моей скоростью набора десятипальцевым методом - около 250 символов в минуту. Количество ошибок печати при наборе одной рукой также больше - около 4-6 % против 2-4 % для десятипальцевого набора (какой-то вклад в эти ошибки добавляют не очень хорошие тактильные свойства клавиш). Если текст содержит много «специальных» символов, то скорость набора сильно падает, но то же самое происходит и при стандартном слепом наборе - набору редко встречающихся символов надо специально учиться.
Но так ли важны эти рекорды? Сейчас никто не набирает большое количество текстовой информации - важнее быстро набрать несколько слов или даже букв (поиск, логин или пароль, заполнение формы, ответ в чате). Если не торопиться, то у меня получается набирать текст одной рукой со скоростью около 150-160 символов в минуту и почти без ошибок (1-2 %). Не очень быстро, но так же «бессознательно», как и на стандартной клавиатуре.
Что еще можно улучшить?

Я написал, что работаю на клавиатуре уже полтора года, но это не совсем верно. В реальности я изготовил много вариантов этой клавиатуры, и в каждом делал какие-то улучшения - последняя версия клавиатуры представляет собой уже достаточно испытанное и проработанное устройство. Я надеюсь продолжить эти эксперименты, и у меня есть список идей, которые хочется проверить:
Кнопки имеют не очень хорошие тактильные характеристики (например, ход клавиши всего лишь около 0,25 мм), поэтому я сам попробовал изготовить маленький микропереключатель с хорошим «кликом» - спроектировал и распечатал на фотополимерном 3D-принтере механический прототип такого устройства (сделать это было не очень просто - он состоит из нескольких компонентов и имеет габаритные размеры чуть больше божьей коровки!). Образец заработал и даже имел нормальный «глубокий» клик (ход клавиши около 1 мм), но, увы, даже самая жесткая фотополимерная смола не позволила получить необходимую износоустойчивость и высокое качество поверхностей, и поэтому эта идея не получила развития. Я пока не знаю, что здесь можно еще сделать и жду советов, как продвинуться в этом направлении.
Необходимо найти правильное расположение «тактильных меток» (home key bumps) на клавиатуре (Клавиатура QWERTY имеет такие метки на клавишах F и J, они очень важны для позиционирования пальцев на клавишах при слепом наборе).
Программное обеспечение тоже нужно совершенствовать - добавить возможность загружать другие языки и раскладки, обеспечить двустороннюю синхронизацию клавиатуры и компьютера (это общая проблема нестандартных клавиатур - протокол обмена данными односторонний - компьютер не сообщает клавиатуре о текущей раскладке). Но здесь я не вижу больших сложностей - мне нужно лишь найти время и запрограммировать эти функции.
Наконец, не все в мире правши, поэтому нужно разработать и изготовить вариант для набора текста правой рукой.
Эффективность клавиатуры
Тип деятельности | Эффективность | Примечание |
Набор больших текстов | Малоэффективна. | Скорость на 20–30 % меньше, чем при наборе двумя руками, вся нагрузка ложится на одну руку и она устает быстрее. |
Работа в CAD, CAM | Эффективнее и удобнее обычной. | Отсутствие необходимости убирать руку с мыши повышает удобство в работе. |
Поиск в интернете, чаты, форумы и т. д. | Значительно эффективнее обычной. | Такие активности требуют частых переключений между набором текста и работой мышью. |
Составление и редактирование текстов, работа в средах программирования | Эффективность не хуже обычной клавиатуры. | Скорость набора текста ниже, но параллельные действия другой руки с мышью по перемещению курсора сильно убыстряют процесс. |
Игры | Не пробовал. | Скорее всего будут проблемы, связанные с нестандартным расположением клавиш. |
Итоги
Сегодня клавиатура существует всего в единственном экземпляре, и моё главное достижение состоит именно в том, что я научился на ней уверенно работать. Я считаю, что сейчас говорить о мелкосерийном производстве и даже о любительском копировании устройства ещё очень рано - сначала необходимо накопить достаточный опыт эксплуатации. Я собираюсь изготовить небольшую партию таких устройств (около 10 штук). Если есть желающие научиться работать на такой клавиатуре и поучаствовать в этом проекте - напишите мне на e-mail: earth_pusher-keyboard1@yahoo.com.
Да, важное добавление - эту статью я без каких-либо проблем набрал, пользуясь исключительно обсуждаемой в ней клавиатурой.