キーボード入力2010年1月4日 | |
![]() ファイル使い方ウインドウにフォーカスしてキーボードのキーを押すと、メッセージが表示されます。 内容GLUT を使ってキーボード入力を拾います。コールバック関数を使います。 キーボード入力を拾うコールバック関数を設定する関数は、以下の二つです。
glutKeyboardFunc(), glutSpecialFunc() それぞれに設定するコールバック関数の定義は、次のようにします。 void key(unsigned char key, int x, int y); void special(int key, int x, int y); 引数の key にはキーの種類、x, y にはウインドウ上のマウスの位置が入ります。key() の引数 key の値は、押されたキーの文字が入ってきます。ESC など文字のキーでないものの場合は、それ相当の値が入ります。たとえば、以下の値が入ってきます (printf 調べ)。 #define KEY_ESC 0x1b #define KEY_DELETE 0x7f #define KEY_BACKSPACE 0x08 #define KEY_ENTER 0x0d special() の引数 key には、次のような値が入ります。
以上のほかに、Shift, Ctrl, Alt キーが押されているかどうかを glutGetModifiers() で調べることができます。この関数は引数を取らず、以下の値を返します。
| |
| PENGUINITIS | |