Ctrl+Shift переключает язык и ломает горячие клавиши в Linux Mint

ПРОБЛЕМА

После обновления Linux Mint перестали работать горячие клавиши Ctrl+Shift+T в Chrome и Ctrl+Shift+F в PhpStorm. При нажатии вместо нужного действия переключалась раскладка клавиатуры.

Это баг в Xorg существующий с 2004 года — переключение раскладки срабатывает при нажатии клавиш, а не при отпускании. Поэтому комбинация Ctrl+Shift перехватывается раньше чем приложение успевает обработать Ctrl+Shift+F.

ОКРУЖЕНИЕ

Linux Mint 22 Wilma, Cinnamon, Ubuntu 24.04 noble.

РЕШЕНИЕ

Установить патченный Xorg от Норберта, который переключает раскладку по отпусканию клавиш, а не по нажатию. PPA поддерживает Ubuntu 24.04.

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

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

Если возникла ошибка с ключом GPG:

sudo gpg --no-default-keyring \
  --keyring /etc/apt/keyrings/nrbrtx-xorg-hotkeys.gpg \
  --keyserver keyserver.ubuntu.com \
  --recv-keys 19BFCAF5168D33A9

sudo cp /etc/apt/keyrings/nrbrtx-xorg-hotkeys.gpg \
  /etc/apt/keyrings/nrbrtx-xorg-hotkeys-noble.gpg

Обновляем и устанавливаем патченный Xorg:

sudo apt update
sudo apt dist-upgrade

Настраиваем переключение раскладки:

gsettings set org.cinnamon.desktop.input-sources sources \
  "[('xkb', 'us'), ('xkb', 'ru')]"

gsettings set org.cinnamon.desktop.input-sources xkb-options \
  "['terminate:ctrl_alt_bksp', 'grp:ctrl_shift_toggle']"

Добавляем в ~/.xprofile для автоприменения при входе:

setxkbmap -option && setxkbmap -layout us,ru \
  -option terminate:ctrl_alt_bksp \
  -option grp:ctrl_shift_toggle

Перезагружаемся:

sudo reboot

После перезагрузки Ctrl+Shift переключает раскладку, а Ctrl+Shift+F, Ctrl+Shift+T и другие трёхклавишные комбинации работают в приложениях.

Если нужно откатить патч: sudo ppa-purge ppa:nrbrtx/xorg-hotkeys