gpt4 book ai didi

linux - 从 X 窗口传播所有事件

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:10 25 4
gpt4 key购买 nike

我目前正在开发一个小型实用程序,这是我的第一个 X 项目。该实用程序用于在鼠标指针周围绘制一个小圆圈。我在我的 Mac 上使用一个名为 Pinpoint 的应用程序来做同样的事情,它可以帮助我找到我的鼠标,因为我有视力障碍。

该实用程序创建一个透明的 X 窗口并在其中绘制一个圆圈,然后使用鼠标指针移动该窗口,使圆圈跟随鼠标移动。

它目前有效,除了一个细节。鼠标事件不会传播到底层窗口。基本上,该实用程序使鼠标无用。

据我从 Xlib 文档中得知,如果没有另外指定,新窗口应该传播所有事件。我该如何解决这个问题?

代码可以在 GitHub 上找到:https://github.com/blubber/circle-cursor目前有点困惑,因为它只是概念验证。

最佳答案

我建议也通过光标图像进行操作,当您无法接收鼠标事件时有很多方法,并且唯一可能的来源是使用 XQueryPointer 进行轮询。

xfixes扩展,您可以订阅所有 cursor image changed 事件并获取最新的光标形状,并且可以使用 XRender 设置您自己的(可能是动画光标)

关于linux - 从 X 窗口传播所有事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35113005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com