From a77121a5882cd6145772df5a22c0ce64c70e4c0b Mon Sep 17 00:00:00 2001 From: Dante Ruiz Date: Wed, 14 Nov 2018 16:12:34 -0800 Subject: [PATCH] keyboard touch ups --- interface/resources/config/keyboard.json | 36 +++++++++---------- interface/resources/meshes/drumstick.fbx | Bin 63952 -> 40496 bytes interface/resources/sounds/keyboardPress.mp3 | Bin 0 -> 7313 bytes interface/resources/sounds/keyboard_key.mp3 | Bin 9089 -> 0 bytes interface/src/ui/Keyboard.cpp | 19 +++++----- interface/src/ui/overlays/Overlays.cpp | 5 +-- 6 files changed, 32 insertions(+), 28 deletions(-) create mode 100644 interface/resources/sounds/keyboardPress.mp3 delete mode 100644 interface/resources/sounds/keyboard_key.mp3 diff --git a/interface/resources/config/keyboard.json b/interface/resources/config/keyboard.json index 186a9c1084..b3688ef06e 100644 --- a/interface/resources/config/keyboard.json +++ b/interface/resources/config/keyboard.json @@ -701,9 +701,9 @@ "y": 0.04787999764084816 }, "position": { - "x": -0.53203323516845703, + "x": -0.59333323516845703, "y": 0.019300000742077827, - "z": -0.07286686894893646 + "z": 0.037454843521118164 }, "modelURL": "meshes/keyboard/SM_key.fbx", "texture": { @@ -752,7 +752,7 @@ "y": 0.04787999764084816 }, "position": { - "x": -0.59333323516845703, + "x": -0.65333323516845703, "y": 0.019300000742077827, "z": 0.037454843521118164 }, @@ -777,9 +777,9 @@ "y": 0.04787999764084816 }, "position": { - "x": -0.5103323516845703, - "y": 0.019300000742077827, - "z": -0.127054843521118164 + "x": -0.5503323516845703, + "y": 0.019300000742077827, + "z": -0.07282185554504395 }, "modelURL": "meshes/keyboard/SM_enter.fbx", "texture": { @@ -1479,9 +1479,9 @@ "y": 0.04787999764084816 }, "position": { - "x": -0.53203323516845703, + "x": -0.59333323516845703, "y": 0.019300000742077827, - "z": -0.07286686894893646 + "z": 0.037454843521118164 }, "modelURL": "meshes/keyboard/SM_key.fbx", "texture": { @@ -1530,7 +1530,7 @@ "y": 0.04787999764084816 }, "position": { - "x": -0.59333323516845703, + "x": -0.65333323516845703, "y": 0.019300000742077827, "z": 0.037454843521118164 }, @@ -1555,9 +1555,9 @@ "y": 0.04787999764084816 }, "position": { - "x": -0.5103323516845703, - "y": 0.019300000742077827, - "z": -0.127054843521118164 + "x": -0.5503323516845703, + "y": 0.019300000742077827, + "z": -0.07282185554504395 }, "modelURL": "meshes/keyboard/SM_enter.fbx", "texture": { @@ -2305,9 +2305,9 @@ "y": 0.04787999764084816 }, "position": { - "x": -0.53203323516845703, + "x": -0.59333323516845703, "y": 0.019300000742077827, - "z": -0.07286686894893646 + "z": 0.037454843521118164 }, "modelURL": "meshes/keyboard/SM_key.fbx", "texture": { @@ -2356,7 +2356,7 @@ "y": 0.04787999764084816 }, "position": { - "x": -0.59333323516845703, + "x": -0.65333323516845703, "y": 0.019300000742077827, "z": 0.037454843521118164 }, @@ -2381,9 +2381,9 @@ "y": 0.04787999764084816 }, "position": { - "x": -0.5103323516845703, - "y": 0.019300000742077827, - "z": -0.127054843521118164 + "x": -0.5503323516845703, + "y": 0.019300000742077827, + "z": -0.07282185554504395 }, "modelURL": "meshes/keyboard/SM_enter.fbx", "texture": { diff --git a/interface/resources/meshes/drumstick.fbx b/interface/resources/meshes/drumstick.fbx index 0243d9fd1b89f0dfe6572a7ec293a38ec571ce53..b384e6a30ae85addae191f9f9a9345e24230b08d 100644 GIT binary patch delta 17681 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 XqwX81=M(y}%V(mPt=|CVpXl))T_y31 diff --git a/interface/resources/sounds/keyboardPress.mp3 b/interface/resources/sounds/keyboardPress.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e4cd21b9715c64fbfa5153b89666c530305c0333 GIT binary patch literal 7313 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 U_tV6Ubao5I3I88j{{PN@0jrj2?*IS* literal 0 HcmV?d00001 diff --git a/interface/resources/sounds/keyboard_key.mp3 b/interface/resources/sounds/keyboard_key.mp3 deleted file mode 100644 index e2cec81032389f719f90dd60b0ae4ca10719e725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9089 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 diff --git a/interface/src/ui/Keyboard.cpp b/interface/src/ui/Keyboard.cpp index 5f83c095c8..6852691634 100644 --- a/interface/src/ui/Keyboard.cpp +++ b/interface/src/ui/Keyboard.cpp @@ -45,6 +45,7 @@ #include "scripting/HMDScriptingInterface.h" #include "scripting/WindowScriptingInterface.h" #include "scripting/SelectionScriptingInterface.h" +#include "scripting/HMDScriptingInterface.h" #include "DependencyManager.h" #include "raypick/StylusPointer.h" @@ -54,9 +55,9 @@ static const int LEFT_HAND_CONTROLLER_INDEX = 0; static const int RIGHT_HAND_CONTROLLER_INDEX = 1; -static const float MALLET_LENGTH = 0.2f; -static const float MALLET_TOUCH_Y_OFFSET = 0.052f; -static const float MALLET_Y_OFFSET = 0.180f; +static const float MALLET_LENGTH = 0.18f; +static const float MALLET_TOUCH_Y_OFFSET = 0.050f; +static const float MALLET_Y_OFFSET = 0.160f; static const glm::quat MALLET_ROTATION_OFFSET{0.70710678f, 0.0f, -0.70710678f, 0.0f}; static const glm::vec3 MALLET_MODEL_DIMENSIONS{0.03f, MALLET_LENGTH, 0.03f}; @@ -65,14 +66,14 @@ static const glm::vec3 MALLET_TIP_OFFSET{0.0f, MALLET_LENGTH - MALLET_TOUCH_Y_OF static const glm::vec3 Z_AXIS {0.0f, 0.0f, 1.0f}; -static const glm::vec3 KEYBOARD_TABLET_OFFSET{0.28f, -0.3f, -0.05f}; +static const glm::vec3 KEYBOARD_TABLET_OFFSET{0.30f, -0.38f, -0.04f}; static const glm::vec3 KEYBOARD_TABLET_DEGREES_OFFSET{-45.0f, 0.0f, 0.0f}; static const glm::vec3 KEYBOARD_TABLET_LANDSCAPE_OFFSET{-0.2f, -0.27f, -0.05f}; static const glm::vec3 KEYBOARD_TABLET_LANDSCAPE_DEGREES_OFFSET{-45.0f, 0.0f, -90.0f}; static const glm::vec3 KEYBOARD_AVATAR_OFFSET{-0.6f, 0.3f, -0.7f}; static const glm::vec3 KEYBOARD_AVATAR_DEGREES_OFFSET{0.0f, 180.0f, 0.0f}; -static const QString SOUND_FILE = PathUtils::resourcesUrl() + "sounds/keyboard_key.mp3"; +static const QString SOUND_FILE = PathUtils::resourcesUrl() + "sounds/keyboardPress.mp3"; static const QString MALLET_MODEL_URL = PathUtils::resourcesUrl() + "meshes/drumstick.fbx"; static const float PULSE_STRENGTH = 0.6f; @@ -221,6 +222,7 @@ Keyboard::Keyboard() { auto pointerManager = DependencyManager::get(); auto windowScriptingInterface = DependencyManager::get(); auto myAvatar = DependencyManager::get()->getMyAvatar(); + auto hmdScriptingInterface = DependencyManager::get(); connect(pointerManager.data(), &PointerManager::triggerBeginOverlay, this, &Keyboard::handleTriggerBegin, Qt::QueuedConnection); connect(pointerManager.data(), &PointerManager::triggerContinueOverlay, this, &Keyboard::handleTriggerContinue, Qt::QueuedConnection); connect(pointerManager.data(), &PointerManager::triggerEndOverlay, this, &Keyboard::handleTriggerEnd, Qt::QueuedConnection); @@ -228,6 +230,7 @@ Keyboard::Keyboard() { connect(pointerManager.data(), &PointerManager::hoverEndOverlay, this, &Keyboard::handleHoverEnd, Qt::QueuedConnection); connect(myAvatar.get(), &MyAvatar::sensorToWorldScaleChanged, this, &Keyboard::scaleKeyboard, Qt::QueuedConnection); connect(windowScriptingInterface.data(), &WindowScriptingInterface::domainChanged, [&]() { setRaised(false); }); + connect(hmdScriptingInterface.data(), &HMDScriptingInterface::displayModeChanged, [&]() { setRaised(false); }); } void Keyboard::registerKeyboardHighlighting() { @@ -483,7 +486,7 @@ void Keyboard::handleTriggerBegin(const OverlayID& overlayID, const PointerEvent AudioInjectorOptions audioOptions; audioOptions.localOnly = true; audioOptions.position = keyWorldPosition; - audioOptions.volume = 0.1f; + audioOptions.volume = 0.05f; AudioInjector::playSoundAndDelete(_keySound, audioOptions); @@ -835,8 +838,8 @@ void Keyboard::loadKeyboardFile(const QString& keyboardFile) { _textDisplay = textDisplay; _ignoreItemsLock.withWriteLock([&] { - _itemsToIgnore.push_back(_textDisplay.overlayID); - _itemsToIgnore.push_back(_anchor.overlayID); + _itemsToIgnore.append(_textDisplay.overlayID); + _itemsToIgnore.append(_anchor.overlayID); }); _layerIndex = 0; auto pointerManager = DependencyManager::get(); diff --git a/interface/src/ui/overlays/Overlays.cpp b/interface/src/ui/overlays/Overlays.cpp index 7593e12e07..22b123c85d 100644 --- a/interface/src/ui/overlays/Overlays.cpp +++ b/interface/src/ui/overlays/Overlays.cpp @@ -535,7 +535,7 @@ RayToOverlayIntersectionResult Overlays::findRayIntersectionVector(const PickRay bool bestIsFront = false; bool bestIsTablet = false; auto tabletIDs = qApp->getTabletIDs(); - + const QVector keyboardKeysToDiscard = DependencyManager::get()->getKeysID(); QMutexLocker locker(&_mutex); RayToOverlayIntersectionResult result; QMapIterator i(_overlaysWorld); @@ -545,7 +545,8 @@ RayToOverlayIntersectionResult Overlays::findRayIntersectionVector(const PickRay auto thisOverlay = std::dynamic_pointer_cast(i.value()); if ((overlaysToDiscard.size() > 0 && overlaysToDiscard.contains(thisID)) || - (overlaysToInclude.size() > 0 && !overlaysToInclude.contains(thisID))) { + (overlaysToInclude.size() > 0 && !overlaysToInclude.contains(thisID)) || + (keyboardKeysToDiscard.size() > 0 && keyboardKeysToDiscard.contains(thisID))) { continue; }