OpenGL with GLUT:キーボードの認識
GLUTにおいてキーボード上のキーは3種類に分かれるようである
- 文字コードを持つキー
- アルファベット(大文字小文字はわけて考える)
- 記号(&や%、!とか。)
- Functionキー、上下左右キー、Shift、Alt、Ctrlキー、、、
- 特殊キーと称す。
- glut.hにマクロ定義されているキーと言う方が正しい
- 日本語特有のキーは無いと思いまっす
- それ以外
- 半角/全角切り替えキーや変換、無変換キーはもちろん。
- ひょっとしてCapslockキーもない?調べてみないとわからない
多分、キーボードから送信されるキーコードを直接番号で指定すれば受け取れるのでは?とは思うが、互換性は失われるだろう。
問題は、なぜ分けられているのかで、これは担当するイベントが違うためである。glut内部で分けられているように思われる。
- 英数字キー
- glutKeyboardFunc()に登録する関数で処理する。
- 特殊キー
- glutSpecialFunc()に登録する関数で処理する。
英数字キーに特殊キーを処理させるのは不可能、どうやら全く送られてこないように思われる。
あ、、、shiftやctrlは
glutGetModifiers()なる関数も対応しているようす。また調べないとなあ