C 删除按键延迟

C 删除按键延迟,c,gtk,C,Gtk,我正在使用Gtk库用C编写一个游戏,玩家在其中控制一个可移动的角色。但是,我希望玩家能够握着一把钥匙,朝一个方向连续移动。我如何覆盖持有密钥的正常行为,即生成密钥事件,短暂暂停,然后密钥事件在连续流中发生 我注意到之前有人问过一个类似的问题,关于用Javascript做同样的事情;然而,答案并不能真正帮助在Gtk中实现相同的系统。我注意到有一个GtkDevice“类”;是否有一个与之相关的功能允许我控制键盘输入的缓冲?连接到GTK的按键按下事件和按键释放事件信号 它们将按照您的描述工作 您将负责

我正在使用Gtk库用C编写一个游戏,玩家在其中控制一个可移动的角色。但是,我希望玩家能够握着一把钥匙,朝一个方向连续移动。我如何覆盖持有密钥的正常行为,即生成密钥事件,短暂暂停,然后密钥事件在连续流中发生


我注意到之前有人问过一个类似的问题,关于用Javascript做同样的事情;然而,答案并不能真正帮助在Gtk中实现相同的系统。我注意到有一个GtkDevice“类”;是否有一个与之相关的功能允许我控制键盘输入的缓冲?

连接到GTK的
按键按下事件和
按键释放事件信号

它们将按照您的描述工作


您将负责跟踪您感兴趣的按键当前是否在给定时间按下。

连接到GTK的
按键按下事件
按键释放事件
信号

它们将按照您的描述工作


您有责任跟踪您感兴趣的按键当前是否在给定时间按下。

延迟/重复行为可能由您的操作系统控制,而不是由您的应用程序控制。您可以通过直接跟踪向下键/向上键事件来编写自己的支持。您确定GTK是编写游戏的最佳工具吗?我建议使用一个专门的游戏工具包,它将自动提供这些类型的工具。我想学习C语言的GUI以备将来使用,而且游戏非常简单,我不需要使用特殊的工具包。延迟/重复行为可能是由操作系统控制的,而不是由应用程序控制的。您可以通过直接跟踪向下键/向上键事件来编写自己的支持。您确定GTK是编写游戏的最佳工具吗?我建议使用一个专门的游戏工具包,它将自动提供这些类型的工具。我想学习C语言的GUI以备将来使用,而且游戏非常简单,我不需要使用特殊的工具包。在你发表评论之前,我想了一种解决方法,使用gtk_key_snooper_install()。我没有足够的声誉来回答我自己的问题,直到8个小时过去了,因为我问了这个问题,但明天我会发布我的解决方案。但谢谢你的帮助。事实上,你需要跟踪关键新闻/发布事件,而不是角色生成事件或类似事件。是的,我的解决方案正是你所建议的。感谢您的帮助。在您发表评论之前,我已经想到了一种解决方法,使用gtk_key_snooper_install()。我没有足够的声誉来回答我自己的问题,直到8个小时过去了,因为我问了这个问题,但明天我会发布我的解决方案。但谢谢你的帮助。事实上,你需要跟踪关键新闻/发布事件,而不是角色生成事件或类似事件。是的,我的解决方案正是你所建议的。谢谢你的帮助。