Bug 57165 - После переподключения второго монитора в kwin_wayland greeter'е перестаёт работать клавиатура
Summary: После переподключения второго монитора в kwin_wayland greeter'е перестаёт раб...
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: lightdm-kde-greeter (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Anton Golubev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-08 15:23 MSK by Vladislav Glinkin
Modified: 2025-12-23 09:54 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladislav Glinkin 2025-12-08 15:23:32 MSK
Версия пакета:
lightdm-kde-greeter-6.1.0-alt1

В greeter'е, запущенном с помощью kwin_wayland, возникает проблема при переподключении второго монитора - горячие клавиши F1, F10 перестают работать.

Шаги воспроизведения:
1) Подключить второй монитор
2) Включить ноутбук/ПК
3) Как загрузится LightDM - переподключить второй монитор

Фактический результат:
До переподключения монитора горячие клавиши работают. После переподключения - перестают.

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

Дополнительно:
Если сравнивать поведение с failback greeter'ом (X11), то там поведение немного другое. При переподключении второго монитора (который был подключен изначально перед включением ПК/ноутбука) - горячие клавиши работают. Однако, если подключить какой-либо другой монитор в качестве второго - экранный менеджер на нём не будет отображаться.
Comment 1 Vladislav Glinkin 2025-12-10 17:05:46 MSK
Версия пакета: lightdm-kde-greeter-6.1.1-alt1

При перепроверке обнаружил, что перестают работать не горячие клавиши, а клавиатура в целом до тех пор, пока не будет совершено нажатие мышью на иконку пользователя или клавишу войти.
Comment 2 Sergey V Turchin 2025-12-11 08:59:58 MSK
(Ответ для Vladislav Glinkin на комментарий #1)
> до тех пор, пока не будет совершено нажатие мышью на иконку пользователя или клавишу войти.
Полагаю, эти фокусы с фокусом нужно доделать до возврата его в нужное место.
Comment 3 Anton Golubev 2025-12-22 17:32:26 MSK
Проблема, как оказалось заключается в том, что Xorg и KWin в разное время отправляют событие входа курсора мыши в окно.

Гритер создаёт отдельное окно для каждого экрана, а объект со всем пользовательским интерфейсом (PrimaryScreen) отображается на одном из этих окон, путём назначения этого окна своим родителем. При отключении/подключении монитора эти окна пересоздаются, причём, сначала создаются новые окна, а потом удаляются старые. PrimaryScreen назначается потомком одного из окон в событии попадания курсора мыши в одно из этих новых окон. Так вот, Xorg это делает ещё до разрушения старого окна, а KWin уже после. При разрушении старого окна PrimaryScreen "теряет фокус", и при подключении его к новому окну, фокус не возвращается, поскольку на то уже нет причин.

Я починил это, добавив явное назначение PrimaryScreen потомком вновь созданного окна, если это окно принадлежит так называемому основному экрану (QGuiApplication::primaryScreen).
Собрал для Сизифа в тестовом задании 403527. Завтра, если в апстриме или здесь не возникнет вопросов, я смержу соответствующий MR [1] и отправлю в Сизиф.

[1]: https://invent.kde.org/plasma/lightdm-kde-greeter/-/merge_requests/17
Comment 4 Repository Robot 2025-12-23 09:54:34 MSK
lightdm-kde-greeter-6.1.2-alt1 -> sisyphus:

Mon Dec 22 2025 Anton Golubev <golubevan@altlinux> 6.1.2-alt1
- fix lost focus on disable/enable screen (Closes: 57165)