Редактирование Иксовых раскладок

Алексей Федорчук

Как ни подбирай подходящий вариант русской раскладки клавиатуры, всё равно что-нибудь в ней окажется да не то. Например, в любимом мной варианте typewriter-legacy почему-то имеется два символа подчёркивания (underscore) — на своём законном месте, на верхнем регистре дефиса, и на нижнем регистре восьмёрки. И ни одного символа «звёздочки» (asterisk), кроме как на NumPad’е, которого нет на компактных клавиатурах и на большинстве ноутбуков.

При печати на русском языке и одного-то подчёркивания более чем достаточно, а уж два — явное излишество. Правда, и «звёздочка» не так уж часто востребовано. Однако мы имеем место с явным непорядком, даже несправедливостью и дискриминацией по кодовому признаку.

Правда, лиувидируется эта несправедливость очень легко. За за наборы символов в различных раскладка клавиатуры отвечают файлы из каталога /usr/share/X11/xkb/symbols/. Очевидно, что русской раскладкой управляет файл /usr/share/X11/xkb/symbols/ru. Основная его часть описывает основной вариант русской раскладки, каковым с некоторых пор является winkeys, а в отдельных секциях partial alphanumeric_keys отражаются отличия от него вариантов более иных.

В данном случае достаточно открыть этот файл в любом текстовом редакторе (запущенном с правами администратора), отыскать в нём секцию

xkb_symbols "typewriter-legacy" {

а в ней строку с кодом AE08 (обычно её номер 146):

    key  { [  underscore,           8  ] };

А теперь остаётся только заменить символ подчёркивания на «звёздочку»:

    key  { [    asterisk,           8  ] };

И, казалось бы, дело в шляпе? Отнюдь. В ряде случаев потребуется перезапуск сеанса Иксов. А иногда и он не поможет — символы будут упорно вводиться в старом варианте.

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

А иногда помогает и более иной способ — удаление из каталога /var/lib/xkb/ всех файлов вида server-*.xkm. Это нечто вроде кешей предыдущих вариантов раскладок, и если с ними много экспериментировать — таковых может накопиться изрядно. Второй способ также не требует рестарта Иксов.

Редактирование Иксовых раскладок: 2 комментария

  1. Я для недостающих в раскладке символов использую как рах 3-й ряд (файл typo в том же каталоге). Мне не хватало слеша и верхней чёрточки (не знаю, как она называется по-научному). Теперь ввожу не переключая раскладку: с/х-производитель, ит′шник.

  2. Если под верхней чёрточкой ты подразумеваешь строгую кавычку ‘, то в typewriter их есть — там, где в winkeys была буква ё, причём на нижнем регистре — у меня это тоже очень употребимый символ, и в той же ситуации — Ubuntu’ец, etc.
    А с прямым слешем ты меня надоумил — надо поместить его на место прямых двойных кавычек, ведь при освоении парных они применяются только в латинском тексте, во всяких кодах и тегах.
    Оффтопик. И всё-таки метод макросов в Geany для меня оказался удобней и даже универсальней: кроме него (или любого аналогичного по функционалу редактора) типографика мне не нужна нигде, и перекинуть в другую систему ~/.config/geany целиком мне проще, чем возиться с 3-м рядом в каждой. Тем более что я всё равно это делаю, и не только для Geany.

Добавить комментарий