C 带Glut的键盘处理程序
我写这段代码是为了使用Glut处理键盘C 带Glut的键盘处理程序,c,linux,glut,C,Linux,Glut,我写这段代码是为了使用Glut处理键盘 #include <stdio.h> #include <GL/glut.h> void process_Normal_Keys(int key, int x, int y) { switch (key) { case 27 : break; case 100 : printf("GLUT_KEY_LEFT %d\n",key); break; c
#include <stdio.h>
#include <GL/glut.h>
void process_Normal_Keys(int key, int x, int y)
{
switch (key)
{
case 27 : break;
case 100 : printf("GLUT_KEY_LEFT %d\n",key); break;
case 102: printf("GLUT_KEY_RIGHT %d\n",key); ; break;
case 101 : printf("GLUT_KEY_UP %d\n",key); ; break;
case 103 : printf("GLUT_KEY_DOWN %d\n",key); ; break;
}
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutKeyboardFunc( process_Normal_Keys );
glutMainLoop();
return 0;
}
#包括
#包括
无效进程\u正常\u键(int键、int x、int y)
{
开关(钥匙)
{
案例27:断裂;
案例100:printf(“GLUT\u键\u左%d\n”,键);中断;
案例102:printf(“GLUT_KEY_RIGHT%d\n”,KEY);;break;
案例101:printf(“GLUT_KEY_UP%d\n”,KEY);;break;
案例103:printf(“GLUT_KEY_DOWN%d\n”,KEY);;break;
}
}
int main(int argc,字符**argv)
{
glutInit(&argc,argv);
glutKeyboardFunc(处理正常按键);
glutMainLoop();
返回0;
}
当我运行这个程序时,我什么都没有。有人能帮忙吗?几点注意事项:
无符号字符,int,int
作为参数,而不是int,int,int
,您只是占用了更多内存空间glutSpecialFunc
,因为glutKeyboardFunc
用于普通键,如“W”、“A”等,而glutSpecialFunc
用于箭头键和转义键等,并获取指向具有3int
s的函数的函数指针你的建议很有用,但没有解决我的问题;)@这是因为你甚至没有初始化一个窗口,我以为你是在理论上讲这段代码。您的代码应该如下所示:好吧,给定的代码运行良好。但我不喜欢任何窗口显示,我只需要控制台应用程序中的键盘处理程序。