Клавиша Alt в Linux KDE: история одного эпичного сражения

Вы нажимаете Alt+Shift в любимом приложении — оно вместо переключения языка ворует фокус? Другое сочетание клавиш с Alt и опять украден фонус? Знакомо? Раздражает? Если да вы — не одиноки. Сегодня расскажу, как я гонялся за этой неуловимой проблемой в Manjaro Linux с KDE, безрезультатно перепробовал множество найденных решений и предложений AI, периодически возвращаясь к проблеме снова и снова, а в итоге нашёл решение, до смешного простое и эффективное.

В чём, собственно, беда?

Суть проблемы: в некоторых приложениях (у меня — в Element, клиенте Matrix) одиночное нажатие клавиши Alt не просто активирует меню, а крадёт фокус у активного окна. Это особенно бесит, если вы привыкли использовать комбинации вроде Alt+Shift для переключения раскладки или Alt+[цифра] для навигации по вкладкам.

Поначалу думал: «Ну, наверняка где‑то в настройках KDE случайно зацепил какую‑то опцию». Но нет — в разделе «Сочетания клавиш» ни одна команда не была привязана к одиночному Alt. Тогда я полез гуглить.

Первые попытки решения: классика жанра

В процессе поисков, я наткнулся на обсуждение, где пользователь с Ubuntu 17.10 жаловался на аналогичную проблему, а затем делился решением — отключить меню через Gnome Tweak. Вот только у меня KDE, а не GNOME, так-что решение оказалось не применимо.

Дальше я попробовал стандартные рецепты для GTK‑приложений:

Добавил в ~/.config/gtk-3.0/settings.ini и ~/.config/gtk-4.0/settings.ini строки:

gtk-enable-accels=0
gtk-enable-mnemonics=0

Запускал Element с переменной GTK_DISABLE_ACCELERATORS=1.
Проверял настройки через dconf-editor (но параметра gtk-enable-accels там не оказалось).

Результат? Нулевой. Element по‑прежнему упрямо открывал меню при нажатии Alt и главное — крал фокус из поля ввода сообщения. Это дико выбешивает, когда вводишь сообщение, нужно переключить раскладку и с этого момента, еще несколько десятков символов набранных «по инерции» оказываются не в поле ввода в лучшем случае, а в худшем — если был нажат пробел и активирована какая-то опция меню — к моменту, как остановишься и перестанешь набирать текст, Element успевает пожить своей жизнью и одному корейскому рандому известно, что именно произойдет в результате.

Глубокое погружение:

Разумеется, я запускал Element с —verbose, искал упоминания accelerator, menu и т.п., но ничего полезного не нашёл.

Обновление пакетов? Ну, я ждал, что проблема исчезнет сама по себе, как это иногда бывает с обновлениями, но нет — время шло, система обновлялась, но Alt оставался самим самой.

Создание тестовой учётной записи — чтобы исключить влияние локальных настроек. Увы, и там Alt работал так же.

Прозрение: решение на поверхности

И вот, после очередной порции гугла и чтения форумов, вдруг подумал. А что, если просто перехватить Alt до того, как его получит GTK приложение? Вспомнил, как Wayland привнёс в мою жизнь веселья, своим появлением и перехватом комбинаций, например, настроенные комбинации CopyQ отвалились, т.к. Wayland стал перехватывать их до того, как они попадут в CopyQ (погуглите — я не один «веселился» в тот вечер ;)).

Шаги решения:

  • Параметры системы →Клавиатура → Комбинации клавиш.
  • Нажал «Добавить команду или приложение» → «Команду».
  • Задал:
    • Название: Block Alt with date
    • Команда: date
    • Сочетание: Alt
  • Применил настройки и перезапустил Element.

И… о чудо! Клавиша Alt больше не ворует мой фокус из поля ввода! Никакого меню по нажатию Alt! И прекрасно выполняет мои привычные настроенные комбинации.

Ключевые слова для поиска:
  • Alt крадёт фокус KDE
  • клавиша Alt открывает меню Manjaro
  • отключить меню по Alt в Element
  • глобальные сочетания клавиш KDE
  • проблема с Alt в Wayland
  • Electron‑приложения и Alt в Linux
  • как заблокировать клавишу Alt в KDE
  • настройка сочетаний клавиш Manjaro
  • фокус окна и Alt в KDE Plasma
  • решение проблемы с Alt в GTK‑приложениях

Ответить