在带有触摸屏的手臂嵌入式设备上,我有一个第三方程序(程序A),它创建了一个处理键盘按下的窗口。因此,此窗口始终必须具有焦点。这是一个封闭的来源,我没有修改它的选项。
我需要在linux中创建一个永远不会抓住焦点的窗口。它只显示一个图像,有时是全屏。但是,我有选择不使它全屏(少1个像素,因此可以看到下面的窗口。)。
现在,我只使用X服务器,但我可以安装(几乎)任何窗口管理器。
答案 0 :(得分:0)
在Wayland上,由合成器告诉客户端是否有焦点,以及将关键事件发送到哪个表面。因此,如果可能的话,它将依赖于您正在使用的合成器或合成器工具包。
KWin有一个选项听起来像你想做的。右键单击窗口标题栏,然后选择more actions -> special window settings -> accept focus
在compositor工具包中,我只知道Qt Wayland Compositor API,并且应该可以(假设您的应用程序可以作为Wayland客户端运行)。最简单的方法是使用QML API在合成器中显示图像,或者您可以在enabled: false
或WaylandQuickItem
上设置ShellSurfaceItem
您不想获取输入焦点