在x11中的特定窗口中捕获鼠标指针

时间:2019-01-11 06:08:24

标签: c window mouseevent x11

我能够使用x11的_NET_CLIENT_LIST Atom属性获得所有窗口的列表。使用它,我选择了自己感兴趣的特定窗口,例如gedit窗口,并使用XSetInputFocus,它将完美地将键盘输入和控件设置为gedit窗口。

现在我的问题是,X11中是否有类似的功能,以便我们可以将鼠标焦点设置到特定窗口,因此任何鼠标单击或选择都将仅局限于该特定窗口。

我尝试了XGrabPointer,但没有成功。它只会冻结鼠标,并且不会在屏幕上显示其他鼠标输入(例如单击鼠标;我只能看到鼠标指针,也可以移动它,但是它不执行任何单击操作)。

1 个答案:

答案 0 :(得分:0)

您应该能够轮询鼠标事件,并且如果用户尝试移出矩形,则应该能够重新定位它。如果您不将指针放在其他窗口之外,那么我认为您不能阻止鼠标单击到达它们,但这是可能的。