我的密钥码代码适用于所有键盘字母,但不适合 Enter 或或 tab> tab 。
。glfwSetCharCallback(window, character_callback);
void character_callback(GLFWwindow* window, unsigned int codepoint)
{
char c = codepoint;
printf("%c", c);
}
当我按选项卡或 enter 时,该功能甚至都不运行关于接收所有钥匙按下?
您应该使用glfwSetKeyCallback
而不是glfwSetCharCallback
,因为您对密钥而不是字符感兴趣。请参阅键盘输入文档和键盘键宏的列表。
我不确定为什么 tab 和 enter 不产生字符:它们通常会在其他工具包中分别产生0x09
和0x0d
(例如FreeGlut和QT(。但显然,这是Glfw希望它成为的方式,请参阅他们的问题 backpace未报告给字符回调:
Elmindreda于2017年4月12日评论•
使用Enter和Backspace等键的密钥回调。它提供了按下,重复和发布事件。