тюнинг раскладки в иксах и гноме

сейчас потихоньку начинают распространяться тюнингованные раскладки клавиатуры. Наверное, началось всё с поста Ильи Бирмана «Типографская раскладка клавиатуры», и с тех пор много уже написано и сделано.

по традиции, в линухе такие вещи настраиваются очень просто — дописыванием нескольких слов в соответствующих используемым языкам файлах в /etc/X11/xkb/symbols. Вот пример того, что было и что стало:

key <AB03> { [     c,          C ] };
key <AB03> { [     c,          C,     copyright ] };

однако, когда из линукса начинают делать юзер-френдли виндовс, (сюрприз!) начинаются проблемы. Для начала: эти любовно настроенные файлы затрёт первое же автоматическое обновление. Хорошо, можно скопировать их с новыми именами, чтобы их никто не стёр. Новые имена прописываются в /etc/X11/xorg.conf: Option "XkbLayout" "us_arty,ru_arty", и всё прекрасно работает. До тех пор, пока вы не запускаете гном. Гном любит пользователя, и даёт ему прекрасный инструмент для настройки клавиатуры, который в лучших традициях винды не предполагает тюнинга раскладок. Он даёт варианты, которые берёт из списка, который затирается автообновлением, поэтому его нельзя подкорректировать. И, естественно, гном ставит свои настройки выше общесистемных.

к счастью, иксы можно настраивать уже после запуска. Поэтому рецепт настройки раскладки прост:

  1. взять файлы тюнингованных раскладок: русской и английской, допилить их по вкусу, положить в /etc/X11/xkb/symbols
  2. в автозапуск гнома (System → Preferences → Sessions) добавить такую команду:

    /usr/bin/setxkbmap -symbols "pc+us_arty+ru_arty:2+group(caps_toggle)+altwin(super_win)+nbsp(level3)"

у такого подхода есть плюсы и минусы по сравнению с использованием Compose. Плюс — он работает на уровне иксов, поэтому нет необходимости настраивать способ ввода. Минус — иксам известно ограниченное количество юникодных символов, поэтому многоточие так вводить не получится. Ещё плюс — хоткей состоит только из двух кнопок.

Артемий Трегубенко,

comments powered by Disqus