Переключение раскладок клавиатуры в Ubuntu по отпусканию клавиш

Одним из немногих недостатков Linux является переключение раскладок клавиатуры по нажатию выбранной комбинации клавиш, а не по отпусканию. Это плохо тем, что ряд горячих клавиш в приложениях просто-напросто не будет работать.

Что здесь плохого

Такое не совсем правильное поведение системы связано с тем, что все нажатые клавиши отрабатывают лишь один раз. И если на переключение раскладки установлена, к примеру, комбинация Ctrl+Shift, при нажатии этой комбинации переключится клавиатура и горячие клавиши типа Ctrl+Shift+буква не будут работать. Та же ситуация с Alt+Shift.

Причиной этому является убеждение разработчиков графического сервера XOrg, что все действия должны отрабатывать по нажатию клавиш. Исключение они не делают даже для такого важного момента.

Попытки исправить

В своё время (примерно в 2008 году) для Ubuntu был патч, исправляющий эту проблему. Несмотря на необходимость применять его при каждом обновлении «иксов», достигнутое удобство работы оправдывало себя. Потом это исправление было включено в дистрибутив, но спустя несколько лет от него отказались. В версии 16.04 этого можно было добиться, установив серверный дистрибутив с последующим добавлением Cinnamon вручную, но в 18.04 это уже не работает.

Сейчас подобный патч включен в дистрибутив Linux Mint, но имеющиеся в нём недостатки, в частности, критические обновления безопасности системы, помеченные как необязательные, а также замена пакетов своими с такими же именами, заставляют отказаться от использования этого дистрибутива. Также там имеются проблемы с настройкой звука, в частности, Timidity.

Исправленный пакет XOrg

Неизвестный добрый человек по имени Норберт выпустил пакет с пропатченной версией графического сервера (для Ubuntu 16.04 и 18.04), в которой переключение раскладок работает именно так, как надо. Установка этого пакета предельно простая.

Вначале добавляем репозиторий:

sudo add-apt-repository ppa:nrbrtx/xorg-hotkeys

Затем в случае использования версии 16.04 обновляем список пакетов (в 18.04 это будет сделано автоматически после добавления репозитория):

sudo apt update

Затем обновляем систему:

sudo apt upgrade

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

Комментарии:

2 комментария на «“Переключение раскладок клавиатуры в Ubuntu по отпусканию клавиш”»

  1. Поддерживаю Alexey Tanaseychuk: неудобно, когда ты нажимаешь комбинацию alt+shift+ - у тебя срабатывает и переключение раскладки. Хотелось бы, чтобы она срабатывала только при нажатии и отпускании клавиш alt+shift.

    У меня Ubunta 18.04
    Сочетание клавиш alt+shift - для примера. Проблема существует для любого другого сочетания клавиш

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *