首页 文章

使用XtAppMainLoop时获取X11鼠标点击和位置? (改进xload)

提问于
浏览
0

如何注册回调以获得鼠标右键和向上事件?

背景:标配许多UNIX风格的xload应用程序几乎很方便 . 它绘制了系统负载随时间变化的图表 . 它使用一个有缺陷的简单StripChart小部件;它使网格错误 . 我已经解决了这个问题,但现在我希望能够点击带状图表并获得与该负载相对应的时间 .

来源在这里:http://learjeff.net/forums/xload .

主要设置并调用XtAppMainLoop . 我想知道如何注册(对于子StripChart面板)处理程序以获取鼠标上下事件,以及如何在向下事件的面板中查找鼠标位置 . 我不是X11程序员;我只是在破解现有程序 . 我最后一次进行GUI编程是在X11之前(SunWindows) . 我曾经修改过X11来运行OSI TP4,但这并不需要太多的小部件知识 . 任何和所有帮助表示赞赏,包括指向正确查找功能的指针 . 谢谢!

同时,随意使用我修改过的xload应用程序 . 你必须猜测标签上的数字是什么意思 .

1 回答

  • 0

    该程序使用X Toolkit IntrinsicsXaw编写 .

    您想要向有问题的窗口小部件( coreactions 中的 actions 字段)和一个或多个翻译( tm_table 字段)添加一个或多个操作 .

    动作是为响应您(小部件编写者)定义的抽象事件而调用的C函数(例如 startDragging()pageDown() ) . 翻译将这些抽象事件映射到Xt理解的具体事件(例如 <Btn1Down><Key>KP_PageUp ) .

    在操作中,您可以访问已触发操作的 XEvent 结构,从那里您可以获得鼠标坐标或其他任何内容 .

    要查看如何设置操作和翻译,请查看其中一个现有的Xaw小部件,例如声像 . 您可以下载Xaw源here .

相关问题