В этой статье я рассказываю про две клавиатуры, которые я собрал и использую ежедневно. Также описываю раскладку прошитую в эти клавиатуры, идеи и принципы определившие эту раскладку. Я работаю за комьютером уже долго. Писать, то есть печатать, приходится довольно много. Несколько лет назад пальцы и руки начали болеть, достаточно, чтобы начать искать облегчения. Ежедневно бинтовать пальцы и использовать обезболивающие - не выход. Решение нашлось в создании клавиатуры и её расладки, при использовании которых руки движутся более-менее естественно и не травмируются так сильно, как раньше. Я перебрал много вариантов: Начал с разделения рук - к основному лаптопу добавил внешнюю клавиатуру. IBM, а затем Lenovo, делают внешние устройства из тех же клавиш. Так что дополнить мои ThinkPad'ы выносной клавой было достаточно легко. Я распологал лаптоп справа, внешнюю клаву - слева, а дополнительный монитор посередине. Получилось уменьшить изгиб кистей, особенно левого запястья. Оставалась проблема с суставами указательно пальца и правым запястьем. Пальцы ударялись при быстрой печати. Правая рука изгибалась, чтобы достать до кнопок курсора и блока редактирования. Следующий шаг был переключение на раскладку Space-FN. Я использовал (и до сих пор использую) приложение TouchCursor. Оно превращает пробел в переключатель слоя - и все обычные кнопки в этом слое можно переопределить. Например, я сделал так, чтобы ряд цифр становился F-1...F12, а курсор был на E/SDF, I/JKL. Page Up/Down - на T/G и Y/H. Home/End -  на R/W и U/O, а BackSpace становится Delete. С таким дополнительным слоем стало удобно использовать любую клавиатуру, не только привычную мне ThinkPad, но и любой другой лаптоп. Стало достаточно иметь стандартный блок QWERTY и игнорировать изыски и "улучшения" от производителей лаптов и клавиатур. Настройки Space-FN стали основой всех моих следующих раскладок.Для Space-FN я пробовал настроить AHK, но не смог использовать эту программу из-за несовместимости с некоторыми другими программами через Remote Desktop, поэтому я так и остался с TouchCursor. Оставалась проблема с усилием нажатия на кнопки и некоторый дискомфорт из-за наклонных колонок. Я начал перебирать механические клавиатуры, начал с 60% от разных производителей. Они уже были приятнее на ощупь - переключатели Cherry MX Blue/Brown уже не давали такого "пробоя" до крайнего нижнего положения, но угол между руками был уже не такой удобный после двуч отдельных клавиатур упомянутых выше. Пришла очередь раздельных: Mistel Barocco, потом Ergodox EZ. Mistel не имел возможности гибкой настройки. Эргодокс оказался просто слишком большим - избыточные кнопки привели к тому, что я пытался использовать их все. Так же в нём кнопки для большого пальца расположены далеко, очень неудобно тянуться до них. Теперь я решился попробовать собрать раздельную клавиатуру. В интернете нашёл статью как собрать клавиатуру из двух половинок с 4 рядами и 6 колонками и всего лишь одним контроллером Teensy. Корпус напечатал в библиотеке из файлов, прилагаемых к статье. Спаять внутренности было достаточно просто. С прошивкой тоже было не так сложно - она была на основе QMK Planck, статья рассказывала об отличиях. Тут уже я смог повторить раскладку близкую к Space-FN, что я уже использовал довольно долго. Добавилась возмножность создать слои включаемые большими пальцами левой и правой рук, и код Planck уже имел всё, что нужно для этого, оставалось только изменить слои.Получилось очень неплохо, я стал пользоваться этой клавиатурой постоянно. Собрал ещё одну - Let's Split, благо части к ней достаточно дешёвы, а сборка еще проще - всё собирается на печатной плате. На этом раскладка уже была сформирована полностью - и остаётся практически неизменной до сих пор.Оставалась некоторая неловкость при нажатии Lower/Raise (которые я поместил на нижний ряд во внутренний угол), так что это было близко, но ещё не окончательное решение моих проблем. Все дальнейшие поиски были направлены на форму клавиатуры и используемые кнопки. В это время я увидел описание клавиатуры Dactyl разработанной Matt Adereth, и решил попробовать построить её. У этой клавиатуры достаточто сложный корпус, 3D принтер в библиотеке не мог его уже напечатать за день, пришлось раскошелиться на покупку своего. Пока принтер ехал ко мне, Tom Short опубликовал свою разработку - Dactyl-Manuform,  сочетание Dactyl'а и Manuform (автор - Jeff Gran). Этот вариант мне понравился своей относительной простотой (я тупо не смог нормально напечатать оригинальный Dactyl) и я начал эксперименты - 5х6, 4х6, разные углы наклона, разные возвышения между уровнями колонок.   Использовал разные переключатели - Cherry MX, Gateron, Matias. Самыми удобными сначала показались  Gateron Clear, они самые мягкие из стандартных, потом стал менять в них пружины. Вместо 35 г - 15-20 грамм, стало гораздо легче, боль в крайних фалангах практически ушла. Потом открыл Matias - у них ощущения нажатия ещё приятнее, точка срабатывания выше, встроенные демпферы. С облегчёнными до 12-15 грамм пружинами они приблизились к идеалу - как у клавиатур старых моделей ThinkPad x61 и x200, но с увеличенным ходом после срабатывания.Внутренности оставались теми же - схема от Let's Split, по одному контроллеру ProMicro в каждой половинке, ЮСБ кабель подключается к любой из них, половинки соединяются обычным аудио кабелем.  За год я перебрал с десяток разных вариантов, остановился на довольно высоком угле наклона слева-направо. Такое положение блока QWERTY-клавиш было повторено во всех клавиатур, что я использовал в течение более двух с половиной лет. Со временем я   уменьшил количество кнопок под большими пальцами с шести до двух, лишние кнопки оказались практически не используемыми. Такое расположение кнопок имело отложенный отрицательный эффект. Указательные пальцы ложатся на кнопки под большим углом, то есть двигаются практически вертикально, а оси кнопок - под углом где-то в 40 градусов от вертикали. Получалось, что на второй сустав пальца прилагалась изгибающая сила, небольшая из-за облегчённых пружин, но достаточная, чтобы усталось накопилась и пальцы стали снова болеть. Решение нашлось в создании собственной модели клавиатуры, в которой бы кнопки смотрели вертикально вверх.  Клавиатура "Ступеньки" У этой клавиатуры все кнопки расположены на горизонтальных "полочках", которые разнесены по высоте. Кнопки под большими пальцами - выше всех. Колонки - сдвинуты относительно друг друга. Всё сделано так, чтобы пальцам приходилось двигаться как можно меньше от "домашнего" ряда.Очень похоже на оригинальный Dactyl, только все кнопки смотрят вертикально вверх.    Отдельная вопрос - удобная клавиатура для лаптопа. Dactyl-подобная просто не очень удобна для переноски, она ещё и слишком высока, загораживает экран.Я попробовал добиться того же удобства для "плоской" клавиатуры путём сдвига колонок, чтобы пальцы двигались примерно так же, как с Dactyl. Получилось достаточно похоже. Вместо высоких кнопок Matias я взял Kailh Choc. Самое заметное отличие от распространённых моделей (Iris, Lily58, Gergo, etc.) - это расположение внутренних стоблцов (TGB, YHN) кнопок. Другие авторы распологают их сильно ниже, так, что строка выглядит одной дугой. Я же нахожу это очень неудобным, мои указательней пальцы не могут так сгибаться, кисть начинает болеть достаточно быстро. То есть в статике Iris/Lily58/etc.кажутся вполне логичными, но в динамике, при печати, указательный палец легче разогнуть, и несколько вытянуть, чем поджать в сторону подушечки большого пальца.Поэтому я подвинул эти колонки вверх, и ряды моих клавиш выглядят больше как "Vv" (я специально использовал отдельные буквы V, получается шесть точек.)Так же я добавил нижний четвертый ряд, как у Dactyl-Manuform, использую их для модификаторов - Win, Alt, Menu (см. ниже в описании раскладок). Сама клавиатура крепится на застёжке-липучке к платформе, что закрывает ноутбук. Это просто пластина с гребнями с нижней стороны. Гребни встают между рядами клавиш и не дают ей нажимать на кнопки. Резиновые ножки по периметру не дают ей скользить. В этой клавиатуре получилось всё хорошо, за исключением кнопок под большими пальцами. Их приходилось нажимать кончиками пальцев, что не очень удобно, я предпочитаю вторую фалангу ближе ко второму суставу.Следующая (и на данные момент окончательная) версия была цельная клавиатура с приподнятыми кнопками: Основные идеи/принципы использованные в раскладке Хотелось бы избежать переучиванию слепому набору, сохранить использование привычных комбинаций кнопок.  Как можно ближе к обычной QWERTY, включая Esc, Tab, Backspace, модификаторы Shift, Control, Alt, Menu. Минимум движения пальцев, желательно не более одной позиции вверх/вниз/в сторону. Удобство навигации - стрелки. курсор. мышка. Навигация - желательно управлять курсором одной рукой. Наличие и удобство пользования F-клавишами, с сохранием привычных комбинаций (например, в FAR.) Удобство в русской раскладке ЙЦУКЕН. Симметричные модификаторы - чтобы одна рука использовалась для нажатия/удержания модификатора (Control, Shift, Alt, Raise/Lower), а другая - для собственно кнопки.Например, для нажания Ctrl+A - правый мизинец зажимает Ctrl, левый мизинец нажимает "А". Тоже самое с заглавными буквамии - для "Ш" левый большой палец держит Shift, а правый средний палец нажимает "ш".  Избегать использования одной руки для нажатия модификатора и букв. Минимум кнопок для больших пальцев - они обычно используются только для простых действий, не такие подвижные/развитые, как указательные или даже мизинцы. Движения больших пальцев - не сгибание, а "удар"/удержание боком.Сгибание этих пальцев - не точное движение, плохо сочетающееся с нажатием кнопок другими пальцами (это скорее требование к физическому расположению кнопок, пусть будет здесь для полноты картины). Эти принципы определили структуру слоёв раскладки, и саму конфигурацию клавиатуры с 44 кнопками. Слой А: Основной слой, QWERTY/ЙЦУКЕНРаботает по умолчанию, когда никакой из переключателей слоёв не удерживается.Shift нажимается большими пальцами, а остальные модификаторы - как на обычных клавиатурах:Control - либо мизинцем, либо ребром ладони (на некоторых моих клавиатурах так удобнее).Alt - средними пальцамиWin, Menu - безымянными пальцамиTab, Esc - левым мизинцемBackspace, Enter - правами мизинцем Слой Б: Навигация и редактирование - курсор на правой половине, мышка на левой.Работает, когда удерживается Raise (на картинке помечена как CursRt, кнопка в левом нижнем углу на правой половине, нажимается большим пальцем.) Достаточно удобно - правый большой палец опускается на Raise/CursRt, а указательный, средний и безымянный находятся над стрелками влево, вверх/вниз, вправо. Также указательный легко достает Y и H для Page Up, Page Down. А на нижнем ряду - кнопки мыши, левая, средняя и правая. U и O - Homeи End. Backspace превращается в Delete. Левая же рука управляет мышкой, используется для модификаторов - Ctrl, Shift, Alt, Win.Она же может нажать Tab, который в этом слое работает как Enter. Слой В: Навигация и редактирование - курсор на левой половине, мышка на правой.Работает, когда удерживается Lower (на картинке помечена как CursLt, кнопка в левом нижнем углу на левой половине, нажимается левым большим пальцем)Слой почти полностью зеркальный Слой Б, с небольшими отличиями. Слой Г: Цифры и F-клавиши.Работает, когда Raise и Lower (CursRt, CursLt) обе удерживаются большими пальцами обеих рук. Верхний ряд - цифры, второй ряд и ZX - F-клавиши.Большая часть остальных кнопок сохраняют функции как на основном слое А. Слой Д: Расширенная правая часть обычной клавиатуры.Используется для ввода символов ()[]`'', а в русской раскладке - ЁЭХЪ/, т.е. тех кнопок,что не вошли в матрицу 3х10.Работает, когда Tab (на картинке помечена ExtraRight, самая левая колонка левой половины, средний ряд) удерживается левым мизинцем. С учётом порядка слоёв можно быть в одном из слоёв Б,В или Г и при этом включать слой Д. Например, набирать цифры в слое Г, и не поднимая больших пальцев с Raise/Lower, нажать Tab (ExtraRight) левым мизинцем, чтобы правыми средним или безымянным пальцами ввести круглые или квадратные скобки). Я постарался описать клавиатуры и их раскладку, которые я использую.Они меня вполне устраивают, но, ни в коей мере не претендуют на универсальность.