"Аккордовая" клавиатура на Ардуино Leonardo

ptrav
Offline
Зарегистрирован: 09.04.2017

Аккордовые клавиатуры существуют давно, но без особого успеха. Утверждают, что такую предлагали даже в качестве основного устройства ввода для первой версии «Макинтоша». Но не вышло. Как и в начале прошлого столетия, народ набирает двумя-четырьмя пальцами на настольных клавиатурах с сотней кнопок. В современных ноутбуках число кнопок варьирует от шестидесяти до той же сотни.

Если честно, и я так печатал до самого недавнего времени. Отчего-то печать «десятью пальцами» у меня не получалась сразу. Какое-то естественное отвращение держать кисти рук вывернутыми под углом минус 45 градусов и шевелить при этом пальцами в бешеном темпе. Может оно и к лучшему, а то заработал бы синдром запястного канала!

Ну так вот решил слепить себе не просто эргономическую, а ещё и аккордовую клавиатуру. Чтобы под каждым пальцем – единственная кнопка. Предупрежу сразу: лекарства на все случаи жизни в природе нет. Мой рецепт может вам откровенно не понравиться по любым причинам: от размера кисти до полного неприятия самой идеи. Однако полагаю, совет будет не бесполезен тем, кто хочет попробовать.

Начнём с обзора рынка.

Фрогпад (Frogpad) – настольная клавиатура. Имеет 22 клавиши и ориентирована на набор четырьмя-шестью пальцами. Оба больших пальца находятся в нижнем ряду, прижимая одну из пяти клавиш-модификаторов внизу устройства. Указательные и средние пальцы порхают по двадцати оставшимся клавишам. Можно набирать и одной рукой: правой или левой. Существует два варианта: «классический» с настоящими клавишами и в виде навороченного «тракпада». Последний служит также для контроля мыши и имеет дополнительный переключатель «клавиатура-мышь», при касании «клавиш» поверхность слегка вибрирует. К преимуществам следует отнести лёгкость обучения. Недостатков три:

  • «Слепая печать» не очень работает, требуется частичный контроль зрением.

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

  • Качество клавиш у «классического» варианта определённо не лучше, чем у дешёвых китайских ноутбуков; даже настольные мембранные клавиатуры китайского производства имеют более удобное нажатие.

Разработанная в ещё в семидесятые годы клавиатура BAT изначально предназначалась для инвалидов. Сейчас её продаёт компания «Infogrip». Цены откровенно рассчитаны на страховые компании, а не на индивидуальных пользователей: 199 долларов за штучку. Клавиатура бывает в «левом» и «правом» исполнении, клавиши при этом располагаются зеркально. Клавиш всего 7: четыре под пальцы с указательного по мизинец и три – под большим пальцем. Использовать эту клавиатуру для русскоязычного письма неудобно: в английском алфавите всего 26 букв, оттого остаётся место для пробелов, запятых, точек... В алфавите русском – 33 буквы, а они в 31 комбинацию чёрных клавиш не поместятся, и надо задействовать синюю либо красную дополнительную клавишу.

Чему эта клавиатура учит: в комбинациях никогда не присутствуют одновременные нажатия мизинцем и средним пальцами. Попробуйте положить руку на стол и приподнять средний палец! Оказывается, там мышцы слабоваты, и двигать этот палец отдельно от мизинца не очень-то удобно без напряжения всей кисти. Итого пятью клавишами можно набрать не 31, а всего 29 комбинаций. Если клавиш 8, получается (15-2)+3*(16-2)=55. Из положения выходят, прижимая большим пальцем сразу две клавиши, тогда комбинаций (15-2)+5*(16-2)=83.

Клавиатура ASETNIOP от одноимённой компании – в отличие от прочих – не имеет аппаратного обеспечения. Всё действие разворачивается на экране «таблетки». Её касаются пальцами обеих рук не более чем в двух точках за раз. Заметим, что здесь нарушается эргономический подход клавиатуры BAT. Клавиши X и K стоят как раз на парах средний-мизинец.

Хотелось, чтобы клавиатура позволяла легко вводить не только буквы и цифры, но и все необходимые программисту символы, в том числе двенадцать функциональных клавиш (F1-F12), с модификациями (Alt, Ctrl, Shift).

Будем обозначать пальцы рук следующим образом: МБСУ-УСБМ, то есть Мизинец, Безымянный, Средний и Указательный.

Общие соображения:

  1. Восемью пальцами можно набрать следующее количество комбинаций:

    Одно нажатие: C1,8 = 8!  / (1!  (8-1)!  ) = 8

    Два нажатия: C2,8 = 8!  / (2!  (8-2)!  ) = 28, однако две комбинации (МС и СМ) физиологически затруднены, остаётся 26. Итого, одним и двумя нажатиями можно отобразить 34 символа – 33 буквы русского алфавита и тире/дефис/минус.

    Добавляем тройные нажатия: МБС – обозначает ESC. БСУ – знак табуляции (TAB). СБМ на правой руке – перевод каретки (ENTER). Чуть сложнее: СУУ – запятая с последующим пробелом. СУС – точка и два пробела, СУБ – восклицательный знак и два пробела, СУМ – вопросительный знак и два пробела.

    Теоретически, тройными нажатиями можно многое отобразить: , минус восемь «запретных нажатий» (МС-x, МСУ, УСМ и x-СМ, где х – любая клавиша противоположной руки), итого 48. Однако, запомнить все комбинации пока не нужно.

    Четверные нажатия: МБСУ – удалить (DELETE), УСБМ – забой (BACKSPACE).

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

  2. К восьми пальцам добавляется два больших, a под каждым из них будет по три клавиши, как в клавиатуре BAT. Под левым большим пальцем (сверху вниз): Alt, Shift, Control. Переключение между русской и английской раскладками выполняется одновременным нажатием Alt-Shift, что можно делать одним движением пальца. Под правым большим – две «спецклавиши» Fun и Num, как в клавиатуре BAT. Ниже – коротенькая клавиша пробела. Вызов клавиши Windows – одномоментным нажатием Fun и Num, что тоже можно делать одним пальцем.

    Удобное положение рук отрабатывалось на натурном макете, как показано на фото ниже. Первоначальные версии макета выполнялись из картона, затем из старого ДВП был сделан окончательный макет, послуживший далее и макетным корпусом. Клавиши клеились на двусторонний скотч. Для моих коротких, но толстых пальцев, оптимальным показалось расстояние между основными клавишами 30мм.

Далее были изготовлены платы с кнопками. Поскольку проект экспериментальный, решено было сделать отдельные компоненты – с электрическими разъёмами и отверстиями под болтики М3. С изготовлением печатных плат не заморачивался: стандартные «линейки» с шагом дырочек 2.5 мм подходят идеально, единственная проблема – для каждой клавиши надо сверлить одно дополнительное отверстие 1 мм между дырочками. Вместо электродрели лучше использовать скоростную машинку «Dremel» или стационарный сверлильный станок.

Обучение слепой печати. Не поверите, но печатать «вслепую» я начал практически сразу. Другое дело, что буквы изредка забывались, оттого приходилось подглядывать в подсказку, да и скорость набора оставляла желать. На освоение букв А, Б, В, Д, Е, Ё, Ж, И, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ц, Ч, Ы, Ь, Э, Я потребовалось единственное занятие 1 час. Хуже обстояли дела с клавишами Г, З, Й, Ш, Щ, Ъ, Ю. Характерно, что все трудные клавиши, кроме Ш, включают безымянный палец противоположной руки: Г – «У-Б», З – «Б-С», Й – «Б-У», Ш – «С-М», Щ – «Б-М», Ъ – «М-Б», Ю – «С-Б». Моя версия: силовое сжатие кистей – когда на обеих руках задействованы безымянные пальцы, мозг интерпретирует их совместно с мизинцами. Недаром в русском языке эти пальчики «безымянные».

После второго занятия (набор этого текста) вполне освоились Г, З, Ш, Щ, Ъ, но иногда путались Й и Ю. Освоены цифры, клавиши функций, основные знаки препинания, включая скобочки. Скорость печати возросла до примерно 10 слов (50 символов) в минуту. Немедленно выяснилась и проблема. Оказывается, для нормальной работы по редактированию текстов требуются «стрелочки» с репетиром. Передвижение и точная подгонка курсора к месту в режиме «одно нажатие – один сдвиг» – неудобно крайне.

У меня сложилось впечатление, что неудачи аккордовых клавиатур тесно связаны с желанием разработчиков делать всё исключительно «аккордами». Иногда без «классических» стрелочек не обойтись! Решение получилось строго аппаратным, благо клавиши продаются наборами по 20 штук, а я пока использовал лишь 14. По уже отработанной технологии, добавил стрелочки, как показано ниже. Одновременно с деревянного макета платы были перенесены на пластину из ударопрочного пластика (пластину купил по дешёвке б/у – в прежней жизни это была реклама маникюрного салона.)

Раскладка клавиатуры на сегодня такая:

ibnteo
Offline
Зарегистрирован: 08.10.2013

Как сейчас аккордная клавиатура, используется в работе? Какая скорость печати обычных текстов?

ptrav
Offline
Зарегистрирован: 09.04.2017

После начальной версии было изготовлено ещё две.

<1> Платы с варианта 1, новый корпус:

<2> Разработаны и заказаны печатные платы в Китае (за 5 баксов):

Они же в сборе:

Клавиши под большие пальцы - красные Черри с тактильным отзывом, под остальные пальцы - серые Черри с более мягким ходом пружин.

Новый корпус с использованием вставок 3-Д печати (деревяшки для тестирования):

Клавиатура в сборе:

Встроенные джойстики от игровой консоли PHP позволяют двигать курсор мыши (правый джойстик) и прокручивать экран (левый джойстик), не снимая рук с клавиатуры. Чёрный аудио разъём - для педали от электрооргана. Эта штука переключает с русского на английский, что полезно при писании кода.

Клавиатурой пользуюсь постоянно, по 8-12 часов в день, скорость набора меряю собственным приложением. В пике (набор простого текста, например для этой страницы, либо чат - достигается скорость до 40 слов / 200 символов в минуту). При наборе текста программ (в том числе всякие скобки, спецсимволы и т.п.) типичная скорость - 60 символов в минуту, но тут дело ограничено не пальцами, а головой :-/

По опыту использования:

<1> Пара джойстиков "мышь" на 100% не заменяет - недостаточная быстрота работы при точном позиционировании курсора. В следующей версии буду интегрировать трекболл.

<2> При вколачивании массивов цифр часто не хватает выделенной цифровой клавиатуры. Пока пользуюсь внешней цифровой клавой под левую руку. Впрочем, я и раньше так делал - стандартное положение цифровых клавиш под правой рукой лично для меня неудобно - там же мышка.

<3> Нет возможности быстро изменять наклон клавиатуры. В будущем приклею снизу откидные "ноги" от старой клавы, пока регулировка болтиками.

Короткий видик лежит тут:

https://www.youtube.com/watch?v=iMkLp8Ly--k

Всё руки не доходят сделать полный блог.

ibnteo
Offline
Зарегистрирован: 08.10.2013

За этот год разработал полисимвольную аккордовую клавиатуру Кладенец, на которой можно работать даже одной рукой (https://ibnteo.github.io/kladenets/README-RU). На каждой руке по 10 кнопок, при желании можно печатать двумя руками на 10 кнопках, при этом на них поместилась всё клавиатура, цифры и стрелки отдельно не нужны. Если необходимо набирать цифры одной рукой, то можно использовать целый Кладенец, переключаясь в режим половинчатого когда необходимо. При работе двумя руками на 10 кнопках полисимвольность будет меньше, но даже такая позволит быстрее печатать текст.

Сейчас нахожусь на этапе запуска в производство переходной клавиатуры Коденец, на которой будет постепенный переход на аккорды, пока будешь изучать аккордовую печать, будешь работать на знакомой раскладке, при этом слой навигации максимально приближен к аккордовому. Даже на первой ступени перехода на аккорды, слои и модификаторы полностью аккордовые, можно жать кнопки одновременно, не заботясь о их последовательности.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Хрень какаята. 

Sergei H.
Offline
Зарегистрирован: 17.11.2018

Не соглашусь ,что это хрень. А если сделать вертикальную клавиатуру,как мышь,будет ещё лучше.Только места не хватит для кнопок.