Я хочу, чтобы главное окно приложения игнорировало события мыши и клавиатуры, передавая их приложениям под ним в Z-порядке оконного менеджера.
Я вижу, как заставить дочерние виджеты игнорировать события клавиатуры или мыши, но как насчет главного окна?
Я пытаюсь создать виджет рабочего стола, который всегда находится прямо над фоном и полностью невидим для событий клавиатуры и мыши. (Пройти через)
Qt::X11BypassWindowManagerHint позволяет мне проходить через клавиатуру (хотя, к сожалению, специфично для X11, но пока нормально), так как насчет событий мыши?
Есть ли независимый от ОС способ быть прозрачным для событий клавиатуры?
ИЗМЕНИТЬ:
Ключевое слово здесь — прозрачность.
Я не хочу съедать события мыши и клавиатуры, я хочу, чтобы оконный менеджер знал, что они мне вообще не нужны. Эти события должны быть направлены на любое приложение, находящееся под моим контролем в zorder.
Например, я хочу иметь возможность щелкать значки на рабочем столе, закрытые моим виджетом, и взаимодействовать с ними так, как если бы виджета там не было.