Алексей Федорчук
Как ни подбирай подходящий вариант русской раскладки клавиатуры, всё равно что-нибудь в ней окажется да не то. Например, в любимом мной варианте 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 комментария на «“Редактирование Иксовых раскладок”»
Я для недостающих в раскладке символов использую как рах 3-й ряд (файл typo в том же каталоге). Мне не хватало слеша и верхней чёрточки (не знаю, как она называется по-научному). Теперь ввожу не переключая раскладку: с/х-производитель, ит′шник.
Если под верхней чёрточкой ты подразумеваешь строгую кавычку ‘, то в typewriter их есть — там, где в winkeys была буква ё, причём на нижнем регистре — у меня это тоже очень употребимый символ, и в той же ситуации — Ubuntu’ец, etc.
А с прямым слешем ты меня надоумил — надо поместить его на место прямых двойных кавычек, ведь при освоении парных они применяются только в латинском тексте, во всяких кодах и тегах.
Оффтопик. И всё-таки метод макросов в Geany для меня оказался удобней и даже универсальней: кроме него (или любого аналогичного по функционалу редактора) типографика мне не нужна нигде, и перекинуть в другую систему ~/.config/geany целиком мне проще, чем возиться с 3-м рядом в каждой. Тем более что я всё равно это делаю, и не только для Geany.