GLFWキーボード入力の取り扱い

glfw-key.png
if(glfwGetKey(opengl.m_window,'Z')){//アルファベットは大文字で書くこと!
    //なんかの処理    
    }

シフト押しながらこのキーを押した、を検出したいとき

if(glfwGetKey(opengl.m_window,'E')){
            if(glfwGetKey(opengl.m_window,GLFW_KEY_LEFT_SHIFT)){
            cout<<"E+左のシフトキー"<<endl;
        }
        }

http://www.glfw.org/docs/3.0/group__keys.html

キーコールバック関数を使う方法

//描画ループに入る前、ウィンドウ作った後に書く
// キー入力を処理するコールバック関数を設定。
glfwSetKeyCallback(window, keyCallback);

コールバック関数
}
static void keyCallback(GLFWwindow *window, int key, int scancode, int action, int mods)
{
    if (action == GLFW_PRESS) {
        switch(key)
        {
        case GLFW_KEY_ESCAPE:// ESCキーでウィンドウのクローズフラグを設定。
            // Sets the close flag of the specified window.
            glfwSetWindowShouldClose(window, GL_TRUE);
            break;
        }
    }
}

mods….ShiftやCtrlの検出

GLFW_MOD_SHIFT 0x0001
GLFW_MOD_CONTROL 0x0002
GLFW_MOD_ALT 0x0004
GLFW_MOD_SUPER 0x0008
Bibliography

key

サポートサイト Wikidot.com key