【问题标题】:Global mouse hook on click events in X11 [closed]X11中单击事件的全局鼠标挂钩[关闭]
【发布时间】:2015-01-30 19:42:41
【问题描述】:

我阅读了很多关于X11图形系统的信息,发现很多关于这个问题的问题没有答案。所以让我再问一下。

我需要钩子机制的经典实现(如 SetWindowsHookEx)或类似 UNIX 的操作系统中的任何其他方法,只有一个条件:能够监听事件不阻塞原始事件(就像 XGrabButton 和 XUngrabButton 一样)。

附:本,这是丹妮拉。我需要帮助! ®

【问题讨论】:

    标签: c++ hook x11 hotkeys xserver


    【解决方案1】:

    我最终从Xnee 获取源代码 - 它允许记录所有输入事件,包括具有非阻塞逻辑的键盘和鼠标。唯一的限制是我必须以 100 毫秒的间隔询问是否有任何事件在循环中,但这对我来说没问题 - 根本没有处理器加载。

    【讨论】:

      【解决方案2】:

      除非您阅读低级通信(使用 pcap 或用代理替换真正的 xserver 来为您提供所有数据),否则不可能全局执行(所有事件/所有窗口)

      要获得特定窗口的通知,您可以更改该窗口的事件掩码。服务器为每个客户端的窗口保留单独的事件掩码副本,并通知每个对匹配掩码的事件感兴趣的客户端。例如,如果您从连接中将PointerMotion 位添加到根窗口事件掩码,当鼠标移到根窗口上时(假设它是可见的),您将获得指针事件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-01
        • 1970-01-01
        • 2016-12-14
        相关资源
        最近更新 更多