设置一个回调函数
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
{
// 设置按键
if( key == GLFW_KEY_ESCAPE && action == GLFW_PRESS )
glfwSetWindowShouldClose(window, GL_TRUE);
}
int main(void) {
...
// 设置回调函数
glfwSetKeyCallback(window, key_callback);
...
}
参数解释
- key include/GLFW/glfw3.h 中定义的 GLFW_KEY_* 包含一些按键的ASCII码
- scancde
- action 按键动作
-
GLFW_RELEASE 松开
-
GLFW_PRESS 按下
-
GLFW_REPEAT 重复,一直按着
- mods 按键模式
-
GLFW_MOD_SHIFT 按下Shift键
-
GLFW_MOD_CONTROL 按下Ctrl键
-
GLFW_MOD_ALT 按下Alt键
- GLFW_MOD_SUPER