void StarsApp::keyDown( KeyEvent event ) { #ifdef WIN32 // allows the use of the media buttons on your Windows keyboard to control the music switch( event.getNativeKeyCode() ) { case VK_MEDIA_NEXT_TRACK: // play next music file playMusic( getNextFile(mMusicPath) ); return; case VK_MEDIA_PREV_TRACK: // play next music file playMusic( getPrevFile(mMusicPath) ); return; case VK_MEDIA_STOP: stopMusic(); return; case VK_MEDIA_PLAY_PAUSE: if( mSoundEngine && mMusic ) { if( mMusic->isFinished() ) playMusic( mMusicPath ); else mMusic->setIsPaused( !mMusic->getIsPaused() ); } return; } #endif switch( event.getCode() ) { case KeyEvent::KEY_f: // toggle full screen setFullScreen( !isFullScreen() ); if( !isFullScreen() ) forceShowCursor(); break; case KeyEvent::KEY_v: gl::enableVerticalSync( !gl::isVerticalSyncEnabled() ); break; case KeyEvent::KEY_ESCAPE: // quit the application quit(); break; case KeyEvent::KEY_SPACE: // enable animation mCamera.setup(); break; case KeyEvent::KEY_g: // toggle grid mIsGridVisible = !mIsGridVisible; break; case KeyEvent::KEY_l: // toggle labels mIsLabelsVisible = !mIsLabelsVisible; break; case KeyEvent::KEY_c: // toggle constellations mIsConstellationsVisible = !mIsConstellationsVisible; break; case KeyEvent::KEY_a: // toggle cursor arrow if(mIsCursorVisible) forceHideCursor(); else forceShowCursor(); break; case KeyEvent::KEY_s: // toggle stereoscopic view mIsStereoscopic = !mIsStereoscopic; mIsCylindrical = false; mStars.setAspectRatio( mIsStereoscopic ? 0.5f : 1.0f ); break; case KeyEvent::KEY_d: // cylindrical panorama mIsCylindrical = !mIsCylindrical; mIsStereoscopic = false; // adjust line width mGrid.setLineWidth( mIsCylindrical ? 3.0f : 1.5f ); mConstellations.setLineWidth( mIsCylindrical ? 2.0f : 1.0f ); break; case KeyEvent::KEY_RETURN: createShader(); break; case KeyEvent::KEY_PLUS: case KeyEvent::KEY_EQUALS: case KeyEvent::KEY_KP_PLUS: mCamera.setFov( mCamera.getFov() + 0.1 ); break; case KeyEvent::KEY_MINUS: case KeyEvent::KEY_UNDERSCORE: case KeyEvent::KEY_KP_MINUS: mCamera.setFov( mCamera.getFov() - 0.1 ); break; } }
void StarsApp::keyDown( KeyEvent event ) { #ifdef WIN32 // allows the use of the media buttons on your Windows keyboard to control the music switch( event.getNativeKeyCode() ) { case VK_MEDIA_NEXT_TRACK: // play next music file playMusic( getNextFile(mMusicPath) ); return; case VK_MEDIA_PREV_TRACK: // play next music file playMusic( getPrevFile(mMusicPath) ); return; case VK_MEDIA_STOP: stopMusic(); return; case VK_MEDIA_PLAY_PAUSE: if( mSoundEngine && mMusic ) { if( mMusic->isFinished() ) playMusic( mMusicPath ); else mMusic->setIsPaused( !mMusic->getIsPaused() ); } return; } #endif switch( event.getCode() ) { case KeyEvent::KEY_f: // toggle full screen setFullScreen( !isFullScreen() ); if( !isFullScreen() ) forceShowCursor(); break; case KeyEvent::KEY_v: gl::enableVerticalSync( !gl::isVerticalSyncEnabled() ); break; case KeyEvent::KEY_ESCAPE: // quit the application quit(); break; case KeyEvent::KEY_SPACE: // enable animation mCamera.setup(); break; case KeyEvent::KEY_g: // toggle grid mIsGridVisible = !mIsGridVisible; break; case KeyEvent::KEY_l: // toggle labels mIsLabelsVisible = !mIsLabelsVisible; break; case KeyEvent::KEY_c: // toggle constellations mIsConstellationsVisible = !mIsConstellationsVisible; break; case KeyEvent::KEY_a: // toggle cursor arrow if(mIsCursorVisible) forceHideCursor(); else forceShowCursor(); break; case KeyEvent::KEY_s: // toggle stereoscopic view mIsStereoscopic = !mIsStereoscopic; mStars.setAspectRatio( mIsStereoscopic ? 0.5f : 1.0f ); break; /*// case KeyEvent::KEY_KP7: mBackground.rotateX(-0.05f); break; case KeyEvent::KEY_KP9: mBackground.rotateX(+0.05f); break; case KeyEvent::KEY_KP4: mBackground.rotateY(-0.05f); break; case KeyEvent::KEY_KP6: mBackground.rotateY(+0.05f); break; case KeyEvent::KEY_KP1: mBackground.rotateZ(-0.05f); break; case KeyEvent::KEY_KP3: mBackground.rotateZ(+0.05f); break; //*/ } }