为什么鼠标没有GLFW_REPEAT?
Why there is no GLFW_REPEAT for the mouse?
按住鼠标按钮似乎很自然,但此功能仅用于关键事件。根据 glfw 文档:
#define GLFW_REPEAT 2
按住键直到重复。
但是按下和释放按钮,我们有解决键盘和鼠标输入的问题。
#define GLFW_PRESS 1
已按下键或鼠标按钮。
#define GLFW_RELEASE 0
已释放键或鼠标按钮。
我想知道是否有解决此问题的方法。此外,为什么鼠标忽略此功能。
问问自己,GLFW_REPEAT
触发的频率是多少?正确答案是此频率取决于用户的设置。它正是您按住字符键时字符在任何应用程序的任何输入字段中出现的频率。因此,GLFW_REPEAT
的唯一目的是在您的应用程序中实现打印,并使其看起来与机器上的所有其他应用程序保持一致。您绝对不应该使用GLFW_REPEAT
来实现 WASD 控制和其他类似的东西。
为什么鼠标没有GLFW_REPEAT
?因为可能没有具有重复鼠标输入概念的操作系统或桌面环境。如果需要,只需记住处理按下和释放事件时鼠标按钮的状态,并以所需的频率手动生成重复"事件"。如果您愿意,可以每帧执行一次,如果您有单独的输入线程,则甚至更快。
相关文章:
- Windows.h与GLFW.h的接口
- 无法将 GLFW 库与 Ubuntu 18.04 上的头文件链接
- 如何获取 GLFW 窗口 ID?
- GLFW需要链接什么?
- 如何在OpenGL(GLFW,很高兴)中进行2D缩放?
- GLFW glfwCreateWindowSurface return -7
- GLFW DDS 加载函数的 OpenGL 链路错误
- 在 GLFW 窗口中显示 FFMPEG 解码帧
- GLFW 切换布尔切换
- 同时使用Opengl CORE函数以及Comptability Profile - GLFW
- 对GLFW / Vulkan的未定义引用,尽管库似乎是链接的
- 无法让 cmake 链接到 GLFW 库
- 关于 Vulkan 并使用 GLFW 抽象出 Surface 创建
- 编译器无法链接/查找 GLFW
- glfw 的基本设置会导致与 emscripten 生成的 js 文件中的事件侦听器有关的运行时错误
- 如何将 glfw 库包含在C++项目中?
- glfw 在创建之前/创建时实例化窗口位置
- 我可以使用GLFW确定操纵杆的品牌和型号吗?
- 链接Visual Studio代码中的GLFW
- OpenGL GLFW 应用程序 - 客户端内存限制