Найти в Дзене
IT вопросы, Linux

Настройка переключения клавиатуры по Ctrl+Shift в Ubuntu Linux при помощи программы xNeur

Использую Ubuntu linux с графической средой XFCE4. Сначала использовал штатные настройки переключения клавиатуры в приложении "Настройки клавиатуры".

Однако, заметил следующую проблему при быстром наборе текста, где русские слова идут вперемешку с англоязычными аббревиатурами (например, фраза "мой IP адрес") нажатия клавиш при переключении языка происходят следующим образом:

  1. Нажимаю Ctrl и продолжаю его удерживать.
  2. Нажимаю Shift и продолжаю его удерживать одновременно с Ctrl.
  3. Отпускаю Ctrl и в это момент "срабатывает переключение языка", но Shift продолжаю удерживать.
  4. Далее, удерживая Shift, вводится англоязычная аббревиатура заглавными буквами.
  5. Далее - отпускаю Shift и печатаю текст далее, если нужно - переключаюсь обратно на русский.

К сожалению, в XFCE4 переключение языка "срабатывает" только когда обе кнопки Ctrl и Shift отпущены. В итоге, либо язык не переключается, либо аббревиатуры получаются с маленькой буквы (что плохо для официальных документов), либо у меня часто получаются русские имена с маленькой буквы.

Для решения этой проблемы поставил программу xneur - это аналог Punto Switcher для Linux.

Настройки программы XNeur
Настройки программы XNeur

Добавляем репозиторий:

deb https://mirror.yandex.ru/debian/ stretch main contrib non-free

Ставим программу:

sudo apt update
sudo apt install xneur

В процессе установки она за собой ещё кучу пакетов подтянула. Но дело того стоит.

Далее выяснилось, что программа нормально не работает, если не поставить unity-control-center. Пришлось поставить и его:

sudo apt install unity-control-center

Как выяснилось, это приложение дополнительно устанавливает iBus и из него "перехватывает" нажатия клавиш. Соответственно, появился iBus.

Далее:

  1. Убрал все HotKeys из настроек клавиатуры XFCE4, так чтобы они "не мешались".
  2. Убрал все HotKeys из рабочего стола GNOME. Хотя, я GNOME не использую, судя по всему, это было лишнее.
  3. Нативное переключение клавиатуры в XFCE4 сделал по клавише CAPSLOCK. Всё равно, я эту клавишу не использую.
  4. В программе XNEUR сделал переключение клавиатуры по клавишам Ctrl+Shift - то к чему я и стремился.

В итоге

  • Получил переключение клавиатуры "как в Windows" - то, к чему я привык.
  • Бонусом (не знаю откуда это вылезло) - стали работать клавиатурные комбинации Alt+Tab - для переключения между приложениями и Ctrl+Tab - для переключения между вкладками одного приложения. Раньше у меня этого не было и я не понимаю откуда это появилось в цепочке действий выше.

UPDATE:

Выяснилось, что iBus и unity-control-center только мешают работать. Из-за них переключение "тупит" и перестали работать горячие клавиши в DoubleCommander

Убрал демон iBus , а ссылку на unity-control-center в программе xNeur заменил на штатную программу настройки интерфейса клавиатуры /usr/bin/xfce4-keyboard-settings

Здесь нужно убрать ссылку на unity-control-center
Здесь нужно убрать ссылку на unity-control-center

Далее вычистил все пакеты, которые касались iBus (они автоматически подтянулись при установке unity-control-center)

Пакеты для удаления
Пакеты для удаления

Теперь всё работает правильно.