Как настроить типографскую раскладку клавиатуры в Linux Ubuntu с использованием AltR?

Как настроить русскую раскладку клавиатуры таким образом, чтобы при нажатии на определенные комбинации клавиш можно было получить определенные символы, вроде $, #, |, и других? Я пробовал использовать Типографскую раскладку Бирмана, но она не работает на версии 22.10. Мне кажется, что нужно настраивать XKB вручную. Я уже добавил `'lv3:ralt_switch'` для `org.gnome.desktop.input-sources xkb-options`, что позволило мне использовать правый Alt для печати дополнительных символов. Как я могу перенастроить клавиши? Где я могу найти коды символов? Существует ли удобное решение для массовой замены символов? Есть ли графическое приложение для этого?
  • 8 января 2024 г. 18:48
Ответы на вопрос 1
Вам правильно придется вносить изменения в файлы XKB для детальной настройки раскладки клавиатуры в Ubuntu. Вот какие шаги вы можете предпринять:

1. **Создайте резервную копию текущих настроек XKB**:
   Сначала создайте резервную копию оригинальных файлов XKB, в случае если что-то пойдет не так, вы сможете восстановить исходное состояние.

   ```bash
   sudo cp /usr/share/X11/xkb/symbols/ru /usr/share/X11/xkb/symbols/ru.backup
   ```

2. **Редактирование файла настроек XKB**:
   Файл, который обычно содержит настройки для русской раскладки клавиатуры, называется `/usr/share/X11/xkb/symbols/ru`. Возможно, также потребуется редактировать файлы в других местах в директории `/usr/share/X11/xkb/`, в зависимости от того, что вам нужно настроить.
   
   Откройте файл на редактирование, используя редактор с правами суперпользователя:

   ```bash
   sudo nano /usr/share/X11/xkb/symbols/ru
   ```

   В этом файле вы можете настроить раскладку, добавив или изменив секции с описанием символов, которые должны быть выведены при нажатии определенной комбинации клавиш с использованием модификатора (как правило, это `Alt_R`).

3. **Добавление новых символов**:
   Например, чтобы `$`, `#`, `|` были доступны через `Alt_R` + соответствующую клавишу, найдите в файле `ru` строки соответствующей вашей раскладки (`typo` для Типографской раскладки Бирмана) и добавьте такие строки как:

   ```text
   key <AD02> { [   Cyrillic_e, Cyrillic_E,     dollar ] }; // для символа $
   key <AC09> { [   Cyrillic_ka, Cyrillic_KA, numbersign ] }; // для символа #
   key <AC11> { [   Cyrillic_ve, Cyrillic_VE,    bar ] }; // для символа |
   ```

   Коды клавиш `<AD02>`, `<AC09>`, `<AC11>` соответствуют физическим клавишам и нужно сопоставлять с виртуальными кодами вашей клавиатуры.

4. **Применение изменений**:
   После сохранения изменений в файлах XKB, вы можете перезагрузить систему или применить изменения без перезагрузки, выполнив команду:

   ```bash
   setxkbmap -layout ru
   ```

Учтите, что при обновлении системы или пакетов связанных с XKB, ваши изменения могут быть перезаписаны. Чтобы этого избежать, создайте свою кастомную раскладку с уникальным именем, чтобы обновления системы не затрагивали её.

Для более глубокого понимания того, как работают коды клавиш и символы в XKB, вы можете ознакомиться с документацией XKB, используя команду `man xkeyboard-config`, а также в интернете на сайтах, посвященных Linux и X Window System.

На данный момент нет широко известного графического интерфейса для глобальной настройки XKB, так что большинство изменений придется делать
Похожие вопросы