X11 中单击事件上的全局鼠标挂钩
Global mouse hook on click events in X11
我阅读了很多关于 X11 图形系统的信息,发现了很多关于这个问题的问题,但没有答案。所以让我问更多的时间。
我需要钩子机制的经典实现(如SetWindowsHookEx)或类UNIX操作系统中的任何其他方法,只有一个条件:能够在不阻塞原始事件的情况下侦听事件(如XGrabButton和XUngrabButton)。
附言本,这是达尼拉。我需要帮助!®
我最终从 Xnee 获取源代码 - 它允许记录所有输入事件,包括具有非阻塞逻辑的键盘和鼠标。唯一的限制是我必须询问是否有任何事件以 100 毫秒的间隔循环,但这对我来说没关系 - 根本没有处理器加载。
不可能全局(所有事件/所有窗口),除非您读取低级通信(使用 pcap 或用为您提供所有数据的代理替换真正的 xserver)
要获取特定窗口的通知,请更改该窗口的事件掩码。服务器为每个客户端的窗口保留事件掩码的单独副本,并通知对事件匹配掩码感兴趣的每个客户端。例如,如果从连接向根窗口事件掩码添加PointerMotion
位,则当鼠标移到根窗口上时,将获得指针事件(给定它是可见的)
相关文章:
- 为什么在全局范围内使用"extern int a"似乎不行?
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 当vector是tje全局变量时,c++中vector的内存管理
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 如何创建一个空的全局类并在启动时实例化它
- 内联函数中具有内部链接的全局变量
- WinAPI挂钩鼠标
- 为什么虚函数不能是静态的和全局的?
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 将鼠标悬停在问题上时与预期">"相关的代码错误
- 跟踪滚动条上的鼠标事件
- QT/c++ 如何检查全局是鼠标按下还是释放?
- 是否可以捕获全局鼠标事件
- C :使用全局鼠标钩的窗口重新位置
- 如何在后台线程上正确设置全局鼠标挂钩
- 如何检测全局鼠标按钮事件
- X11 中单击事件上的全局鼠标挂钩
- UWP中的鼠标和键盘挂钩:原始输入VS KeyEvents VS全局挂钩
- 如何在没有全局挂钩的情况下获得鼠标/键盘活动的通知
- 捕捉全局鼠标滚动,并向应用程序发送自定义鼠标滚动事件