Как я оптимизировал стандартную русскую раскладку
При интенсивном наборе текстов на клавиатуре часто возникает ощущение неоптимальности движения пальцев, что наталкивает на мысль о существовании более удобного расположения букв на клавишах.
В статье осмысливаются принципы эргономики, в соответствии с которыми была разработана стандартная русская клавиатура, и описывается методика создания более оптимальной для скоростного набора клавиатуры.
История расположения букв на стандартной клавиатуре
Клавиатура телеграфа Юза
На самых первых экспериментальных пишущих машинах, изобретённых в США Лэтемом Шоулзом, буквы на клавишах располагались в алфавитном порядке, по аналогии с телеграфными аппаратами тех лет.
Такое расположение клавиш делало машину довольно громоздкой, поэтому, впоследствии, Шоулз разместил алфавитные клавиши в 4 рядах, попутно оптимизировав расположение букв с учётом механизма машины и частоты набора клавиш.
Шоулз не переставал экспериментировать с расположением букв. Порядок QWERTY является результатом его экспериментов по состоянию на 1875 год, когда его машина начала массово выпускаться. Расположение клавиш в его последнем патенте было совершенно иное.
В золотой век пишущих машин, в 1880-е стали появляться машины с альтернативными алфавитными клавиатурами: Каллиграф (1880), Крэндель (1883), Гаммонд Идеал (1885). Так как набор в основном производится указательными и средними пальцами, производители расположили под этими пальцами клавиши с самыми частыми буквами.
По мере появления машин с лёгким ходом клавиш, опытные пользователи стали использовать в наборе все пальцы. В 1888 году стенографист Франк Макгуррин разработал метод слепого десятипальцевого набора: все алфавитные клавиши на клавиатуре были закреплены за 8-ю пальцами, постоянно расположенными в основной позиции, что позволило снизить когнитивную нагрузку (не тратить время на визуальный поиск нужной клавиши) и повысить физическую совместимость (сократить время на перемещение пальцев по клавиатуре).
Появление десятипальцевого метода набора должно было привести к появлению адаптированных под него клавиатур, но в том же 1888 году состоялся съезд производителей пишущих машин, на котором было принято решении о стандартизации всех новых пишущих машин под клавиатуру QWERTY как наиболее распространённую. Тем не менее, в 1893 году была выпущена машина Бликенсдерфер с клавиатурой, адаптированной под десятипальцевый набор. Наиболее частые буквы английского алфавита d h i a t e n s o r
были размещены не в центральной части клавиатуры, а на основном ряду клавиш.
Резюмируя, важно отметить, что существовало два разных подхода повышения эргономики клавиатур:
Расположение частых букв в центре клавиатуры для двухпальцевого набора.
Расположение частых букв в основном ряду клавиатуры для десятипальцевого набора.
Клавиатуры для набора кириллицы
Русская стандартная клавиатура ЙIУКЕН / ЙЦУКЕН
В 1887 году была выпущена первая пишущая машина для европейского рынка — Ремингтон № 5. Для России Ремингтон № 5 поставлялась со следующим расположением клавиш на клавиатуре:
2 4 5 6 7 8 9 % ц э
й i у к е н г ш щ з х
ф ы в ъ а п р о л д ж
я ч ѣ с м и т ь б ю
Благодаря более позднему появлению, в русской клавиатуре были учтены недостатки клавиатуры QWERTY. Буквы чаще употребляемые, были помещены в середину клавиатуры, т. е. под указательные и средние пальцы рук. При создании русской клавиатуры, разработчики Ремингтона расположили буквы в алфавитном порядке (следы этого в последовательностях букв йi
шщ
пр
дж
) и переставили их в соответствии с принципами расположения букв русской типографской кассы (частые буквы ближе к центру).
Для снижения когнитивной нагрузки, буквы наиболее частых биграмм (двух последовательно набираемых букв) расположили рядом друг с другом. Например буквы е
и н
образуют биграммы ен
и не
, чаще других встречающиеся в русском языке, т. е. после буквы е
чаще всего идёт буква н
. Близкое расположение этих букв на клавиатуре позволяет меньше тратить время на поиск и быстрее переносить палец на следующую клавишу. Такие последовательные нажатия смежных клавиш называют перекатами.
Буква ъ
образовывала вокруг себя целую область частых биграмм с буквами к
в
с
, так как в дореволюционной орфографии, после всех слов, оканчивающихся на эти буквы, ставился твёрдый знак. Такой подход упрощал процесс набора для неопытных пользователей клавиатур. Однако, он приводит к тому, что многие частые биграммы, например то
, приходится набирать одним пальцем, что снижает чередуемость пальцев при наборе.
После революции из русского языка были исключены буквы i
ъ
ѣ
. Производители пишущих машин сдвинули остальные буквы на место исключённых, что привело к трудностям у привыкших к стандартной дореволюционной клавиатуре пользователей. Чтобы решить эту проблему, на место букв i
ъ
ѣ
были помещены редкие буквы ц
э
и знак /
. Впоследствии букву э
и знак /
вернули на периферию.
Клавиатура КРОИТВЕСНА
Машина Бликенсдерфер, предназначенная для 10-пальцевого слепого набора, поставлялась в Россию со следующей клавиатурой:
ю щ ж з i й ш ц
м я ч п л у г д ѣ б
к р о и т в е с н а
Редкие буквы э ф х ъ ь ы находились в дополнительном регистре.
Буквы были расположены так, что более 65% нажатий приходилось на первый — основной ряд, наиболее удобный для набора на этой машине. Здесь также использовался принцип близкого расположения букв частых биграмм (очень высокая доля нажатий с перекатами).
Клавиатура болгарского государственного стандарта (БДС)
В конце ХIХ века в Болгарии долго не могли определиться с тем, какая из предложенных американцами машин имеет лучшую клавиатуру, так что в 1907 году начальник стенографического бюро Народного собрания Болгарии Теодор Галабов провёл исследования частотности букв в болгарском языке, проанализировав их употребление в 10 000 слов. По результатам этого исследования была разработана болгарская клавиатура для десятипальцевого набора:
ы у е и ш щ к с д з ц
я а о ж г ь т н в м ч
ю й ъ э ф х п р л б
Болгарская клавиатура пишущей машины Адлер 7
Наиболее часто используемые буквы о
н
т
а
расположены так, чтобы их можно было набирать более сильными пальцами — указательным и средним. Для того, чтобы обе руки чередовались как можно чаще, гласные и полугласные располагаются на левой стороне клавиатуры, а большинство согласных — на правой. Клавиатура Галабова стала стандартом в Болгарии. С нею болгары регулярно выигрывали международные соревнования по машинописи, печатая со скоростью более 1000 знаков в минуту.
Только спустя 30 лет, в 1930-е годы, Август Дворак, американский профессор педагогики, предпринял попытку популяризировать идею повышения скорости печати за счёт перестановки букв на клавиатуре QWERTY, используя принципы клавиатуры Бликенсдерфера образца 1893 года. Но также, как и полувеком ранее, идея частотной оптимизации клавиатуры не обрела популярности у приученных к QWERTY пользователей.
История показывает, что идея оптимизации клавиатуры, какой бы прирост в производительности она не давала, не может обрести популярности у приученных к стандартной клавиатуре пользователей без вмешательства государства.
Тем не менее, есть пользователи одержимые повышением производительности, готовые переступать через свои привычки и пренебрегать стандартами. С ними я хочу поделиться своим опытом оптимизации русской клавиатуры.
Оптимизация расположения букв на клавиатуре
Целью предлагаемой мною оптимизации расположения букв является сокращение времени набора текста на клавиатуре. В отличие от большинства существующих методик, использующих для оценки оптимизации такие показатели как баллы, штрафы, сложности, трудозатраты и другие сложноизмеримые показатели, в рассматриваемой методике оптимизации используется только одна точная метрика — время.
Объектом оптимизации является не стандартная матрица клавиш с архаичным горизонтальным сдвигом рядов, а более перспективная и используемая в большинстве современных эргономичных клавиатур ортолинейная матрица размером 3×11 клавиш.
Сдвинутое (классическое) расположение клавиш на клавиатуре ЙЦУКЕН:
й ц у к е н г ш щ з х ъ
ф ы в а п р о л д ж э
я ч с м и т ь б ю ё
Ортолинейное расположение клавиш клавиатуры ЙЦУКЕН (матрица):
й ц у к е н г ш щ з х
ф ы в а п р о л д ж э
я ч с м и т ь б ю ё ъ
Допущения
Так как клавиши стандартной клавиатуры расположены не на прямоугольной матрице, 3 крайние клавиши (редкая тройка) вынесены в отдельный столбец.
Знаки препинания вынесены из алфавитной матрицы.
В наборе букв участвуют 8 пальцев. Основная позиция находится на среднем ряду. Пробел набирается большими пальцами правой и левой руки.
Общий принцип оптимизации заключается в минимизации суммы произведений значений частотности употребляемых биграмм и значений времени нажатий соответствующих им клавиш:
n — количество биграмм и соответствующих им пар клавиш.
Fi — значение частоты встречаемости биграммы i.
ti — время последовательного нажатия двух клавиш соответствующих биграммe i.
Определение частотности используемых букв и биграмм
Оптимизируя клавиатуру для личного использования, необходимо полагаться на личный корпус часто-набираемых текстов, а не на абстрактную статистику частотности или нерепрезентативный корпус текстов. Для этого проще всего собрать все набранные ранее тексты и тексты с близкой тематикой (например любимая литература или статьи). Тексты записываются в несколько файлов — частей корпуса, например:
рабочая_переписка.txt
личная_переписка.txt
любимая_литература.txt
рабочие_термины.txt
популярные_статьи.txt
Для каждой части корпуса подсчитывается количество всех букв алфавита и определяется их частота (как отношение встречаемости определённой буквы к количеству всех букв).
Таблица 1. Частотность букв
Буква | Переписка | Литература | Переписка, % | Литература, % | Итог, % |
---|---|---|---|---|---|
о | 16 499 | 1 665 437 | 11.36 | 11.30 | 11.33 |
е | 12 100 | 1 225 380 | 8.33 | 8.31 | 8.32 |
а | 12 025 | 1 206 385 | 8.28 | 8.18 | 8.23 |
н | 9 870 | 971 466 | 6.80 | 6.59 | 6.69 |
и | 9 330 | 987 363 | 6.42 | 6.70 | 6.56 |
т | 9 909 | 869 850 | 6.82 | 5.90 | 6.36 |
с | 7 785 | 782 540 | 5.36 | 5.31 | 5.33 |
л | 6 990 | 732 077 | 4.81 | 4.97 | 4.89 |
в | 6 006 | 690 775 | 4.14 | 4.69 | 4.41 |
р | 5 466 | 631 131 | 3.76 | 4.28 | 4.02 |
м | 4 994 | 453 099 | 3.44 | 3.07 | 3.26 |
к | 4 019 | 498 825 | 2.77 | 3.38 | 3.08 |
д | 4 132 | 447 063 | 2.84 | 3.03 | 2.94 |
п | 3 873 | 391 059 | 2.67 | 2.65 | 2.66 |
у | 3 445 | 414 109 | 2.37 | 2.81 | 2.59 |
я | 4 031 | 324 388 | 2.78 | 2.20 | 2.49 |
ь | 3 229 | 288 934 | 2.22 | 1.96 | 2.09 |
ы | 2 765 | 278 348 | 1.90 | 1.89 | 1.90 |
б | 2 841 | 257 856 | 1.96 | 1.75 | 1.85 |
ч | 2 715 | 232 247 | 1.87 | 1.58 | 1.72 |
з | 2 304 | 249 073 | 1.59 | 1.69 | 1.64 |
г | 1 918 | 277 678 | 1.32 | 1.88 | 1.60 |
й | 1 670 | 162 587 | 1.15 | 1.10 | 1.13 |
ж | 1 333 | 158 340 | 0.92 | 1.07 | 1.00 |
ш | 1 217 | 132 427 | 0.84 | 0.90 | 0.87 |
х | 1 137 | 124 087 | 0.78 | 0.84 | 0.81 |
ю | 1 016 | 96 210 | 0.70 | 0.65 | 0.68 |
ё | 963 | 31 004 | 0.66 | 0.21 | 0.44 |
э | 536 | 42 166 | 0.37 | 0.29 | 0.33 |
ц | 412 | 48 070 | 0.28 | 0.33 | 0.30 |
щ | 447 | 42 972 | 0.31 | 0.29 | 0.30 |
ф | 191 | 23 084 | 0.13 | 0.16 | 0.14 |
ъ | 75 | 5 118 | 0.05 | 0.03 | 0.04 |
Ранжировка букв по частоте отличается для разных частей корпуса. Поэтому итоговое значение частоты определяется как среднее значение частот частей корпуса, либо как произведение частот на коэффициенты приоритетности той или иной части корпуса.
Частотность букв клавиатуры ЙЦУКЕН. Размер круга соответствует частоте буквы. Оранжевыми кругами обозначены гласные буквы, синими — согласные.
Аналогично формируется таблица частотности биграмм, при этом пробелы и знаки пунктуации заменяются на символ _
. Итого 34^2 биграмм.
Таблица 2. Частотность биграмм
Биграмма | Переписка | Литература | Переписка, % | Литература, % | Итог, % |
---|---|---|---|---|---|
о_ | 6 516 | 1 929 925 | 2.27 | 2.10 | 2.19 |
а_ | 5 880 | 1 499 116 | 2.04 | 1.63 | 1.84 |
и_ | 4 862 | 1 667 232 | 1.69 | 1.82 | 1.75 |
_н | 5 339 | 1 437 617 | 1.86 | 1.57 | 1.71 |
е_ | 4 895 | 1 563 220 | 1.70 | 1.70 | 1.70 |
_с | 4 782 | 1 431 572 | 1.66 | 1.56 | 1.61 |
_п | 4 482 | 1 432 853 | 1.56 | 1.56 | 1.56 |
_в | 3 953 | 1 409 956 | 1.37 | 1.54 | 1.46 |
я_ | 5 010 | 1 034 909 | 1.74 | 1.13 | 1.44 |
то | 4 384 | 1 163 419 | 1.52 | 1.27 | 1.40 |
_о | 3 900 | 963 410 | 1.36 | 1.05 | 1.20 |
на | 3 650 | 907 031 | 1.27 | 0.99 | 1.13 |
_и | 2 944 | 1 034 749 | 1.02 | 1.13 | 1.08 |
ст | 2 799 | 1 015 316 | 0.97 | 1.11 | 1.04 |
но | 2 958 | 882 879 | 1.03 | 0.96 | 1.00 |
по | 2 541 | 771 705 | 0.88 | 0.84 | 0.86 |
ен | 2 306 | 701 486 | 0.80 | 0.76 | 0.78 |
ни | 2 091 | 730 753 | 0.73 | 0.80 | 0.76 |
ра | 2 085 | 659 873 | 0.73 | 0.72 | 0.72 |
ов | 1 781 | 704 492 | 0.62 | 0.77 | 0.69 |
… | … | … | … | … | … |
Подсчитать буквы и биграммы в текстах можно с помощью простой программы на Питоне:
import re
текст = open("текст.txt").read() # открываем текстовый файл
текст = текст.lower() # преобразуем все буквы в строчные
текст = re.sub("[^а-я]", "_", текст) # заменяем все лишние символы (кроме букв от а до я) на символ _
from collections import Counter
wordcount = Counter(текст.split())
for item in wordcount.items(): print("{}\t{}".format(*item))
Определение массива времени нажатий всех клавиш и пар клавиш
Время набора букв на клавиатуре состоит из 3 отрезков:
Время на поиск нужной клавиши. 0 мс для опытного пользователя.
Время на перемещение пальцев к нужной клавише. Около 50 мс на длину одной клавиши.
Время на нажатие и отпускание клавиши. Около 120 мс.
Время на поиск нужной клавиши — когнитивная составляющая процесса набора, зависящая от опытности. При освоении метода слепого набора, время на поиск нужной клавиши равно нулю.
Время на перемещения пальцев
Время на перемещение пальцев — физическая составляющая процесса набора. Сократить время на перемещение пальцев можно, расположив клавиши наиболее частых букв в основной позиции.
Время на перемещение пальцев зависит от удалённости клавиш от основной позиции.
Простой пример оптимизации времени перемещения
Если время на перемещение пальца на одну клавишу составляет 50 миллисекунд, то матрица потерянного при нажатиях времени будет выглядеть следующим образом:
50 50 50 50 70 70 50 50 50 50 70
0 0 0 0 50 50 0 0 0 0 50
50 50 50 50 70 70 50 50 50 50 70
Перемножая значения частотности букв из таблицы 1 в соответствии с матрицей ЙЦУКЕН на матрицу потерянного при перемещениях пальцев времени, получаем среднее значение потерянного при перемещениях времени — 38,8 мс.
Теперь, переставляем буквы в матрице, так чтобы самые частые буквы были в основном ряду например таким образом:
м к д п ё э у я ь ы ф
р т и о л в с е а н й
ч з г б ц щ ж ш х ю ъ
67% нажатий такой клавиатуры приходится на основной ряд (42% у ЙЦУКЕН). Потерянное на перемещения время сокращается на 37% до 24,3 мс.
Технически сократить время на перемещения можно используя клавиатуру с изогнутыми рядами. Дистанция перемещения пальцев уменьшается, отпадает необходимость в этапе размаха при нажатии.
а — плоская клавиатура. Время перемещения пальца 100 миллисекунд; б — изогнутая клавиатура. Время перемещения пальца 10 миллисекунд.
Существуют способы оптимизации времени на перемещения пальцев, путём сокращения количества самих клавиш:
Аккорды. Нажимая одновременно две или три клавиши в основном ряду, можно вводить буквы, символы или команды, не теряя время на перемещения.
Дополнительные слои. Нажимая и удерживая клавишу в основном ряду одним пальцем, можно изменять регистр и вводить другим пальцем буквы, символы или команды из дополнительного регистра. Такой способ в два раза медленнее аккордового, так как клавиши смены регистра и нужного символа нажимаются не одновременно, а последовательно.
Оптимизация расположения букв только с учётом времени на перемещения пальцев позволяет сократить время поочерёдного набора, когда пальцы нажимают клавиши строго по очереди.
Наибольшее же сокращение времени набора достигается за счёт одновременного набора нескольких клавиш несколькими пальцами с минимальным сдвигом фазы нажатия (от 10 до 60 мс), когда следующий палец начинает нажимать клавишу, не дожидаясь момента отпускания предыдущей клавиши.
Графически поочерёдный и одновременный набор можно изобразить в виде графика гармонических колебаний где максимум соответствует полному нажатию клавиши, а минимум полному отпусканию. На примере слова единство
:
Слово, состоящее из 8 букв, клавиши которых нажимаются одним пальцем, физически невозможно набрать быстрее, чем за 1 секунду, но если набирать это слово разными пальцами, то за счёт нахлёста нажатий, можно набрать его менее чем за половину секунды.
Чтобы правильно оценить скорость одновременных нажатий, необходимо провести хронометраж нажатий для каждого пальца и пары пальцев.
Хронометраж нажатий
Для оптимизации времени набора необходимы данные о продолжительности каждого этапа процесса нажатия той или иной клавиши и последовательности клавиш. Для этого мною был проведён хронометраж нажатий.
Основные выводы из анализа хронометража:
Среднее время на нажатие одной и той же клавиши одним пальцем составляет 120 миллисекунд, что соответствует скорости набора 500 знаков в минуту (з/м). Такая значительная скорость достигается благодаря участию в нажатии (размахе) не только пальца, но и руки.
Среднее время на перемещение пальца на расстояние одной клавиши составляет 50 миллисекунд. При наборе нескольких отдалённых друг от друга клавиш одним пальцем скорость набора снижается до 330 з/м.
При наборе двумя пальцами разных рук эффект нахлеста нажатий позволяет увеличить скорость в два раза, до 1000 з/м.
Набор двумя пальцами одной руки медленнее, чем двумя руками, так как при таком наборе невозможно задействовать эффект от размаха всей руки. Скорость 750 з/м.
Правая рука на 10% быстрее левой руки (для правшей).
Мизинец на 10% медленнее остальных пальцев.
Последовательные нажатия одним пальцем приводят к снижению его скорости по логарифмической зависимости.
Фактор усталости пальцев. При частом нажатии пальца, снижается его скорость
Примечания
Полученные значения времени нажатий могут отличатся в зависимости от силы и натренированности пальцев, но соотношения продолжительности этапов нажатий остаются неизменным. То есть можно натренироваться так, что скорость указательных пальцев будет 1500 з/м, но скорость мизинцев все равно будет на 10% меньше указательных.
Не учитываются замедления, связанные с неудобным расположением клавиш, такие как нажатия в нижнем ряду безымянным пальцем с последующим нажатием в верхнем ряду мизинцем. Данные замедления связаны с плохой антропометрической совместимостью клавиатур и полностью устраняются при использовании клавиатур с вертикальным сдвигом рядов для разных пальцев.
Нажатие и отпускание клавиши самый продолжительный этап набора текста (120 миллисекунд). Технически можно сократить время нажатия, используя клавиш с лёгким и коротким ходом. Но наибольшее сокращение времени нажатий обеспечивает максимальная чередуемость рук и пальцев, то есть такое расположение букв, при котором для набора слова каждая клавиша набирается разными руками и пальцами. Кроме упомянутого эффекта нахлеста нажатий, чередуемость способствует снижению усталости и замедления пальцев, которые возникают при последовательных нажатиях одним пальцем.
На основе данных хронометража была получена таблица с затратами времени на все возможные последовательные нажатия.
Таблица 3. Время на нажатия клавиш. (Клавиши обозначены заглавными буквами клавиатуры ЙЦУКЕН)
Клавиши | Время на набор одной клавиши, мс |
---|---|
АА | 135 |
БА | 60 |
АВ | 87,5 |
… | … |
При последовательном наборе одним пальцем клавиши, соответствующей букве а
на клавиатуре ЙЦУКЕН, вторая буква а
, набирается за 135 мс.
При последовательном наборе двумя пальцами разных рук клавиш, соответствующих букве б
и а
, вторая буква, набирается за 60 мс.
При последовательном наборе двумя пальцами одной руки клавиш, соответствующих букве а
и в
, вторая буква, набирается за 87,5 мс.
Сопоставляя частоту биграмм, соответствующих клавишам, можно определить среднее время набора одной буквы всего корпуса текста на клавиатуре.
Таблица 4. Сопоставление массива частотности биграмм и массива значений времени набора клавиш (в фрагменте таблицы представлен пример сопоставления самых частых биграмм с самыми быстрыми клавишами).
Клавиши | Биграммы | Время набора одной буквы, мс | Частота биграммы, % | Произведение времени на частоту |
---|---|---|---|---|
ВР | ни | 63,75 | 0,01164978 | 0,742673443 |
ВЛ | но | 60 | 0,011486013 | 0,68916076 |
АЛ | то | 60 | 0,010503822 | 0,630229293 |
ДВ | ен | 60 | 0,011772962 | 0,706377703 |
ЖА | ст | 65 | 0,012861025 | 0,835966603 |
… | … | … | … | … |
Сумма произведений времени нажатия клавиш на частоту биграмм для клавиатуры это среднее время набора одной буквы.
Для клавиатуры ЙЦУКЕН получается 80,7 мс.
80,7 мс на букву соответствует скорости набора 124 слова в минуту, определённой по зависимости:
где 60000 — коэффициент перевода из миллисекунд в минуты;
Т — среднее время набора одной буквы;
6 — среднее количество букв в слове.
Это предельная скорость набора для текущего уровня физической формы моих пальцев на клавиатуре ЙЦУКЕН, но не предельная для более оптимальной клавиатуры.
Задача оптимизации сводится к минимизации суммы целевого показателя (произведения времени набора и частот биграмм) с помощью перестановки букв между клавишами .
Для этого, необходимо расположить буквы самых частых биграмм на клавишах с минимальным временем нажатия. Например, расположив буквы о
и т
, набираемые на стандартной клавиатуре одним пальцем, можно повысить скорость набора очень частых биграмм от
и то
в 2 раза.
Задача усложняется тем, что существует 33! = 8683317618811886495518194401280000000 вариантов расположения клавиш.
Разделение клавиатуры на две половины
Как было сказано, наибольший прирост скорости набора обеспечивается чередованием рук при наборе.
Скорость нажатия клавиш на разных сторонах клавиатуры (разными руками) в среднем в 1,7 раз быстрее, чем скорость нажатия клавиш на одной стороне (одной рукой) — 65 и 112 миллисекунд, соответственно.
Поэтому на первом шаге оптимизации я расположил буквы на клавиатуре так, чтобы наиболее частые биграммы набирались разными руками.
Можно было просто расположить гласные и согласные на разных половинах, но я пошёл по более сложному пути — провёл двоичный (бинарный) поиск минимума целевого показателя с помощью перестановок букв на первую и вторую половины клавиатуры размерами 15 и 18 клавиш соответственно.
Полученное расположение букв обеспечивает наибольшее чередование рук — 84,3% от всех нажатий (против 68% у стандартной клавиатуры):
первая сторона: а е ё и о с у ф ш ъ ы ь э ю я
вторая сторона: б в г д ж з й к л м н п р т х ц ч щ
Утверждение о том, что гласные чаще всего чередуются с согласными подтверждается.
Из-за большего количества согласных букв в русском алфавите (21 согласных против 10 гласных), на сторону гласных букв попали согласные с ф ш
, чаще других чередующиеся с согласными и реже других с гласными.
После этого необходимо было определиться, какая сторона будет левой, а какая правой.
Обоснование сопоставления сторон клавиатуры с гласными и согласными буквами
В рассматриваемой трёхрядной клавиатуре одной из рук необходимо нажимать на тройку клавиш больше, чем другой (15 против 18). Логично отдать более сложную для набора половину более быстрой руке (правой в моем случае). С первого взгляда кажется, что сложнее сторона с 18 буквами и она должна быть справа, как у стандартной клавиатуры. Однако, сторона с 15 клавишами сложнее по следующим причинам:
На гласную половину с 15 клавишами приходится 51% всех нажатий.
На гласной половине имеются согласные, усложняющие набор из-за отсутствия эффекта чередования рук.
Кроме того, не стоит забывать про мыш, на которую постоянно приходится отвлекаться правой руке. В случае 15 клавиш на правой половине, дистанция преодолеваемая рукой до мыши сокращается на ширину одного столбца клавиш. Также важно отметить, что перспективным направлением развития клавиатур является использование встроенного трекбола, тачпада или оптического сенсора (клаво-мыш) вместо мышки; в этих случаях правая сторона клавиш должна быть компактнее левой.
Дополнительным фактором выбора правой стороны для гласных, а левой для согласных является частое использование мыши совместно с клавиатурой, когда левая рука покоится на клавиатуре, охватывает большое количество клавиш (18) и нажимает командные комбинации, большая часть которых состоит из согласных букв.
Подбор расположения клавиш для правой и левой половины
Определившись с тем, на какой стороне должны быть те или иные буквы, перебор кратно сократился.
Наиболее быстрые нажатия производятся из основной позиции, поэтому я расположил наиболее частые буквы выбранных половин таким образом:
- - - - - - | - - - - -
- в л н т - | - а е о с
- - - - - - | - - - - -
Дополнил столбец правого мизинца согласными
ф
иш
, реже всего чередующимися с гласными и с буквойс
.Заполнил крайний левый столбец самыми редкими согласными буквами
щ
ч
ж
. Не менее редкие буквыц
х
я поставил ближе к центру, так как использую фонетическое сопоставление с английскими буквами в английском алфавитном режиме.
щ ц - - - - | - - - - ф
ч в л н т - | - а е о с
ж х - - - - | - - - - ш
Таким образом для левой половины перебор сокращается до 9! перестановок, а для правой половины всего до 8! перестановок.
Далее я сделал полный перебор для левой и правой половины. По лучшему найденному варианту минимальное среднее время набора составило 67,65 мс:
щ ц р п б й | ъ э у я ф
ч в л н т д | и, а е о с
ж х з к м г | ё ы ь ю ш
Такое расположение обеспечивает 66% нажатий на основном ряду и довольно равномерный баланс между пальцами.
Однако, я решил убедится, в том, что буквы основного ряда на шаге 1 были выбраны верно.
Произвёл переборы заменой букв основного ряда на чуть менее частые соседние буквы и нашёл вариант с ещё меньшим средним временем набора 67,52 мс (на 0,13% быстрее предыдущего варианта). Баланс нажатий сдвинулся к центру клавиатуры.
щ ц к л б й | ъ ы я э ф
ч з в н т д | и, а е о с
ж х п р м г | ё ь у ю ш
Среднее время набора 67,52 мс на букву соответствует скорости 148 слов в минуту.
Частотность букв оптимизированной клавиатуры
Полученной клавиатурой я пользуюсь более года, переучился на неё за два месяца. При переходе на стандартное расположение клавиш я ощущаю явное замедление из-за необходимости набора нескольких последовательных букв одним пальцем.
Может показаться, что ъ
и ё
занимают слишком хорошие позиции, но на деле они разгружают самый нагруженный правый указательный палец. Если есть потребность в отдельных клавишах для точки и запятой, то лучше расположить их вместо букв ъ
и ё
. Для ввода точки и запятой я использую аккорды тн
и ае
. Благодаря малой чередуемости букв на каждой из полученных половин, не происходит ложных срабатываний аккордов.
Оценка оптимизации
Все статьи про оптимизации клавиатур неизменно сопровождаются вопросами, «зачем это нужно?» и «какая от этого выгода?».
Используя время как целевой показатель оптимизации, на эти вопросы можно дать точный ответ.
При среднем времени набора буквы для стандартной клавиатуры ЙЦУКЕН 80,7 мс, переход на оптимальную клавиатуру со средним временем набора буквы 67,5 мс позволяет на 16% сократить время набора всех текстов.
В зависимости от объёма набираемого за день текста можно определить сэкономленное за год активного использования клавиатуры время:
Активность набора, слов в сут | Время набора для стандартной, суток за год | Время набора для стандартной, суток за год | Экономия, суток за год |
100 | 0,17 | 0,20 | 0,03 |
1000 | 1,71 | 2,05 | 0,33 |
10000 | 17,12 | 20,46 | 3,34 |
То есть при активном использовании клавиатуры (1000 слов или две страницы за сутки) за год экономится 8 часов только за счёт оптимального расположения букв.
Выводы
Повсеместно используемая стандартная клавиатура ЙЦУКЕН, разработанная 130 лет назад в США, не оптимальна для быстрого набора и изначально не предназначена для слепого 10 пальцевого набора.
Оптимальная клавиатура позволяет получить 16% прирост в скорости набора и сэкономить 10 суток жизни за 30 лет активного использования клавиатуры (1000 слов в сутки) по сравнению со стандартной клавиатурой.
Автор: Илья Леонов