问题标签 [xgrabpointer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6079 浏览

pointers - X11:我如何真正抓住鼠标指针?

我在 Xlib 中实现了一个水平拆分器小部件。当用户在分隔栏上单击并拖动时,我试图抓住鼠标(以便用户可以动态移动拆分并因此调整分隔栏两侧的窗口大小)。

XGrabPointer()在收到左键单击后使用,希望将来所有鼠标运动(拖动)都将转移到拆分器窗口,直到释放左键。

不幸的是,它似乎并不像那样工作。如果用户拖得太快并且鼠标指针进入拆分任一侧的一个窗口,则 MotionEvent 消息将被转移到该(子)窗口而不是拆分窗口。

我做错了什么?我的XGrabPointer()电话如下:

0 投票
1 回答
2015 浏览

linux - 在 Linux 中使用 xGrabPointer 锁定鼠标指针

X11当在没有任何窗口的终端上运行的应用程序中按下鼠标按钮时,我正在使用它来获取鼠标位置。

获取鼠标位置:

现在我想用来XGrabPointer()锁定鼠标,使其不与桌面上的对象(窗口、图标和停靠栏)交互。是 XGrabPointer 的文档,但我似乎不明白如何使用它以及要传递哪些参数。

0 投票
1 回答
626 浏览

c - 如何捕获pointermotion事件并将指针限制在一个区域内?

我在 Ubuntu 16.10 的两台显示器上运行两个全屏应用程序。app1 需要指针并且必须始终保持焦点,所以我需要将指针锁定在 app1 中。

我写了一个工具来抓取这样的指针:

这个工具可以捕获指针的事件,并限制指针停留在app1中,但是指针不能在app1中进行任何操作。除运动外的所有指针事件均无效。对代码有什么建议吗?或者有什么其他的想法来完成这项工作?

0 投票
2 回答
832 浏览

linux - X11 XGrabPointer,如何在释放鼠标之前清除所有事件?

我能够抓住鼠标,但我的问题是在抓住鼠标时发生的鼠标事件只是排队,并且在我释放鼠标后发生。

这是我到目前为止的代码:

如您所见,我尝试以多种方式使用所有事件,例如使用 XPending 和 XNextEvent、使用 XFlush 以及使用 XSync。无论我尝试什么功能,我在鼠标被抓住时所做的所有鼠标事件都发生在我关闭显示器之后。

有人可以帮忙吗?