Cocoaでキーボードの押下状態取得


やあ子供たち。おじさんのもとにムーンフェスタのCDが届いたぞ。しかも初回限定でみんなのうたの映像も入ってるバージョンだよ。時間がないから見れないけどな。
さて今日はCocoaでキーボードのある特定のキーが押されているかどうかの確認をする方法の紹介だよ。結論から行くと、以下のようなコードになったよ。

        CGEventSourceStateID eventSource
        = kCGEventSourceStateCombinedSessionState;    
        if ( ::CGEventSourceKeyState(eventSource, 18 ) )
            std::cout << "key '1' is now being get pressed.";

さてさて、参考にしたページは、こことか、ここだった。とくに後者のところは、virtual key code の値が載ってる良心的な書き込みのあるページだよ。
キーボードがpressed されているかどうかだけ知りたいというケースは、インタラクティブ系のアプリだと、キー押しながらマウス動かしたりとかあるから、これはなかなか重要な一歩だよな。
じゃ今日はこの辺で。グッド・ラック!