我需要在X11子窗口中处理事件(MouseDown,MouseUp,MouseMove,KeyDown,KeyUp)。 这个孩子的X11窗口的父 – GtkWidget,所以我不能创build主循环…
我怎样才能做到这一点?
谢谢!
每次触发Form.Load事件
如何判断Win32_NTLogEvent InsertionString是否存在?
将ETW事件发送到全局“应用程序”日志
在C#中拦截窗口运动
在Powershell中使用Get-EventSubscriber cmdlet
在Visual C ++ MFC中启动窗口时的事件顺序
Windows窗体线程和事件 – ListBox更新迅速,但进度条经历了巨大的延迟
在Windows上检测与Java上的Samba共享的文件系统更改
(Linux)从PID:VID连接的USB设备获取/ dev / input / eventX
检测Java应用程序中的Windows注销事件
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);
那么,你需要一些事件泵,并作为一个共享的X显示器连接手段上的子窗口,这是连接到主事件循环。 从技术上讲,你可以用自己的显示连接和事件循环启动第二个线程。 不幸的是Xlib并不是非常安全的,特别是在这方面。 你可以用Xcb做。
另一种方法是把孩子置于一个单独的过程中,并使用XEmbed。
XSelectInput ?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。