c++ - 我如何在 GTK 中获得键盘和鼠标输入?

标签 c++ c input gtk

我想在 GTK+ 中接收键盘和鼠标输入。对于键盘输入,我尝试使用 accelgroup,但它不像 SDL 或 SFML 那样流畅。当我按下一个键时。它响应,暂停一段时间,再次响应,暂停一段时间等等。通过鼠标输入,我的意思是在给定时间获取鼠标的位置以及是否单击了鼠标按钮。通过键盘输入,我想跟踪按键和释放。我将 GTK+ 和 cairo 用于教育图形程序。有点像 Turtle Graphics。有帮助吗?或者任何与 GTK+ 一起工作并跟踪键盘和鼠标输入的第三方库(C 或 C++)?

最佳答案

您想做的事情比较复杂。看看

http://developer.gnome.org/gtk-tutorial/2.90/

特别是在

http://developer.gnome.org/gtk-tutorial/2.90/x344.html

http://developer.gnome.org/gtk-tutorial/2.90/c2422.html

第二个链接包含键盘回调的源代码,似乎可以执行您想要的操作。第三个链接是使用鼠标的简单绘图程序教程的开头。

编辑:为了完整起见,我会提到 gtkglext 库支持在 GTK+ 中使用 OpenGL。见

http://projects.gnome.org/gtkglext/

关于c++ - 我如何在 GTK 中获得键盘和鼠标输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7696838/

相关文章:

c - printf 不起作用

c - 如何在 c ( linux ) 中监视字节输入/输出网络流量

c - 从带有指针的函数返回更大类型的日期

java - 需要帮助将文件加载到 java 程序中

jQuery:将所有输入(选择、单选按钮、复选框等)的值从页面的一个部分复制到另一部分

ios - 是否有一些可以手动显示键盘的ios API

c++ - ncurses:奇怪的行格式

c++ - 如何在宏中使用 vsprintf/vsnprintf?

c++ - "Member function must be called or its address taken in function"C++错误

C++/C多线程同时读取gz文件