Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5431979
  • 博文数量: 763
  • 博客积分: 12108
  • 博客等级: 上将
  • 技术积分: 15717
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-28 21:21
个人简介

业精于勤,荒于嬉

文章分类

全部博文(763)

文章存档

2018年(6)

2017年(15)

2016年(2)

2015年(31)

2014年(14)

2013年(87)

2012年(75)

2011年(94)

2010年(190)

2009年(38)

2008年(183)

2007年(28)

分类: C/C++

2010-05-25 19:04:43

   高级键盘控制(keyboard features)
 
这节我们将去介绍4个新的处理键盘输入的函数。
 
第一个函数允许我们去禁止keyboard repeat。函数原型如下:
int glutSetKeyRepeat(int repeatMode);
参数:
repeatMode:开启,禁用,或恢复auto repeat模式,下面是它可能的取值。
RepeatMode的可能取值如下:
 GLUT_KEY_REPEAT_OFF:关闭auto repeat模式。
 GLUT_KEY_REPEAT_ON:开启auto repeat模式。
 GLUT_KEY_REPEAT_DEFAULT:把auto repeat模式恢复到默认状态。
 
注意这个函数,作用范围是全局性的。也就是,它会影响所有窗口的repeat模式。不仅仅是我们应用程序这一个。因此注意当使用这个函数关闭auto repeat模式后,有必要在程序结束时将auto repeat模式重设到默认模式。
 
GLUT提供我们另外一个简单的函数,来禁用keyboard repeat,这个让我们安全的忽视keyboard repeat,而不会影响其他程序。函数原型如下:
Int glutIgnoreKeyRepeat(int repeatMode);
参数:
RepeatMode:传递0,开启auto repeat,非0则禁用auto repeat。
在一些情况下,当key repeat发生时,我们将不接受函数回调。然而如果你想在一个key被按下后,执行一个动作,你就需要知道这个key什么时候松开。GLUT提供了两个函数注册相关的回调函数。
Void glutKeyboardUpFunc(void (*func)(unsigned char key,int x,int y));
Void glutSpecialUpFunc(void (*func)(int key,int x,int y));
参数:
Func:回调函数的函数名。
我们在下一节,提供一个程序也就是上一节的代码,来看看这些函数怎么工作。
 
(这章很不好翻译。好多都不知道怎么说,汗。- -|| 有需要的看原文。    我感觉原文写的也不咋清楚。还是看下一节的例子。 呵呵。)

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xie_zi/archive/2007/12/09/1925667.aspx
阅读(2298) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~