linux - 如何获取X11子窗口中的事件?

标签 linux events gtk x11 gdk

我需要处理 X11 子窗口中的事件(MouseDown、MouseUp、MouseMove、KeyDown、KeyUp)。这个子 X11 窗口的父窗口 - GtkWidget,所以我无法创建主循环...

我该怎么做?

谢谢!

最佳答案

XGrabPointer , XGrabKeyboard

如果你想从 gtk 小部件中获取事件,可以使用 g_signal_connect ()。

    g_signal_connect(G_OBJECT(mChild), "button_press_event",
                     G_CALLBACK(BPHandler), NULL);
    g_signal_connect(G_OBJECT(mChild), "key_press_event",
                     G_CALLBACK(KPHandler), NULL);

关于linux - 如何获取X11子窗口中的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821669/

相关文章:

Mysql 事件调度程序每月运行一次

c - 在 gtk 中显示来自互联网的图像

c++ - 重新定义 "class GtkwidgetDef"

c - 错误 : ‘parent_window’ undeclared

c - 为什么下面的C代码会跳过read()系统调用去执行下一个write()系统调用?

python - 我如何自动化我用 python 编写的爬虫程序每月运行一次?

linux - 这个shell脚本有什么作用?什么是标题复制和行复制?变量?

c++ - 如何打印 C++ 应用程序中所有线程的列表?

events - 有 connect.static 的事件吗?

c# - 需要在 webview Win 10 UWP 中获取鼠标事件