Создание собственных раскладок на основе дворака и диктора

в 11:43, , рубрики: dvorak, интерфейсы, метки:

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

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

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

Начну с той раскладки с которой собственно всё и началось, и которая претерпела меньше модификаций по сравнению со оригиналом:

Английская раскладка дворака:
Создание собственных раскладок на основе дворака и диктора

Примеры стандартного дворака, и дворака для программистов, для сравнения:

Стандартный дворак:
Создание собственных раскладок на основе дворака и диктора

Дворак для программистов:
Создание собственных раскладок на основе дворака и диктора

Комментарии к модификации:

  1. Символы в верхнем ряду перенесены на уровень выше, т. е. ввводятся без зажимания шифта. Соответственно:
  2. Числа в верхнем ряду перенесены на уровень ниже и теперь вводятся с зажатием шифта.
  3. Символы перенесённые выше по уровню ввода и введённые в верхний ряд (или в уровень ниже у кнопок с точкой и запятой) сосредоточены в порядке удобства их ввода в процессе написания программ.
  4. Арифметические символы сгруппированы в правой части клавиатуры.
  5. Слеши (slash, он-же divide, и backslash) теперь на одной клавише.
  6. Буква Z смещена влево, для уменьшения (пусть даже не очень сильно, учитывая частоту её использования) нагрузку на правую руку, для удобства группировки ариф. символов, и для возвращения к привычному расположению сочетание горячих клавиш ctrl+z и ctrl+y.

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

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


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

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

И поэтому я решил создать свою раскладку на основе диктора:
Создание собственных раскладок на основе дворака и диктора

Стандартный диктор:
Создание собственных раскладок на основе дворака и диктора

Комментарии к модификации:

  1. Решены проблемы названные людьми «трагедия буквы ё», и «трагедия запятой». Теперь они находятся в более доступном месте, что соответственно нам даёт большую свободу и комфорт в их использовании.
  2. Мягкий и твёрдый знаки перенесены в «закулисье», что отнюдь не сказывается на удобстве их использования, пусть даже я это говорю со своей, субъективной точки зрения.
  3. Расположение точки и запятой было перемещено в то-же положение, в котором они стоят в дикторе. Ход, который можно и не делать и вернуть их на место, но решил сделать для большей совместимости (точнее соответствия) с двораком. В любом случае каждый желающий может вернуть всё на круги своя, что не возбраняется, а наоборот приветствуется.
  4. Там, где в раскладке дворака стоят символы ampersant, bar и caret, теперь стоят арифметические символы, это относится также и к символу minus и его брату underscore, которые теперь стоят на месте открывающих фигурной и квадратной скобок. Нужно сказать расположение ариф. символов подобным образом несколько неудобно, ибо я путаюсь между их расположением в раскладках до сих пор. Но данная проблема нерешаема, по крайней мере нормальными способами не приводящими к уродованию раскладок. Хотя можно решить данную проблему, переместив символы ampersant, bar и caret на место арифметических в раскладке дворака, но что опять-таки приведёт к уродованию раскладки.
  5. В общем и целом расположение остальных символов соответствует единому представлению в обеих раскладках.

Общие комментарии к раскладкам:

  1. Вернёмся немного назад, к таблице частотностей, и, глядя на неё, хочу сделать небольшой комментарий относительно расположения букв в раскладках:
    Для примера возьмём самые наиболее употребительные буквы в английском языке (e; t; a; o; i; n), и, обратив внимание на раскладку дворака, заметим что буквы, как-бы расположены не там, где они с первого взгляда должны быть размещены, а именно буква 'e', которая наиболее употребительна, размещена пусть и в среднем ряду наиболее приоритетных букв, но тем не менее не расположена ближе к указательному, наиболее сильному пальцу руки. Это любопытно, хотя я не могу судить о том, мешает ли это скорости и удобству печати или нет. Да господин Дворак не думаю что просто так, «от балды» раскидал частоупотребительные буквы по приоритетному ряду, и тут должен быть смысл, который, кстати говоря, может крыться в том, что вышеуказанный господин делал раскладку не только с упором на английский язык, но и другие языки использующие латиницу.
    Этот же комментарий употребителен и по отношению и к диктору, но в гораздо меньшей степени, и тут мы видем что таки наиболее употребительные буквы расположены в более близких к наиболее сильным пальцам местах, что опять-же весьма относительно.
    Относительно ибо в любом случае, как бы тут ни обстояли дела, нужно ещё иметь в виду, что процентное соотношение частоты букв зависит также от выбранного источника для анализа (словарь / книга / фрагмент текста), т.е. таблица частотности букв варьируется от текста к тексту.
  2. Другой комментарий относительно частотности: нигде не нашёл частоту употребления незаслуженно забытой буквы ё, а делать собственный анализ лень, и более того, её частота не может быть объективной, поскольку разные источники с разной частотой могут её использовать, или неиспользовать вообще. А посему — её частота доподлинно неизвестна, но предположительно находится между 0.5-2.5%.
  3. Длительность времени обучения у меня составила что-то около 2х дней для полного освоения печати вслепую, после этого ушло около месяца повседневного использования клавиатуры, для достижения моей скорости печати на стандартных раскладках, и на данный момент я печатаю со скоростью примерно 200-250 символов, т. е. превысил планку скорости печати на стандарте. Скорость может быть и выше, если я приучу правую руку не «скакать» указательным пальцем по клавишам, а приучу её действовать также как правая, которая использует 3 средних пальца для печати. (Пальцы у меня длинные и большие, поэтому мне физически невозможно писать используя 4 пальца руки.)
  4. Опять-же возвращаясь к расположению точки и запятой в дикторе: можно их вернуть в первоначальное положение, ближе к указательному пальцу левой руки. И в этом есть свой смысл, поскольку данные знаки препинания используются в русском языке чаще, нежели в английском, и соответственно должны быть более доступны. Хотя не могу сказать что мне неудобно их использовать в их нынешнем положении.
  5. Есть у данных раскладок совершенно жуткий недостаток. А именно — расположение горячих клавиш. Об этом недостатке имеют представление те, кто уже сталкивался с клавиатурой дворака. Как это исправить грамотно (не используя костыли в виде скриптов или макросов) мне к сожалению неизвестно.
    Однакож и к новому сочетанию клавиш можно привыкнуть, у меня на это ушла примерно неделя. Но привыкание не столь страшная проблема как расположение горячих клавиш, и не стоит забывать что сочетание клавиш ctrl+q (выход) теперь находится там, где раньше было ctrl+x (вырезать), и ctrl+w (закрыть окно) находится рядом с ctrl+v (вставить).
  6. Игры. По сути играть в игры на этих раскладках в 99.5 случаях — не проблема. Персонаж спокойно передвигается вперёд при нажатии на кнопку с точкой, где раньше была буква 'w'. Есть правда более редкие игры, которые считывают именно нажатие определённой буквы, а не клавиши, но повторюсь — случаи достаточно редки. Также единичны случаи когда игра использует свои раскладки, и это чаще старые игры вроде Diablo 2 или Heroes 3. Как бы то ни было, в подавляющем большинстве игр есть настройки опций, и более того, можно просто переключиться на стандартную раскладку, путём переключения между ними. (В windows мы чаще переключаемся между языками нежели между раскладками, а каждый язык может иметь несколько раскладок включая и дворак/диктор и стандарт.)

По сути это всё, инсталляторы раскладок, их исходники под Windows и инструкцию установки под Linux можно скачать тут: depositfiles.com/files/r0c96paja
Напоследок хочу поблагодарить за содействие и сочувствие хабрапользователя ibnteo.

Автор: Exxtay


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


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