Rea*_*ion 4 c++ keyboard glut input
我正在学习使用这Pearson, Computer Graphics with OpenGL本书.
我目前正在努力做一个简单的方形移动,但在我超越自己之前,我需要确定我理解Glut中内置了哪些键.
我知道以下键:
GLUT_KEY_F1, GLUT_KEY_F2, ..., GLUT_KEY_F12 - F1至F12键GLUT_KEY_PAGE_UP, GLUT_KEY_PAGE_DOWN - Page Up和Page Down键GLUT_KEY_HOME, GLUT_KEY_END - 家庭和结束键GLUT_KEY_LEFT, GLUT_KEY_RIGHT, GLUT_KEY_UP, GLUT_KEY_DOWN - 方向键GLUT_KEY_INSERT - 插入键我要么在我的书中找到它们,要么在另一篇文章中的Stackoverflow上找到它们.
但还有吗?例如,对于键盘和鼠标上的所有键?
谢谢.
glut将键盘中的键除以glutSpecialFuncw/c 采用特殊键,如 F1、F2...、NUMPADS 等,同时glutKeyboardFunc采用所有可以由字符表示的键,如字母、数字、ESC('ASCII' 中的 27), ENTER('ASCII' 中的 32)等。
总之,glutKeyboardFunc采取char的是可以在不使用任何来表示参数“\”(反斜杠,像“\ t”的“\ n”)的任何字符之前的其余部分是由处理glutSpecialFunc
键盘有两组按钮:可以使用ASCII代码表示的按钮和不能使用ASCII代码表示的按钮.可以用ASCII表示的那些在按下时返回1个字节,那些不能返回两个字节的第一个字节是NULL
通过为您提供两组处理键盘事件的功能来解决这个问题:一个用于处理普通的ASCII标准按钮glutKeyboardFunc,另一个用于处理特殊的两个字节按钮 glutSpecialFunc
常用键盘特殊按钮的特殊功能有常量:
GLUT_KEY_F1:0x0001,
GLUT_KEY_F2:0x0002,
GLUT_KEY_F3:0x0003,
GLUT_KEY_F4:0x0004,
GLUT_KEY_F5:0x0005,
GLUT_KEY_F6:0x0006,
GLUT_KEY_F7:0x0007,
GLUT_KEY_F8:0x0008,
GLUT_KEY_F9:0x0009,
GLUT_KEY_F10:0x000A,
GLUT_KEY_F11:0x000B,
GLUT_KEY_F12:0x000C,
GLUT_KEY_LEFT:0x0064,
GLUT_KEY_UP:0x0065,
GLUT_KEY_RIGHT:0x0066,
GLUT_KEY_DOWN:0x0067,
GLUT_KEY_PAGE_UP:0x0068 ,
GLUT_KEY_PAGE_DOWN:0x0069,
GLUT_KEY_HOME:0x006A,
GLUT_KEY_END:0x006B,
GLUT_KEY_INSERT:0x006C,
GLUT_KEY_REPEAT_OFF:0x0000,
GLUT_KEY_REPEAT_ON:0x0001,
GLUT_KEY_REPEAT_DEFAULT:0x0002.
鼠标点击可以使用glutMouseFunc和鼠标按钮相关的常量
处理GLUT_LEFT_BUTTON:0x0000,
GLUT_MIDDLE_BUTTON:0x0001,
GLUT_RIGHT_BUTTON:0x0002
glut也可以处理glutJoystickFunc具有以下常量的
操纵杆GLUT_HAS_JOYSTICK:: 0x0264,
GLUT_OWNS_JOYSTICK:0x0265,
GLUT_JOYSTICK_BUTTONS:0x0266,
GLUT_JOYSTICK_AXES:0x0267,
GLUT_JOYSTICK_POLL_RATE:0x0268,
GLUT_JOYSTICK_BUTTON_A:0x0001,
GLUT_JOYSTICK_BUTTON_B:0x0002,
GLUT_JOYSTICK_BUTTON_C:0x0004,
GLUT_JOYSTICK_BUTTON_D:0x0008.
如果您使用游戏鼠标或带有更多按钮的键盘/操纵杆,您可以通过输出按下控制台的按钮来测试每个按钮返回的内容,然后在代码中直接使用此值来了解是否按下其中一个按钮
| 归档时间: |
|
| 查看次数: |
24490 次 |
| 最近记录: |