什么样的XWindow属性可以阻止窗口在接收鼠标事件的同时获得焦点?

2024-09-22 16:43:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python编写一个屏幕上的键盘,里面有杂乱的东西。我已经得到了clusterStage的XWindow对象,但是我找不到任何阻止窗口窃取焦点的属性。基本上,它需要接受鼠标事件(点击、运动等),而不是从它试图输入的窗口窃取键盘焦点。有什么想法吗?:)


Tags: 对象属性屏幕事件鼠标键盘焦点杂乱
2条回答

您希望将WM_HINTS属性中的输入提示设置为false,而不添加WM_TAKE_FOCUS属性。这将确保窗口管理器从不将键盘焦点转移到窗口,但不会阻止其他事件。见ICCCM第4.1.7节。在

http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.7

通过输入传递在X11上的工作方式,这是不可能发生的:为了接收输入事件,X11窗口必须有焦点-换句话说:事件只传递到聚焦窗口。在

例如,GTK+中的输入方法和可访问性支持依赖于工具箱通过特定的API(分别是IM和ATK)向另一个进程发送和接收数据。GNOME中的所有虚拟键盘都使用这两种方法来处理输入事件。在

在purex11上,可以使用XTest扩展API将事件从虚拟键盘发送到调用它的应用程序。在

相关问题 更多 >