OPRIQ

Клавиатурная раскладка с возможностью полноценной соло-леворукой печати

Являясь приверженцем уходящей вглубь веков традиции менять свои устройства ввода настолько сильно, что никто кроме тебя самого не может ими пользоваться — я печатаю на собственной раскладке OPRIQ («OPtional RIght Qwerty»), на которой можно печатать как одной левой рукой, так и двумя руками. При этом в леворуком режиме доступны все функции обычной клавиатуры.

Домашний слой раскладки OPRIQ.<br>За «слои» подробно поясняется в тексте статьи

Домашний слой раскладки OPRIQ.
За «слои» подробно поясняется в тексте статьи

Раскладка используется в полную силу при работе в программах, завязанных на быстрый ввод хоткеев (Фотошоп, AutoCAD, Excel и др.):

  • При работе с интерфейсом какой-нибудь программы — левая рука вводит хоткеи, пока правая кобенится на мышке
  • Когда надо вводить много текста — к печати подключается правая рука

Раскладка работает на английском и на русском языках.

Для работы раскладки под Windows запускается специальный скрипт, написанный на языке AutoHotKey.

[1] В чём прикол

Прикол в том, что OPRIQ одинаково хороша и как леворукая, и как двурукая раскладка.

Печать на OPRIQ попеременно то в леворуком, то в двуруком режиме (средняя скорость печати на видео: 340 зн/мин). Используется обычная клавиатура, в ней просто переставлены и перекрашены колпачки клавиш на правой половине.

Судя по всему, что я знаю об одноруких способах печати, OPRIQ — единственная в мире (!) раскладка, в которой одновременно:

Дополнительный бонус: двурукая раскладка на 90% совпадает с обычной раскладкой (QWERTY/ЙЦУКЕН), поэтому выучить раскладку OPRIQ можно без отрыва от производства.

[2] Устройство OPRIQ

Общая схема устройства раскладки

По задумке, устройство раскладки (при печати на английском языке) должно быть понятно из приводимой схемы. Читателю предлагается максимально внимательно изучить схему, а затем перейти к дополнительным разъяснениям ниже.

Схема устройства раскладки OPRIQ (при печати на английском языке)

Схема устройства раскладки OPRIQ (при печати на английском языке)

В раскладке используются:

Переключение слоёв по таймеру

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

Вот как выглядит переключение слоёв по таймеру в OPRIQ:

Причины введения таймера

Таймер введён потому, что это единственный устроивший меня способ разделения клавиатуры на однорукий и двурукий режимы.

Что не так с другими способами:

  1. Самый прямой способ сделать двурукую раскладку однорукой — это сделать пробел двухфункциональной клавишей (причём именно пробел, ибо все другие клавиши сильно менее удобны для этой роли):

    • При быстром нажатии пробела вводится, собственно, символ «пробел»
    • При удержании пробела открывается «зеркальный» слой (на этом слое клавиши с левой половины клавиатуры начинают вводить буквы с правой половины)

    📜

    Конкретно о зеркальных раскладках (Mirrored QWERTY) и в целом обо всех известных мне способах однорукой печати рассказывается в отдельной статье: (ещё переношу из Notion)

    Принципиальная проблема такого подхода в том, что при быстрой печати (свыше 300 зн/мин) функции пробела начинают друг с другом пересекаться. Т.е. пробел вместо ввода символа «пробел» при недостаточно быстром нажатии может подло открыть зеркальный слой, и в итоге клавиатура выдаст не те буквы, что хотел пользователь.

  2. Есть и другой подход: можно завести специальную клавишу, которая бы переключала клавиатуру с однорукого на двурукий режим. Но по моему опыту постоянно переключать режимы — вроде и мелочь, но ОЧЕНЬ И ОЧЕНЬ напряжная, т.к. постоянно забываешь в каком режиме сейчас находится клавиатура. Всякие там световые индикаторы, иконки в трее и т.п. проблему для меня не решали — всё равно постоянно путался.

Впечатления от такого переключения слоёв

На практике сейчас я «просто печатаю на раскладке и всё». Никаких дополнительных умственных усилий не требуется: не нужно постоянно помнить, в каком режиме сейчас клавиатура.

Единственный затупон, который я испытываю — это периодические попытки нажимать леворукий Enter аккордом (одновременным нажатием клавиш D и F), когда ещё не истёк 1-секундный таймер двурукого режима. Но тут уже только Бог поможет.

Русская раскладка

В целом русская раскладка (ЙЦУКЕН) работает ровно по той же схеме, что и английская раскладка. Т.е. на русской раскладке тоже можно делать всякое одной рукой.

В силу использования широкой постановки рук на OPRIQ, четыре клавиши русской раскладки оказываются перенесёнными в центр клавиатуры.

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

[3] Впечатления от работы

На момент написания статьи я печатаю на OPRIQ около года.

Раскладкой очень доволен во всех аспектах, сейчас она уже воспринимается как родная.

Однорукая печать

Теоретически, на OPRIQ одной рукой можно печатать хоть текст, хоть код, хоть что угодно.

Печать кода одной рукой. Используются обычная мембранная клава с ОЗОНа за 500 рублей. В ней просто покрашены кнопки.

На практике текст одной рукой я набираю только на тренажёрах (typeracer, Клавогонки и т.п.), а как только в реальной работе надо набрать слово длиннее 3..4 букв — печатаю двумя руками. А вот все хоткеи ввожу обычно только левой рукой. Собственно, так всё и задумывалось.

Двурукая печать

При двурукой печати OPRIQ максимально близка к обычной клавиатуре, но в ней ещё и добавлен слой навигации. В слое навигации правой рукой на домашнем ряде зажимаются модификаторы (Alt/Shift/Ctrl/Win), а левая вводит стрелочки. Также со слоя навигации можно управлять громкостью и вводить спец-символы («»°•—₽←↓→↑).

Благодаря слою навигации очень удобно редактировать текст. Например, Shift+Ctrl+Left выделяет слово, Shift+Up выделяет строку и т.п. Это универсальные хоткеи самой Windows, поэтому они работают практически в любом текстовом редакторе.

Скорость печати

Если печатать просто текст, то мои текущие скорости следующие:

Средняя, зн/мин Рекордная, зн/мин
Печать левой рукой 300 (eng) 390 (eng)
Печать двумя руками 480 (eng), 460 (ru) 580 (eng), 570 (ru)

Если печатать код (т.е. надо набирать кучу спец.символов), то скорость падает на ~30%, но так происходит и на любой другой раскладке.

Игрушечки

В игрушечках раскладка часто не работает (ибо в них клавиши обрабатываются своеобразно). Особых проблем это не создаёт, ибо раскладку можно выключить, а клавиши на левой половине клавиатуры совпадают с клавишами обычной клавиатуры (кроме клавиши Caps Lock, которая в OPRIQ работает как Ctrl — но и её можно отдельно переназначить на уровне регистра Windows с помощью программы SharpKeys; об этом ниже).

[4] Недостатки и нюансы использования OPRIQ

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

По жизни

По мелочи

Ограничения операционной системы

Язык, на котором написан скрипт раскладки (AutoHotKey), работает только под Windows. Соответственно, на данный момент раскладка работает только под Windows.

💡

Теоретически, можно взять идею раскладки OPRIQ и написать такую же для Мака, Линукса и QMK.

💡

QMK — специальный софт (по сути библиотека языка С), которым прошивают контроллеры программируемых клавиатур. Пищевая основа клавиатурного коммунити.

Ограничения софта (ограничения AutoHotKey)

[5] Софт и установка

OPRIQ не требует установки, надо просто скачать и запустить исполняемый файл.

Для ценителей — можно поугорать в редактирование исходного скрипта, написанного на языке AutoHotKey.

Какая клавиатура нужна для OPRIQ

Самые популярные форматы обычной клавиатуры — это ANSI (с однорядной клавишей Enter) и ISO (с двурядной клавишей Enter). Соответствие клавиш клавиатур этого формата клавишам OPRIQ можно понять из схемы:

Соответствие клавиш стандартных ANSI и ISO клавиатур клавишам раскладки OPRIQ

Соответствие клавиш стандартных ANSI и ISO клавиатур клавишам раскладки OPRIQ

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

Алгоритм запуска OPRIQ

1️⃣

Скачать файлы раскладки:

{⇓ OPRIQ_221022.zip}

Файлы внутри архива:

  • OPRIQ.exe (Исполняемый файл)
  • OPRIQ.ahk (Исходный код)
  • OPRIQ.png (Иконка)

2️⃣

Перевести раскладку Windows на английскую (EN) и запустить файл OPRIQ.exe После запуска, в трее должна появиться иконка раскладки:

Наличие этой иконки означает, что скрипт работает. Можно печатать.

Если запустить OPRIQ.exe, не находясь на английской (EN) раскладке, то скрипт начнёт жаловаться на то, что он не может полноценно отработать:

В этом случае надо перевести раскладку Windows на английскую, нажать ОК в окне выше и перезагрузить OPRIQ комбинацией Win+F3. Уже после этого можно спокойно переключать язык на русский и всё будет работать без проблем.

Чтобы полностью выключить скрипт OPRIQ, надо нажать правой кнопкой мыши по иконке скрипта, и в открывшемся меню выбрать Exit.

Управление раскладкой OPRIQ

Для общего управления OPRIQ используются комбинации:

Hotkey Действие
Win + F3 Перезагрузка OPRIQ
Win + F4 Включить/выключить OPRIQ
Win + F5 Насильно отжать все модификаторы (Alt/Ctrl/Shift/Win)
Pause Насильно отжать все модификаторы (Alt/Ctrl/Shift/Win)

Если вдруг что-то подвисло, то можно попробовать понажимать Win+F3 и Win+F5.

Комбинация Win+F4 выключает все переназначения клавиатуры, но скрипт при этом продолжает висеть в трее (при выключенных переназначениях иконка скрипта в трее изменится на букву S как на картинке):

При вызове всех этих команд в центре экрана на 1 секунду появляется сообщение, что вызов соответствующей команды сработал:

Редактирование исходного файла

Раскладка написана на языке AutoHotKey, поэтому при установленном AutoHotKey можно редактировать и затем запускать исходный файл OPRIQ.ahk (размер файла — 800 строк).

Скачать установщики версии AutoHotKey, для которой была написана OPRIQ:

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

🤔

За время срабатывания таймера авто-переключения со слоя «2h» на слой «Home» отвечает переменная alarm_Length. Её можно поменять на желаемую продолжительность таймера в миллисекуднах со знаком минус (по умолчанию установлено -1000, т.е. одна секунда).

🤔

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

Решение проблем с клавишами AltGr (правый Alt) и CAPS

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

Что с этим можно сделать:

(1)

С помощью программы SharpKeys переназначить на уровне регистра Windows функции клавиш Caps Lock и Right Alt соответственно на Left Ctrl и F14. В скрипте OPRIQ уже предусмотрена возможность такого переназначения, поэтому он без лишних телодвижений продолжит работать как надо.

Так должны выглядеть итоговые переназначения клавиш в SharpKeys

Так должны выглядеть итоговые переназначения клавиш в SharpKeys

Скачать программу SharpKeys (не требует установки):

{⇓ Sharpkeys_39.zip}

Sharipkeys на github: github.com/randyrangs/sharpkeys

(2)

Если нет желания лезть в регистр Windows, то иногда (но не всегда) может помочь следующее. На уровне исходного файла OPRIQ.ahk надо найти строчку ; SendMode Input и стереть в ней символ точки с запятой в начале строки (и потом надо будет с установленным AutoHotKey запустить исправленный OPRIQ.ahk файл). Это активирует альтернативный способ обработки нажатий клавиатуры.

[6] Модификации раскладки

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

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

Перестановка клавиш T/F и N/J

Поскольку в английском языке буквы T и N встречаются сильно чаще букв F и J (это касается и текста и хоткеев), то я поставил их на домашний ряд:

  • T теперь на месте F (и наоборот)
  • N теперь на месте J (и наоборот)

Такая модификация называется OPRIQ_TFNJ. На данный момент (и на всех видео из статьи) я печатаю именно на этой модификации раскладки.

Скачать файлы раскладки OPRIQ_TNFJ:

{⇓ OPRIQ_TFNJ_221022.zip}

Не могу рекомендовать всем раскладку именно в этой модификации, т.к. эти переназначения клавиш заметно сильнее отличают OPRIQ от QWERTY, чем (как ни странно) все остальные изменения.

Русская раскладка ЖГИЁЖ

При разработке OPRIQ я постоянно переделывал и переучивал русскую раскладку под разное число и расположение клавиш, поэтому когда сформировалась финальная версия OPRIQ — я решил остаться на своей русской раскладке, а не возвращаться на ЙЦУКЕН.

Раскладка названа «🔥🦔» частично по буквам верхнего ряда, частично ради мемности.

В раскладке равномерно распределяется нагрузка между пальцами, плюс минимизировано число ПНОПов.

Русская раскладка ЖГИЁЖ

Русская раскладка ЖГИЁЖ

💡

ПНОПы — последовательные нажатия одним пальцем. В клавиатурном коммунити считается, что большое число ПНОПов является показателем плохо оптимизированной раскладки. Пример вопиющего ПНОПа на раскладке ЙЦУКЕН: в постановке рук ФЫВА ОЛДЖ слово «торг» печатается одним правым указательным пальцем.

Сейчас на ЖГИЁЖе печатаю примерно с той же скоростью, что и на ЙЦУКЕНЕ пару лет назад.

💡

Кстати, КУРЬЁЗ: если запустить Excel при включенной русской раскладке, то хоткей Ctrl+C не работает (видимо, это из-за того, что на месте буквы C находится точка). Никто кроме Excel таких подстав мне не делал (предают только свои 😭). Не особая проблема, ибо надо просто запускать Excel с включенной английской раскладкой, всё.

Скачать установщик раскладки ЖГИЁЖ (раскладка должна использоваться с OPRIQ_TFNJ):

{⇓ ZHGIEZH_OPRIQ_TFNJ.zip}

(внутри zip-файла — инсталлятор раскладки)

После установки раскладку надо добавить в систему через настройки языка Windows (Язык → Русский → Параметры → Добавить клавиатуру). В итоге раскладка должна отобразиться в списке клавиатур:

[7] История создания раскладки OPRIQ

Отталкиваясь от моего предыдущего 7-летнего опыта печати на одноруких раскладках, разработка OPRIQ заняла около полутора лет. На самом драматичном этапе разработки левая рука ушаталась настолько сильно (чё-то там воспаление нерва чё-то там), что пришлось посетить руко-врача и потом не прикасаться к клавиатуре пару недель.

Уже 2 года планирую написать об этом статью. Может, однажды, напишу…