zoukankan      html  css  js  c++  java
  • OpenGL鼠标和键盘控制总结

    void special(int key, int x, int y)
    {
         char *name;
     
         switch (key) {
                case GLUT_KEY_F1:
                    name = "F1";
               break;
               case GLUT_KEY_F2:
                   name = "F2";
               break;
               case GLUT_KEY_F3:
                   name = "F3";
               break;
               case GLUT_KEY_F4:
                   name = "F4";
               break;
               case GLUT_KEY_F5:
                   name = "F5";
               break;
               case GLUT_KEY_F6:
                   name = "F6";
               break;
               case GLUT_KEY_LEFT:
                   name = "Left";
               break;
               case GLUT_KEY_UP:
                  name = "Up";
               break;
               case GLUT_KEY_RIGHT:
                  name = "Right";
               break;
               case GLUT_KEY_DOWN:
                  name = "Down";
               break;
               case GLUT_KEY_PAGE_UP:
                  name = "Page up";
               break;
               case GLUT_KEY_PAGE_DOWN:
                  name = "Page down";
               break;
               case GLUT_KEY_HOME:
                  name = "Home";
               break;
               case GLUT_KEY_END:
                   name = "End";
               break;
               case GLUT_KEY_INSERT:
                  name = "Insert";
               break;
               default:
                  name = "UNKONW";
               break;
          }
          printf("special: %s %d,%d\n", name, x, y);
    }
    static void Key(unsigned char key, int x, int y)
    {
          switch (key) {
                case 't':
                           printf("t\n");
                break;
                case 27:
                           printf("exit\n");
               exit(0);
          }
    }
     
    void mouse(int button, int state, int x, int y)
    {
           switch (button) {
                case GLUT_LEFT_BUTTON:
                          if (state == GLUT_DOWN)
                                     printf("GLUT_LEFT_BUTTON\n");
               break;
               case GLUT_MIDDLE_BUTTON:
                          if (state == GLUT_DOWN)
                                     printf("GLUT_MIDDLE_BUTTON\n");
               break;
               case GLUT_RIGHT_BUTTON:
                          if (state == GLUT_DOWN)
                                     printf("GLUT_RIGHT_BUTTON\n");
               break;
               default:
     
               break;
          }
    }
     
    以上函数调用方法为:
    glutKeyboardFunc(Key);
    glutSpecialFunc(special);
    glutMouseFunc(mouse);
    Nothing is impossible, if you set your mind to it !
  • 相关阅读:
    开发必会系列:加密
    开发必会系列:《Java多线程编程实战》读书笔记
    基础教材系列:Linux原理《趣谈linux》极客时间笔记
    安全测试系列:《web安全深度剖析》读书笔记
    基础教材系列:《计算机网络自顶向下方法》读书笔记
    开发必会系列:《spring实战(第4版)》读书笔记
    开发必会系列:《设计模式》读书笔记
    性能测试面试问答:问题定位思路
    linux命令---dstat强大的性能监测工具(通用的系统资源统计工具:可以实时的监控cpu、磁盘、网络、IO、内存等使用情况。)
    Java中System.setProperty()用法
  • 原文地址:https://www.cnblogs.com/penny1141/p/2470109.html
Copyright © 2011-2022 走看看