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

Colemak и русская раскладка: что делать с кириллицей

Colemak меняет только латиницу. Разбираем, что делать с кириллицей: ЙЦУКЕН, Rulemak или Диктор, почему Caps Lock мешает переключению и как всё настроить в Linux и Windows.

Colemak и русская раскладка: как они уживаются

Colemak и русская раскладка не мешают друг другу: Colemak переставляет только латинские буквы, а кириллица остаётся такой, какую вы выбрали отдельно. Поэтому вопрос «как печатать по-русски на Colemak» на самом деле звучит иначе. Какую русскую раскладку поставить рядом с Colemak? Реальных вариантов три: оставить привычный ЙЦУКЕН, поставить Rulemak с той же логикой, что у Colemak, или переучиться на Диктор, сделанный специально для русского языка.

Ниже разобраны все три пути. Потом идёт практика: где эти раскладки лежат в Linux и Windows, почему Caps Lock может конфликтовать с клавишей переключения и как настроить пару «Colemak плюс русская» так, чтобы она пережила перезагрузку.

Если Colemak у вас ещё не установлен, начните с установки раскладки Colemak в Linux, а потом возвращайтесь сюда.

Почему Colemak не трогает кириллицу

В Linux раскладки описывает пакет xkeyboard-config, а работает с ними XKB (X Keyboard Extension, расширение клавиатуры X) и его современная библиотека libxkbcommon. Colemak там называется us(colemak). Это вариант английской раскладки us, и в нём описаны только латинские символы. Русская раскладка ru описана в другом файле и живёт в другой группе. Система держит обе группы в памяти и переключает их по клавише, которую вы выберете.

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

Отсюда главное следствие. Стандартная русская раскладка ЙЦУКЕН привязана к физическим клавишам QWERTY, а не к Colemak. Возьмём правый средний палец в основной позиции. В Colemak он печатает букву E. Переключитесь на русский, и та же клавиша под тем же пальцем даст Л, потому что в ЙЦУКЕН буква Л стоит на месте QWERTY-клавиши K. Colemak переставил латиницу, а кириллица осталась на старых местах.

Вариант 1: оставить ЙЦУКЕН рядом с Colemak

Это путь по умолчанию. Вы ничего не устанавливаете для русского языка: раскладка ru есть в любом дистрибутиве, а клавиатура «Русская» есть в любой Windows.

Цена понятна заранее. Одни и те же клавиши теперь значат разное в двух схемах: латинская часть работает по Colemak, русская по ЙЦУКЕН. Пальцы должны помнить обе схемы и выбирать нужную по тому, какой алфавит сейчас активен.

Этот вариант подходит, если:

  • вы уже печатаете вслепую на ЙЦУКЕН и не хотите терять эту скорость;
  • вы часто работаете за чужими компьютерами, где есть только стандартные раскладки;
  • по-русски вы пишете много, и переучивание кириллицы обойдётся слишком дорого.

Вариант 2: Rulemak, кириллица в форме Colemak

Rulemak придумал участник форума Colemak под ником ghen (Geert Hendrickx). Обсуждение и исходные файлы лежат в теме на форуме Colemak. Идея простая: русские буквы стоят на тех клавишах, где в Colemak стоят похожие по звучанию латинские. Поэтому в xkeyboard-config раскладка описана как «Russian (Rulemak, phonetic Colemak)», то есть фонетическая раскладка на основе Colemak.

Автор прямо пишет, для кого она. Его мысль в пересказе: для печати по-русски раскладка, скорее всего, далека от оптимальной, зато её легко запомнить тому, кто уже печатает на Colemak. Это честное описание. Rulemak сделан для тех, кто пишет по-русски время от времени, а главное для них Colemak.

Что важно знать о Rulemak:

  • в Linux это вариант ru(rulemak), он входит в xkeyboard-config, и мы нашли его и в Debian 12, и в последних версиях пакета;
  • в описание раскладки включена строка include "capslock(backspace)", поэтому Caps Lock в ней работает как Backspace, так же, как в обычном Colemak;
  • для Windows автор выкладывал версию для PKL (Portable Keyboard Layout, переносимая программа раскладок), а встроенного Rulemak в Windows нет; актуальность файлов проверяйте в той же теме форума.

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

Вариант 3: Диктор, раскладка для русского языка

Диктор (Diktor) решает другую задачу. В xkeyboard-config его описывает такой комментарий: эргономичная альтернатива ЙЦУКЕН, которая переносит на русский язык принципы раскладки Дворака. Диктор оптимизирован для частот русских букв, а не для сходства с Colemak.

Это значит, что знание Colemak вам здесь не поможет. Вы учите вторую раскладку с нуля, отдельно от первой. Если вы только что пережили переход на Colemak, Диктор означает второе такое же переучивание, теперь для кириллицы.

Где Диктор есть, а где нет:

  • в Linux это вариант ru(diktor) с описанием «Russian (Diktor)»;
  • он появился в xkeyboard-config после версии 2.42, поэтому в Debian 13 (пакет 2.42) и Ubuntu 24.04 (пакет xkb-data 2.41) его нет, а в версии 2.47 он уже есть;
  • в Caps Lock Диктор не вмешивается, клавиша остаётся Caps Lock;
  • живого официального сайта раскладки и проверенной сборки для Windows мы не нашли, поэтому ссылку на установщик не даём.

Проверить, есть ли Диктор и Rulemak в вашей системе, можно одной командой:

grep -n 'xkb_symbols "rulemak"\|xkb_symbols "diktor"' /usr/share/X11/xkb/symbols/ru

Каждая найденная строка означает, что раскладка установлена. Если в выводе нет строки с diktor, ваша версия xkeyboard-config для Диктора слишком старая.

Какую русскую раскладку выбрать при Colemak

Решение зависит от того, сколько вы пишете по-русски и сколько времени готовы потратить на обучение. Сколько уходит на сам Colemak, разобрано в статье сколько времени нужно, чтобы выучить Colemak. Ориентиры такие:

  • Много пишете по-русски и уже печатаете вслепую на ЙЦУКЕН. Оставьте ЙЦУКЕН. Скорость в русском дороже единой логики.
  • По-русски пишете редко, а Colemak основной. Rulemak даст одну схему для обоих алфавитов, и учить почти нечего.
  • Русский основной язык, и вы готовы учиться заново. Диктор, но только если ваш дистрибутив его уже содержит.
  • Ещё не выбрали латинскую раскладку. Сначала посмотрите сравнение Colemak, Dvorak и QWERTY: от этого выбора зависит и то, что делать с кириллицей.

Caps Lock: Backspace или переключение раскладки

Здесь чаще всего возникает конфликт. Многие русскоязычные пользователи переключают раскладку клавишей Caps Lock. В XKB это опция grp:caps_toggle. Но обычный Colemak занимает ту же клавишу. В файле /usr/share/X11/xkb/symbols/us вариант colemak заканчивается строкой:

key <CAPS> { [ BackSpace ] };

Это значит, что Caps Lock в Colemak превращается во второй Backspace. Если одновременно включить grp:caps_toggle, одна физическая клавиша получает две задачи. Не надейтесь угадать, какая победит, и не включайте их вместе. Выберите для переключения другую клавишу:

  • grp:alt_shift_toggle для Alt+Shift, как в Windows по умолчанию;
  • grp:win_space_toggle для Win+Space;
  • grp:ctrl_shift_toggle для Ctrl+Shift.

С Colemak-DH ситуация другая. Вариант us(colemak_dh) в xkeyboard-config не переназначает Caps Lock, клавиша остаётся Caps Lock. Подробнее о самом варианте читайте в разборе Colemak Mod-DH. Если вы на DH и хотите Backspace на Caps Lock, добавьте опцию caps:backspace. Если хотите переключать раскладку по Caps Lock, используйте grp:caps_toggle. Оба желания сразу на одной клавише не исполнить.

Посмотреть, что получится из вашей комбинации, можно до того, как вы её включите. Команда xkbcli из пакета libxkbcommon-tools собирает раскладку той же библиотекой libxkbcommon, которой пользуется сеанс Wayland:

sudo apt install -y libxkbcommon-tools
xkbcli compile-keymap --layout us,ru --variant colemak,rulemak --options grp:alt_shift_toggle | grep -A4 'key <CAPS>'

В выводе должно быть слово BackSpace. Если вместо него вы видите Caps_Lock, значит, в вашей комбинации Caps Lock остался Caps Lock. Замените rulemak на пустое значение (--variant colemak,), чтобы проверить пару с обычным ЙЦУКЕН.

Настройка в Linux

Сеанс X11: setxkbmap

setxkbmap меняет раскладку текущего сеанса X11 сразу и до выхода из системы. Сначала сбросьте старые опции, иначе новые добавятся к ним:

setxkbmap -option ''
setxkbmap -layout us,ru -variant colemak, -option grp:alt_shift_toggle
setxkbmap -query

Запятая после colemak важна: она означает «для второй раскладки вариант по умолчанию», то есть ЙЦУКЕН. Для Rulemak напишите -variant colemak,rulemak. setxkbmap -query должен показать layout: us,ru и ваши варианты и опции. В сеансе Wayland эта команда влияет только на программы, работающие через XWayland, поэтому там используйте настройки GNOME или KDE.

Системная настройка: localectl

localectl записывает раскладку на уровне системы. Её читают экран входа и сеансы, у которых нет собственных настроек раскладки:

sudo localectl set-x11-keymap us,ru pc105 colemak,rulemak grp:alt_shift_toggle
localectl status

Порядок аргументов строгий: раскладки, модель клавиатуры, варианты, опции. В выводе localectl status проверьте строки X11 Layout, X11 Variant и X11 Options. Настройки пользователя в GNOME и KDE имеют приоритет над этой.

GNOME

GNOME хранит раскладки в своих настройках. Rulemak и Диктор описаны в файле дополнительных раскладок xkeyboard-config, а GNOME по умолчанию их не показывает. Первая команда ниже открывает полный список:

gsettings set org.gnome.desktop.input-sources show-all-sources true
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+colemak'), ('xkb', 'ru+rulemak')]"
gsettings get org.gnome.desktop.input-sources sources

Для ЙЦУКЕН вместо 'ru+rulemak' укажите 'ru'. После первой команды Rulemak появится и в графическом окне «Параметры → Клавиатура → Источники ввода».

GNOME переключает источники ввода своим сочетанием клавиш, по умолчанию это Super+Space. Сменить его можно в «Параметры → Клавиатура → Комбинации клавиш». Опции grp: здесь не нужны. Чтобы на Colemak-DH получить Backspace на Caps Lock, добавьте опцию XKB:

gsettings set org.gnome.desktop.input-sources xkb-options "['caps:backspace']"

KDE Plasma

В KDE раскладки настраиваются в «Параметры системы → Клавиатура → Раскладки». Включите собственные раскладки, добавьте английскую с вариантом Colemak и русскую с нужным вариантом. Сочетание для переключения задаётся там же, а опции XKB, включая grp: и caps:, лежат на вкладке дополнительных параметров.

KDE сохраняет результат в файле ~/.config/kxkbrc. Полезно знать, как выглядит рабочая настройка, чтобы перенести её на другой компьютер:

[Layout]
LayoutList=us,ru
VariantList=colemak,rulemak
Options=grp:alt_shift_toggle
ResetOldOptions=true
Use=true

Если вы правите файл руками, выйдите из сеанса и войдите снова, чтобы KDE его перечитал.

Настройка в Windows

Colemak для Windows скачивается с официального сайта Colemak: распакуйте архив и запустите setup.exe. Раскладка появится как клавиатура для английского языка. Сайт отдельно предупреждает, что эта версия не переназначает Caps Lock на Backspace. Для этого там предлагают либо отдельную сборку, либо правку реестра.

Правка реестра (ключ Scancode Map) работает на уровне драйвера клавиатуры, до выбора раскладки. Поэтому Caps Lock станет Backspace во всех раскладках сразу, включая русскую. Если переключать язык по Caps Lock для вас привычно, не делайте эту правку.

Русская раскладка ЙЦУКЕН встроена в Windows. В Windows 11 добавьте её так: «Параметры → Время и язык → Язык и регион», затем добавьте русский язык или, если он уже есть, откройте его параметры и добавьте клавиатуру «Русская».

Переключаться можно сочетанием Win+Space. Классическое Alt+Shift настраивается в «Параметры → Время и язык → Ввод → Дополнительные параметры клавиатуры → Сочетания клавиш для языков ввода». Rulemak в Windows ставится только сторонней программой PKL, о которой шла речь в разделе про Rulemak, а для Диктора проверенной сборки мы не нашли.

Ctrl+C и Ctrl+V при русской раскладке: проверьте у себя

Colemak оставляет Z, X, C и V на тех же местах, что и QWERTY, поэтому Ctrl+Z, Ctrl+X, Ctrl+C и Ctrl+V нажимаются теми же пальцами. Как работают сочетания клавиш, когда активна кириллица, зависит от системы, графического окружения и конкретной программы. Мы не обещаем одинакового поведения везде. Проверьте сами за пять минут:

  1. Включите русскую раскладку.
  2. Откройте текстовый редактор, браузер и терминал.
  3. В каждом выделите текст, нажмите Ctrl+C, затем Ctrl+V в другом месте.
  4. Проверьте сочетание с буквой, которая в Colemak стоит не там, где в QWERTY, например Ctrl+S. Нажмите клавишу, где S стоит в Colemak, затем клавишу, где S стоит в QWERTY, и запишите, какая из них сохранила файл.
  5. Повторите всё с английской раскладкой и сравните.

Если результат отличается от программы к программе, это не ошибка вашей настройки. Разные программы по-разному решают, по какой раскладке читать сочетание. С Rulemak проверку стоит повторить отдельно, потому что кириллические буквы там стоят на других клавишах, чем в ЙЦУКЕН.

FAQ

Меняет ли Colemak русскую раскладку?

Нет. Colemak описывает только латинские буквы: в Linux это вариант us(colemak), в Windows отдельная клавиатура для английского языка. Русская раскладка подключается отдельно и остаётся такой, какую вы выбрали: стандартный ЙЦУКЕН, Rulemak или Диктор. Поэтому после перехода на Colemak кириллические буквы стоят на прежних физических клавишах QWERTY.

Можно ли переключать раскладку клавишей Caps Lock, если стоит Colemak?

В обычном Colemak для Linux Caps Lock уже занят: вариант us(colemak) назначает ему Backspace строкой key <CAPS> { [ BackSpace ] };. Опция grp:caps_toggle претендует на ту же клавишу, поэтому выберите для переключения другое сочетание, например grp:alt_shift_toggle (Alt+Shift) или grp:win_space_toggle (Win+Space). Вариант us(colemak_dh) Caps Lock не трогает, и с ним grp:caps_toggle работает без конфликта.

Чем Rulemak отличается от Диктора?

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

Почему в Ubuntu 24.04 нет раскладки Диктор?

Диктор добавлен в xkeyboard-config после версии 2.42, а в Ubuntu 24.04 стоит пакет xkb-data версии 2.41. Проверьте свою систему командой grep -n 'xkb_symbols "diktor"' /usr/share/X11/xkb/symbols/ru. Пустой вывод означает, что раскладки в вашей версии нет. Rulemak при этом в Ubuntu 24.04 есть, но GNOME показывает его только после gsettings set org.gnome.desktop.input-sources show-all-sources true.

Будет ли Caps Lock работать как Backspace в русской раскладке Windows?

Зависит от способа. Стандартный установщик Colemak с сайта colemak.com Caps Lock не переназначает вообще. Если вы переназначили его через ключ реестра Scancode Map, замена работает на уровне драйвера клавиатуры, поэтому Caps Lock станет Backspace во всех раскладках, включая русскую.

#colemak#keyboard-layout#russian#cyrillic#linux-desktop