Проблема переключения раскладки в Elementary OS

Прошел почти год с момента выпуска релиза Elementary OS 5.0 Juno, но проблема медленного переключения раскладки клавиатуры так и не исправлена. Похоже разработчикам нет до неё никакого дела. Ключевые разработчики — американцы и им это просто не надо.

Долго мучился и ругался, пока не нашел этот скрипт. Работает отлично. Большое спасибо его автору! Скрипт просто заменяет штатный переключатель раскладки. Значок раскладки в статусной строке остается.

Порядок установки описан по пунктам по ссылке.

У меня на клавиатуре бездействует клавиша «Win» с правой стороны. Можно сделать переключение языка с ее помощью. Сама система такой настройки не предоставляет.

    {keyboard.Key.cmd_r},  # Super R

Еще один хороший вариант – это «Caps Lock». Клавиша есть на всех клавиатурах, можно настроить на всех своих компьютерах. Будет очень удобно! Такая настройка есть в конфиге по умолчанию. Но она не всегда работает. Чтобы переключение этой кнопкой работало всегда следует прописать ее следующим способом:

    {keyboard.KeyCode(16777215)}, # Caps Lock

Можно задействовать вообще любую клавишу. Надо знать только ее код. Узнать код можно, если прописать в скрипт дополнительные пару строк:

    def on_press(self, key):

        if key not in self.monitored_keys:
            print("Need to detect - ", self.monitored_keys) # раз
            print("Detected key - ", key)                   # два
            return

        self.current_keys.add(key)
        self.keys_pressed += 1
        print(self.keys_pressed)

        if self.is_switch_shortcut():
            self.on_switch()

2020 год

Дополнение, спустя некоторое время.

Сейчас июль 2020 года. Ситуация со сменой раскладки изменилась — переключение стало происходить довольно быстро. Не мгновенно, но реально быстро. Вы заметите проблему только если печатаете с высокой скоростью.

Но осталась другая неприятность. В момент переключения раскладки происходит какая-то непонятная вещь. Компьютер как бы подвисает на мгновение. Сейчас это мгновение, как я уже сказал, очень маленькое. Но подвисание сопровождается тем, что вы теряете фокус ввода текста. Происходит это лишь в некоторых программах. И только в некоторых ситуациях.

Например, вызов быстрого диалога переименования файла или вы начала редактирование стиля в инспекторе Mozilla Firefox. В момент переключения раскладки быстрый диалог переименования или редактирования стиля сворачивается.

Скрипт о котором шла речь выше переключает раскладку без этих неприятностей, так что он всё ещё актуален. Благодаря этому скрипту я все еще пользуюсь Elementary OS, суммарно уже больше 3 лет.

Комментарии