• GLUT Tutorials 7: GLUT高级键盘控制


    博客转自:http://blog.csdn.net/xie_zi/article/details/1925667

    这节我们将去介绍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:回调函数的函数名。
    我们在下一节,提供一个程序也就是这一节的代码,来看看这些函数怎么工作。现在这个教程代码已经上传在Github,教程列表在此处
     
  • 相关阅读:
    .net core使用 AutoMapper
    使用 ASP.NET Core 和 Entity Framework Core 入门
    使用vue-quill-editor图片上传
    使用NPOI 做Excel导出
    利用SmtpClient类发送邮件
    使用Area(区域)会遇到的问题
    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器
    MySQL的内存都用在了哪里
    (转载)MySQL buffer pool中三种page以及链表
    MySQL8.0备份工具之Xtrabackup
  • 原文地址:https://www.cnblogs.com/flyinggod/p/12926524.html
Copyright © 2020-2023  润新知