SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor

Colemak Mod-DH или стандартный Colemak: что выбрать

Узнайте, чем отличается раскладка Colemak Mod-DH от стандартной версии. Разберем эргономику перемещения клавиш D и H и приведем пошаговую инструкцию по настройке в Linux.

Что меняет Colemak Mod-DH

Colemak Mod-DH — это стандартная раскладка Colemak, в которой перемещены шесть букв. D и H смещаются из двух центральных столбцов вниз, под указательные пальцы, а G, B, V и M занимают освободившиеся места. Все остальные клавиши, включая основной ряд, который вы изучаете в первую очередь, остаются на тех же позициях, что и в стандартном Colemak.

Название варианта отражает суть изменений. В стандартном Colemak клавиша D находится на месте клавиши G, а H — на месте клавиши H. Эти две клавиши образуют центральные столбцы клавиатуры. Чтобы дотянуться до них указательным пальцем, приходится смещать всю кисть в сторону. Проект Mod-DH определил это как слабое место в остальном удачной раскладки и переместил обе буквы на один ряд ниже.

Если вы только учите раскладку, выбирайте Mod-DH и не тратьте время на сравнения. Если вы уже печатаете на стандартном Colemak, не задумываясь, будьте готовы к нескольким неделям снижения скорости. Взамен вы получите комфорт, который не покажет ни один тест скорости печати. В этом руководстве сначала описаны сами изменения, а затем — настройка в Linux: как называется нужный вариант и что делать, если его нет в вашей системе.

Две раскладки в сравнении

Стандартная раскладка Colemak, только буквы:

q w f p g   j l u y ;
a r s t d   h n e i o
z x c v b   k m , . /

Раскладка Colemak Mod-DH, только буквы:

q w f p b   j l u y ;
a r s t g   m n e i o
z x c d v   k h , . /

Различаются шесть букв. Эту схему проще представить как четыре перемещения для левой руки и одну перестановку для правой. Слева: D опускается с основного ряда на нижний, G опускается с верхнего ряда в центральный столбец, который освободила D, B перемещается вверх в верхний ряд на место G, а V сдвигается на одну клавишу вправо на место B. Справа: H и M меняются местами, в результате чего H оказывается под указательным пальцем, а M — в центральном столбце.

Воспринимайте эти диаграммы как десять столбцов в ряду, что соответствует устройству матричной (ортолинейной) клавиатуры. На обычной клавиатуре со смещенными рядами для нижнего левого угла в Mod-DH предусмотрен альтернативный вариант, который описан ниже.

Почему D является такой проблемой в стандартной раскладке Colemak?

Ваши указательные пальцы покоятся на двух клавишах основного ряда: клавише с маркировкой F слева, которая в обеих раскладках печатает T, и клавише с маркировкой J справа, которая в обеих раскладках печатает N. Каждый указательный палец также отвечает за столбец рядом с ним — клавиши с маркировкой G и H. Ни одна рука не может охватить оба столбца без перемещения, так как длины пальца недостаточно. Поэтому рука смещается в сторону, а остальные три пальца при этом покидают свои позиции в основном ряду. Это боковое движение является самым затратным действием при слепом методе печати, и именно для его устранения существует Mod-DH.

В стандартной раскладке Colemak клавиша D находится на месте клавиши с маркировкой G, а клавиша H — на месте клавиши с маркировкой H, поэтому обе центральные клавиши содержат часто используемые буквы. В Mod-DH клавиша D перенесена на место клавиши с маркировкой V, а H — на место клавиши с маркировкой M, согласно схеме выше. Каждая из этих клавиш расположена примерно на полширины клавиши правее основного положения указательного пальца на клавиатуре со смещенными рядами, поэтому палец просто подгибается вниз в пределах своего столбца, а рука остается на месте. Буквы, которые занимают освободившиеся центральные столбцы — это G слева и M справа.

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

ChartTypical published English letter frequency, for the six letters Mod-DH moves
The data behind this chart
[
  {
    "label": "H",
    "frequency_pct": 6.1
  },
  {
    "label": "D",
    "frequency_pct": 4.3
  },
  {
    "label": "M",
    "frequency_pct": 2.4
  },
  {
    "label": "G",
    "frequency_pct": 2.0
  },
  {
    "label": "B",
    "frequency_pct": 1.5
  },
  {
    "label": "V",
    "frequency_pct": 1.0
  }
]

Это типичные опубликованные показатели для обычного английского текста, которые могут незначительно меняться в зависимости от используемого корпуса текстов. Рейтинг остается стабильным. H составляет 6.1 процентов от всех вводимых букв, D — 4.3 процентов, в то время как M — 2.4 процентов, G — 2.0 процентов, а V — 1.0 процентов. Mod-DH не устраняет боковое движение полностью. Он переносит это движение на редкие буквы вместо частых, и для этого требуется 6 перемещений клавиш.

Что остается неизменным?

  • Домашние клавиши A R S T слева и N E I O справа остаются на своих местах. На эти восемь клавиш приходится основная нагрузка при наборе текста, и именно их вы освоили в первую очередь при переходе на Colemak.
  • Верхний ряд идентичен за одним исключением: Q W F P слева и J L U Y с точкой с запятой справа.
  • Клавиши пунктуации в правой части не меняют своего положения.
  • Цифровой ряд и клавиши-модификаторы остаются нетронутыми.
  • Игры, использующие WASD, работают одинаково в обеих раскладках, так как эти четыре физические клавиши соответствуют одним и тем же буквам в каждой из них.

Одна вещь не сохраняется при переходе. Стандартный Colemak оставляет Z, X, C и V на тех же местах, что и в QWERTY, поэтому сочетания Ctrl+Z, Ctrl+X, Ctrl+C и Ctrl+V остаются под теми же пальцами, которыми вы пользовались с момента начала работы за компьютером. Mod-DH требует использования нижнего левого ряда для клавиши D, поэтому эту группу клавиш приходится смещать.

Существует два варианта расположения этого угла, и приведенная выше схема — лишь один из них. Простой вариант оставляет Z, X и C на клавишах с соответствующей маркировкой, а V сдвигает на одну клавишу вправо, на место клавиши B. Angle mod, напротив, сдвигает всю группу на одну клавишу влево, чтобы левый указательный палец нажимал D, не совершая движения вниз и вправо. На клавиатурах стандарта ISO есть дополнительная клавиша между левым Shift и Z, которую и использует angle mod. На клавиатурах ANSI такой клавиши нет, поэтому в версии ANSI приходится перемещать Z, что вполне допустимо, так как Z — самая редкая буква в английском языке.

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

Стоит ли переходить со стандартной раскладки Colemak?

  • Вы всё ещё учитесь или до сих пор используете QWERTY: выбирайте Mod-DH. Она не сложнее в освоении, чем стандартная Colemak, и вам больше не придётся возвращаться к этому вопросу. Если вы ещё не определились с выбором Colemak, это другой вопрос, и сравнение Colemak с Dvorak и QWERTY поможет вам принять решение.
  • Вы свободно печатаете на стандартной Colemak: прирост эффективности будет реальным, но незначительным, а затраты времени составят несколько недель. Шести переставленных клавиш достаточно, чтобы нарушить автоматизм печати, а две самые важные из них приходятся на указательные пальцы, которые задействованы в огромном количестве английских слов. Те, кто совершил переход, описывают несколько дней мучительно медленной печати и несколько недель до возвращения к прежней скорости.
  • У вас уже есть программируемая клавиатура: это самый простой случай. Изменение требует лишь одной перепрошивки, а откат — другой. Попробуйте поработать месяц и оставьте тот вариант, который вам больше нравится.
  • Вы большую часть дня печатаете на другом языке: приведённые выше показатели частотности относятся к английскому языку. Проверьте статистику для своего языка, прежде чем принимать аргументы, так как буквы D, H, G и M имеют разный вес в разных языках.
  • У вас болят руки: раскладка — это лишь один из факторов наряду с высотой стола, стулом, типом клавиатуры и количеством часов, проведённых за работой. Не стоит ожидать, что перестановка букв решит проблему, вызванную остальными элементами вашего рабочего места.

Как включить раскладку Colemak Mod-DH в Linux?

Узнайте, какие раскладки уже доступны в вашей системе. По состоянию на август 2026 года варианты Mod-DH входят в состав xkeyboard-config — базы данных клавиатур, которую использует каждый дистрибутив Linux с графическим интерфейсом.

localectl list-x11-keymap-variants us | grep colemak

Актуальная система выведет список colemak вместе с записями Mod-DH. colemak_dh — это версия для ANSI, colemak_dh_iso — для ISO, colemak_dh_ortho предназначена для матричных клавиатур, а colemak_dh_wide и colemak_dh_wide_iso — это широкие (wide) версии, которые сдвигают правую руку на один столбец наружу. Раскладка для Великобритании также содержит вариант Mod-DH, поэтому выполните ту же команду для gb, если используете британскую клавиатуру. Если grep ничего не выводит, значит, ваша версия xkeyboard-config устарела и не содержит этих вариантов; в таком случае переходите к следующему разделу.

Протестируйте раскладку в сеансе X перед тем, как вносить постоянные изменения.

setxkbmap -layout us -variant colemak_dh
setxkbmap -query

setxkbmap -query выводит текущую раскладку и вариант, что позволяет убедиться в применении настроек. Наберите несколько предложений, а затем вернитесь к прежним настройкам с помощью setxkbmap -layout us. Если вариант отсутствует в системе, команда завершится с ошибкой Error loading new keyboard description, а раскладка останется прежней.

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

Что делать, если в системе нет варианта colemak_dh?

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

Пользовательский вариант xkb. Вы записываете определения клавиш в файл символов и регистрируете вариант, после чего используете его по имени, как и штатный. Это тот же механизм, поэтому он работает идентично и охватывает как сессии X11, так и Wayland. Минус — необходимость поддержки: файл, который вы редактируете в /usr/share/X11/xkb, принадлежит пакету xkeyboard-config, поэтому обновление может заменить его, и вам придется устанавливать его заново на каждой машине.

Ремаппер в пространстве пользователя. keyd считывает нажатия клавиш через evdev (уровень ввода ядра) и записывает переназначенные клавиши обратно через uinput (устройство ввода ядра). Подмена происходит до того, как графический сервер увидит клавишу, поэтому один файл охватывает сессию X, сессию Wayland и обычную текстовую консоль. Конфигурация размещается в /etc/keyd/default.conf:

[ids]
*

[main]
e = f
r = p
t = b
y = j
u = l
i = u
o = y
s = r
d = s
f = t
h = m
j = n
k = e
l = i
v = d
b = v
n = k
m = h

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

sudo systemctl enable --now keyd
sudo keyd reload
keyd monitor

keyd monitor выводит каждую клавишу в том виде, в котором её видит keyd; это помогает обнаружить двойное переназначение. Верните системную раскладку к стандартной US QWERTY перед включением keyd, так как вывод keyd всё равно интерпретируется текущей раскладкой, а два последовательных переназначения приведут к тому, что буквы не будут соответствовать ни одной раскладке.

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

qmk setup
qmk list-keyboards
qmk compile -kb planck/rev6 -km default
qmk flash -kb planck/rev6 -km default

Имена клавиатуры и раскладки выше приведены для примера. Замените planck/rev6 на то, что выводит qmk list-keyboards для вашей платы, а default — на имя каталога с раскладкой Mod-DH.

Vial и VIA делают то же самое через графический редактор по USB, если прошивка вашей платы их поддерживает, что позволяет перемещать клавиши без использования компилятора.

Какой метод работает в текстовой консоли?

Только прошивка клавиатуры следует за вами повсюду. Вариант xkb привязан к одному сеансу на одной машине. keyd привязан к одной машине и требует на ней прав root. Клавиатура принадлежит вам: подключите её к rescue shell, экрану настройки UEFI, свежеустановленной системе или последовательной консоли, и она будет печатать в Mod-DH, так как принимающей стороне не нужно ничего знать о раскладке.

Для удалённой работы это имеет меньшее значение, чем принято считать, но для локальных консолей это важно. При подключении по SSH к VPS сервер вообще не видит вашу раскладку: терминал преобразует нажатия клавиш в символы и отправляет уже их, поэтому раскладка удалённой машины не имеет значения. Проблема возникает в консоли, перед которой вы сидите, например, в rescue shell после неудачной загрузки или на постоянном рабочем месте, которое вы держите на отдельном TTY. Виртуальная консоль Linux имеет собственную систему раскладок, отдельную от xkb, и настройки графического окружения на неё не влияют.

В Debian и Ubuntu раскладка консоли генерируется из данных xkb с помощью ckbcomp, поэтому консоль может использовать то же имя варианта:

ckbcomp us colemak_dh | sudo loadkeys -

Эти настройки действуют до следующей перезагрузки. Чтобы сохранить их, установите XKBLAYOUT и XKBVARIANT в /etc/default/keyboard и выполните sudo setupcon. В дистрибутивах без console-setup вы ограничены раскладками, которые поставляются вместе с kbd, а они в основном QWERTY: проверьте список с помощью localectl list-keymaps | grep -i colemak, прежде чем предполагать наличие раскладки Colemak-DH. Там, где её нет, keyd является более коротким путём, так как один файл охватывает и консоль, и графический сеанс одновременно.

Что перестает работать после переключения?

Два уровня переназначения. Если прошить клавиатуру раскладкой Mod-DH, а в системе выбрать colemak_dh, вы не получите ни одну из них, так как раскладки наложатся друг на друга. При нажатии клавиши с маркировкой S клавиатура отправит код R, а системная раскладка интерпретирует его как клавишу R и напечатает P. Выполняйте переназначение только на одном уровне.

Неверный нижний ряд для вашей клавиатуры. Выбор colemak_dh для ISO-клавиатуры или colemak_dh_iso для ANSI приводит к смещению букв в левом нижнем углу. Сразу после переключения нажмите клавишу с маркировкой Z, так как именно в этом углу раскладки различаются.

Экран входа в систему. GDM и SDDM используют собственные настройки клавиатуры, поэтому при вводе пароля раскладка может оставаться QWERTY, даже если в сеансе она уже изменена. Использование keyd или прошивки клавиатуры решает эту проблему, так как они применяются до запуска графического интерфейса.

Caps Lock. Стандартная раскладка Colemak также превращает Caps Lock в Backspace, но не все реализации поддерживают это поведение. Проверьте эту клавишу сразу после переключения. Обнаружить это в середине предложения будет неприятно.

Скорость печати на первое время. Будьте готовы к тому, что в первые два дня скорость упадет настолько, что возникнет желание вернуться к прежней раскладке. Это нормально и происходит со всеми, кто меняет раскладку.

FAQ

Стоит ли переходить на Colemak Mod-DH, если я уже печатаю на стандартном Colemak?

Если навык печати уже доведен до автоматизма, честный ответ — как правило, нет. Меняются шесть букв, две из которых часто используются указательными пальцами, и этого достаточно, чтобы разрушить рефлекс, на формирование которого ушли месяцы. Те, кто перешел, описывают несколько дней очень медленной печати и несколько недель до возвращения к прежней скорости. Выигрыш заключается в комфорте, а не в скорости: для D и H больше не требуется движение кистью в сторону. Переходите, если у вас устают указательные пальцы или если у вас программируемая клавиатура, где откат изменений занимает одну прошивку.

Ломает ли Colemak Mod-DH сочетания Ctrl+Z, Ctrl+X, Ctrl+C и Ctrl+V?

Он ломает часть этого кластера, а стандартный Colemak — нет. Стандартный Colemak оставляет Z, X, C и V на их QWERTY-позициях, поэтому все четыре сочетания остаются там, где их ожидает рука. Mod-DH требует нижний левый ряд для D, поэтому что-то должно переместиться. В обычном варианте Z, X и C остаются на месте, а V сдвигается на одну клавишу вправо. В варианте angle mod группа сдвигается на одну клавишу влево, а Z перемещается. Нажмите клавишу с маркировкой Z после переключения, чтобы увидеть, какой вариант поставляется в вашей реализации.

Как проверить, есть ли в моей системе Linux вариант colemak_dh?

Выполните localectl list-x11-keymap-variants us | grep colemak. Все, что там перечислено, можно выбрать по имени. Протестируйте его в сеансе X с помощью setxkbmap -layout us -variant colemak_dh и подтвердите выбор командой setxkbmap -query. Если вариант отсутствует, setxkbmap выведет Error loading new keyboard description, и раскладка не изменится. В этом случае у вас есть варианты: пользовательский xkb-вариант, переназначение через keyd или прошивка клавиатуры.

Работает ли Colemak Mod-DH в текстовой консоли Linux?

Сам по себе — нет. Виртуальная консоль имеет собственную раскладку, загружаемую через loadkeys, и она не считывает настройки xkb вашего рабочего стола. В Debian и Ubuntu ckbcomp us colemak_dh | sudo loadkeys - преобразует xkb-вариант в консольную раскладку для текущей сессии, а установка XKBVARIANT в /etc/default/keyboard с последующим sudo setupcon сохранит настройки после перезагрузки. keyd работает в консоли любого дистрибутива, так как переназначает клавиши на уровне ввода ядра. Прошивка также работает везде и не требует установки какого-либо ПО на машину.

Какой вариант Mod-DH выбрать для моей клавиатуры?

Подбирайте его под физическую раскладку. colemak_dh предназначен для клавиатур ANSI — тех, у которых широкая плоская клавиша Enter и длинный левый Shift. colemak_dh_iso предназначен для клавиатур ISO, у которых высокий Enter и дополнительная клавиша между левым Shift и Z. colemak_dh_ortho предназначен для матричных клавиатур с прямыми столбцами. Широкие варианты (wide) сдвигают правую руку на один столбец наружу и имеют смысл только в том случае, если вы решили, что вам это нужно. Если буквы в левом нижнем углу печатаются неверно, вы выбрали не тот вариант.

#colemak#keyboard-layouts#ergonomics#linux-desktop#xkb