Merge pull request #764 from Atlante45/fix_key_press_event

Fix key press event
This commit is contained in:
Stephen Birarda 2013-08-02 18:06:39 -07:00
commit dbc1152fba
3 changed files with 129 additions and 134 deletions

View file

@ -571,9 +571,8 @@ void Application::keyPressEvent(QKeyEvent* event) {
_myAvatar.getHand().setRaveGloveEffectsMode((QKeyEvent*)event); _myAvatar.getHand().setRaveGloveEffectsMode((QKeyEvent*)event);
} }
bool alt = event->modifiers().testFlag(Qt::AltModifier); bool isMeta = event->modifiers().testFlag(Qt::MetaModifier);
bool meta = event->modifiers().testFlag(Qt::MetaModifier); bool isShifted = event->modifiers().testFlag(Qt::ShiftModifier);
bool shifted = event->modifiers().testFlag(Qt::ShiftModifier);
switch (event->key()) { switch (event->key()) {
case Qt::Key_BracketLeft: case Qt::Key_BracketLeft:
_viewFrustumOffsetYaw -= 0.5; _viewFrustumOffsetYaw -= 0.5;
@ -646,9 +645,9 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_C: case Qt::Key_C:
if (shifted) { if (isShifted) {
_occlusionCulling->trigger(); _occlusionCulling->trigger();
} else if (meta) { } else if (isMeta) {
chooseVoxelPaintColor(); chooseVoxelPaintColor();
} else { } else {
_myAvatar.setDriveKeys(DOWN, 1); _myAvatar.setDriveKeys(DOWN, 1);
@ -660,7 +659,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_S: case Qt::Key_S:
if (shifted) { if (isShifted) {
doTreeStats(); doTreeStats();
} else { } else {
_myAvatar.setDriveKeys(BACK, 1); _myAvatar.setDriveKeys(BACK, 1);
@ -673,7 +672,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_G: case Qt::Key_G:
if (shifted) { if (isShifted) {
_gravityUse->trigger(); _gravityUse->trigger();
} else { } else {
_eyedropperMode->trigger(); _eyedropperMode->trigger();
@ -681,7 +680,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_A: case Qt::Key_A:
if (shifted) { if (isShifted) {
_renderAtmosphereOn->trigger(); _renderAtmosphereOn->trigger();
} else { } else {
_myAvatar.setDriveKeys(ROT_LEFT, 1); _myAvatar.setDriveKeys(ROT_LEFT, 1);
@ -701,23 +700,23 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_Up: case Qt::Key_Up:
_myAvatar.setDriveKeys(shifted ? UP : FWD, 1); _myAvatar.setDriveKeys(isShifted ? UP : FWD, 1);
break; break;
case Qt::Key_Down: case Qt::Key_Down:
_myAvatar.setDriveKeys(shifted ? DOWN : BACK, 1); _myAvatar.setDriveKeys(isShifted ? DOWN : BACK, 1);
break; break;
case Qt::Key_Left: case Qt::Key_Left:
_myAvatar.setDriveKeys(shifted ? LEFT : ROT_LEFT, 1); _myAvatar.setDriveKeys(isShifted ? LEFT : ROT_LEFT, 1);
break; break;
case Qt::Key_Right: case Qt::Key_Right:
_myAvatar.setDriveKeys(shifted ? RIGHT : ROT_RIGHT, 1); _myAvatar.setDriveKeys(isShifted ? RIGHT : ROT_RIGHT, 1);
break; break;
case Qt::Key_I: case Qt::Key_I:
if (shifted) { if (isShifted) {
_myCamera.setEyeOffsetOrientation(glm::normalize( _myCamera.setEyeOffsetOrientation(glm::normalize(
glm::quat(glm::vec3(0.002f, 0, 0)) * _myCamera.getEyeOffsetOrientation())); glm::quat(glm::vec3(0.002f, 0, 0)) * _myCamera.getEyeOffsetOrientation()));
} else { } else {
@ -727,7 +726,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_K: case Qt::Key_K:
if (shifted) { if (isShifted) {
_myCamera.setEyeOffsetOrientation(glm::normalize( _myCamera.setEyeOffsetOrientation(glm::normalize(
glm::quat(glm::vec3(-0.002f, 0, 0)) * _myCamera.getEyeOffsetOrientation())); glm::quat(glm::vec3(-0.002f, 0, 0)) * _myCamera.getEyeOffsetOrientation()));
} else { } else {
@ -737,7 +736,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_J: case Qt::Key_J:
if (shifted) { if (isShifted) {
_myCamera.setEyeOffsetOrientation(glm::normalize( _myCamera.setEyeOffsetOrientation(glm::normalize(
glm::quat(glm::vec3(0, 0.002f, 0)) * _myCamera.getEyeOffsetOrientation())); glm::quat(glm::vec3(0, 0.002f, 0)) * _myCamera.getEyeOffsetOrientation()));
} else { } else {
@ -747,7 +746,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_M: case Qt::Key_M:
if (shifted) { if (isShifted) {
_myCamera.setEyeOffsetOrientation(glm::normalize( _myCamera.setEyeOffsetOrientation(glm::normalize(
glm::quat(glm::vec3(0, -0.002f, 0)) * _myCamera.getEyeOffsetOrientation())); glm::quat(glm::vec3(0, -0.002f, 0)) * _myCamera.getEyeOffsetOrientation()));
} else { } else {
@ -757,7 +756,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_U: case Qt::Key_U:
if (shifted) { if (isShifted) {
_myCamera.setEyeOffsetOrientation(glm::normalize( _myCamera.setEyeOffsetOrientation(glm::normalize(
glm::quat(glm::vec3(0, 0, -0.002f)) * _myCamera.getEyeOffsetOrientation())); glm::quat(glm::vec3(0, 0, -0.002f)) * _myCamera.getEyeOffsetOrientation()));
} else { } else {
@ -767,7 +766,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_Y: case Qt::Key_Y:
if (shifted) { if (isShifted) {
_myCamera.setEyeOffsetOrientation(glm::normalize( _myCamera.setEyeOffsetOrientation(glm::normalize(
glm::quat(glm::vec3(0, 0, 0.002f)) * _myCamera.getEyeOffsetOrientation())); glm::quat(glm::vec3(0, 0, 0.002f)) * _myCamera.getEyeOffsetOrientation()));
} else { } else {
@ -782,14 +781,14 @@ void Application::keyPressEvent(QKeyEvent* event) {
_lookingInMirror->trigger(); _lookingInMirror->trigger();
break; break;
case Qt::Key_F: case Qt::Key_F:
if (shifted) { if (isShifted) {
_frustumOn->trigger(); _frustumOn->trigger();
} else { } else {
_fullScreenMode->trigger(); _fullScreenMode->trigger();
} }
break; break;
case Qt::Key_V: case Qt::Key_V:
if (shifted) { if (isShifted) {
_renderVoxels->trigger(); _renderVoxels->trigger();
} else { } else {
_addVoxelMode->trigger(); _addVoxelMode->trigger();
@ -799,7 +798,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
_manualFirstPerson->trigger(); _manualFirstPerson->trigger();
break; break;
case Qt::Key_R: case Qt::Key_R:
if (shifted) { if (isShifted) {
_frustumRenderModeAction->trigger(); _frustumRenderModeAction->trigger();
} else { } else {
_deleteVoxelMode->trigger(); _deleteVoxelMode->trigger();
@ -809,7 +808,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
_colorVoxelMode->trigger(); _colorVoxelMode->trigger();
break; break;
case Qt::Key_O: case Qt::Key_O:
if (shifted) { if (isShifted) {
_viewFrustumFromOffset->trigger(); _viewFrustumFromOffset->trigger();
} else { } else {
_selectVoxelMode->trigger(); _selectVoxelMode->trigger();
@ -825,14 +824,10 @@ void Application::keyPressEvent(QKeyEvent* event) {
} }
break; break;
case Qt::Key_Plus: case Qt::Key_Plus:
if (alt) {
increaseAvatarSize(); increaseAvatarSize();
}
break; break;
case Qt::Key_Minus: case Qt::Key_Minus:
if (alt) {
decreaseAvatarSize(); decreaseAvatarSize();
}
break; break;
case Qt::Key_1: case Qt::Key_1:
@ -1930,8 +1925,8 @@ void Application::initMenu() {
"First Person", this, SLOT(setRenderFirstPerson(bool)), Qt::Key_P))->setCheckable(true); "First Person", this, SLOT(setRenderFirstPerson(bool)), Qt::Key_P))->setCheckable(true);
(_manualThirdPerson = renderMenu->addAction( (_manualThirdPerson = renderMenu->addAction(
"Third Person", this, SLOT(setRenderThirdPerson(bool))))->setCheckable(true); "Third Person", this, SLOT(setRenderThirdPerson(bool))))->setCheckable(true);
renderMenu->addAction("Increase Avatar Size", this, SLOT(increaseAvatarSize()), Qt::ALT | Qt::Key_Plus); renderMenu->addAction("Increase Avatar Size", this, SLOT(increaseAvatarSize()), Qt::Key_Plus);
renderMenu->addAction("Decrease Avatar Size", this, SLOT(decreaseAvatarSize()), Qt::ALT | Qt::Key_Minus); renderMenu->addAction("Decrease Avatar Size", this, SLOT(decreaseAvatarSize()), Qt::Key_Minus);
QMenu* toolsMenu = menuBar->addMenu("Tools"); QMenu* toolsMenu = menuBar->addMenu("Tools");