Xfce и клавиатура: раскладки и переключатели

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

Пару-тройку лет назад конфигураторы всех рабочих сред лихорадило по части настроек клавиатуры — точнее, переключателей их раскладок. Которые или не настраивались штатными средствами вообще, или ломались с таким постоянством, что ему позавидовали бы Пенелопа с Одиссеем. И на фоне такого поведения GNOME 3, Unity, да поначалу и Cinnamon, среда Xfce смотрелась вся в белом: и раскладки, и переключатели в ней настраивались очень просто и (почти) достаточным образом.

С тех пор ситуация в мире интегрированных сред в этом отношении выправилась: ни с раскладками, ни с переключателями их нет проблем ни в Cinnamon, ни в GNOME 3, ни в MATE, ни в KDE, ни, вроде бы, даже в Unity. И взявшись за Xfce после значительного перерыва, я их тоже не ожидал.

Да, строго говоря, проблем этих и не обнаружилось. Просто за последнее время мои претензии в параметрам клавиатуры несколько возросли, а разработчики Xfce почему-то роста моих аппетитов не предусмотрели. Что пошло мне только на пользу, так как послужило поводом для знакомства с ещё одним методом конфигурирования этой среды — утилитой xfconf. Однако начну по порядку.

С настройкой клавиатуры в Xfce я за последние дни столкнулся дважды — в дистрибутиве Void — Linux и в Xubuntu. В последней почти все нужные параметры (включая вариант раскладки) можно определить в ходе инсталляции, и потребовалась лишь мелкая доводка в соответствие с моими возросшими потребностями. В Void’е клавиатуру в любой поддерживаемой им среде нужно настраивать с нуля — на стадии установки можно определить только клавиатуру для консоли, причём по старинке, когда переключатель привязан к варианту раскладки.

Поэтому вкратце повторю штатный способ настройки раскладок — хотя и написано на эту тему без счёта, в том числе и автором этих строк. А именно:

  • вызывается Диспетчер настроек;
  • в нём выбирается пункт Клавиатура (он лежит в секции Оборудование);
  • далее — переход на вкладку Раскладка;

xfce-keyboard_001

  • снимается «птица» с боксика Использовать стандартные…
  • через кнопку с плюсиком и надписью Добавить выбирается предпочитаемый вариант русской раскладки:

xfce-keyboard_002

  • или, если русская раскладка была определена при инсталляции, то же делается из выпадающего меню под вывеской Изменить параметры раскладки;
  • из выпадающего меню Клавиша Compose назначается эта самая клавиша, если в оной потребность имеется:

xfce-keyboard_003

Всё — изменения вступят в силу немедленно. Остаётся только добавить на управляющую панель апплет Раскладка клавиатуры:

xfce-keyboard_004

И через одноимённый пункт контекстного меню

xfce-keyboard_005

задать его свойства:

xfce-keyboard_006

Первые два этих самых свойства понятны без комментариев, и определяются вкусовщиной, а для третьего возможны варианты:

xfce-keyboard_007

Выбор из которых, однако, тоже дело вкуса. Или, точнее, привычки.

Казалось бы, делается всё, что надо — и притом просто и понятно. Так чего ещё надо для счастья? Отвечаю: для полного счастья надо две вещи:

  1. второй, нефиксируемый переключатель раскладок — то есть тот, который действует, пока нажата предназначенная для него клавиша, и
  2. поведение NumPad’а a la Macintosh — то есть ввод с него цифири, независимо ни от каких других настроек.

Нефиксируемый переключатель — штука для меня архиважная с тех пор, как я стал порядочным человеком и пытаюсь честно вводить типографику в своих сочинениях. И в качестве такового использую правый Control, который в списке имеется: нет только возможности определить одновременно два переклоючателя. А вот про настройки NumPad’а в этой панели не найти и полслова. И что делать?

Очень просто: вспомнить, что в Xfce есть некий аналог редактора Dconf из сред, происходящих от GNOME (см. кое-что про его Cinnamon-реализацию), и называется он столь же програчно — xfconf. Причём, в отличие от всех «гномосековых», всегда устанавливается по умолчанию и может быть вызван из Диспетчера настроек, где пребывает в секции Прочее:

xfce-keyboard_008

Вообще-то, правильное обращение с xfconf — точно такое же, как с редактором Dconf. То есть: вызов строки поиска через Control+F1 и ввод искомого ключевого слова до полного просветления. Но в данном случае необходимости в этом нет — нужный пункт лежит на поверхности:

xfce-keyboard_009

И остаётся только писать в строку Group нужные значения в той форме, в какой они определены в секции ! option файла /usr/share/X11/xkb/rules/base.lst (или /usr/share/X11/xkb/rules/evdev.lst — нынче они одинаковы). Например, у меня эта строка выглядит так:

grp:shift_caps_switch,grp:rctrl_switch,numpad:mac

То есть: немодальное фиксирующее переключение раскладок по CapsLock (латиница) и Shift+Capslock (кириллица), нефиксирующее переключение по правой клавише Control, ввод с NumPad’а цифр всегда, независимо от клавиши NumLock и настроек BIOS’а.

Как видно из скриншота, здесь же можно определить положение клавиши Compose, выбрав одно из возможных в той же секции того же файла. То есть через xfconf можно определить (почти) все необходимые параметры клавиатуры, не обращаясь к Диспетчеру настроек. Более того, открою страшную военную тайну, все эти параметры можно определить, и не обращаясь к xfconf. А просто поправив в текстовом редакторе соответствующую строку файла ~/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml.

Оговорка же почти касалась настройки управления разкладками, определяемое в свойствах плагина xfce4-xkb-plugin. Её тоже можно выполнить прямым редактированием, но уже другого файла — ~/.config/xfce4/panel/xkb-plugin-11.rc .

Так что экономии места для «раскладочный» апплет с главной панели можно и убрать — при использовании немодального переключателя он оказывается невостребованным.

Xfce и клавиатура: раскладки и переключатели: 4 комментария

  1. Автор, поставь уже нормальную тему! Что за квадратное безобразие!

  2. Когда мне понадобится Ваш совет по этому вопросу — непременно спрошу.

  3. Спасибо большое, помогло, все работает.

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