我可以使用 x11 的 _NET_CLIENT_LIST
Atom 属性获取所有窗口的列表。使用它,我选择一个我感兴趣的特定窗口,例如 gedit 窗口,并使用 XSetInputFocus
,这将完美地将键盘输入和控件设置到 gedit 窗口。
现在我的问题是,X11中是否有类似的功能,可以将鼠标焦点设置到特定窗口,这样任何鼠标点击或选择都将仅限于该特定窗口。
我尝试了XGrabPointer
,但没有成功。它只会卡住鼠标,并且屏幕上不会显示进一步的鼠标输入(例如鼠标单击;我只能看到鼠标指针,也可以移动它,但它不会执行任何单击操作)。
最佳答案
您应该能够轮询鼠标事件,并且如果用户尝试移出矩形,您应该能够重新定位它。如果您不将指针保持在其他窗口之外,我认为您无法阻止鼠标点击到达它们,但这可能是可能的。
关于在 x11 中捕获特定窗口中的鼠标指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54141195/