diff --git a/interface/resources/qml/controls-uit/Key.qml b/interface/resources/qml/controls-uit/Key.qml index 0c888d1a0a..b6227fd28e 100644 --- a/interface/resources/qml/controls-uit/Key.qml +++ b/interface/resources/qml/controls-uit/Key.qml @@ -1,4 +1,5 @@ import QtQuick 2.0 +import TabletScriptingInterface 1.0 Item { id: keyItem @@ -32,8 +33,15 @@ Item { } } + onHoveredChanged: { + if (hovered) { + tabletInterface.playSound(TabletEnums.ButtonHover) + } + } + onClicked: { mouse.accepted = true; + tabletInterface.playSound(TabletEnums.ButtonClick) webEntity.synthesizeKeyPress(glyph); webEntity.synthesizeKeyPress(glyph, mirrorText); diff --git a/interface/resources/qml/hifi/tablet/TabletRoot.qml b/interface/resources/qml/hifi/tablet/TabletRoot.qml index f36f3912ec..ba9d06eee3 100644 --- a/interface/resources/qml/hifi/tablet/TabletRoot.qml +++ b/interface/resources/qml/hifi/tablet/TabletRoot.qml @@ -1,7 +1,6 @@ import QtQuick 2.0 import Hifi 1.0 import QtQuick.Controls 1.4 -import TabletScriptingInterface 1.0 import "../../dialogs" import "../../controls" @@ -147,7 +146,7 @@ Item { SoundEffect { id: buttonClickSound volume: 0.1 - source: "" + source: "../../../sounds/Gamemaster-Audio-button-click.wav" } function playButtonClickSound() { diff --git a/interface/src/ui/overlays/Web3DOverlay.cpp b/interface/src/ui/overlays/Web3DOverlay.cpp index ed86b3c5cf..df34b93ac3 100644 --- a/interface/src/ui/overlays/Web3DOverlay.cpp +++ b/interface/src/ui/overlays/Web3DOverlay.cpp @@ -167,10 +167,6 @@ void Web3DOverlay::buildWebSurface() { if (!self) { return; } - auto tabletScreenID = DependencyManager::get()->getCurrentTabletScreenID(); - if (overlayID == tabletScreenID) { //play only on Tablet border crossing - DependencyManager::get()->playSound(TabletScriptingInterface::TabletHandsOut); - } if (overlayID == selfOverlayID && (self->_pressed || (!self->_activeTouchPoints.empty() && self->_touchBeginAccepted))) { PointerEvent endEvent(PointerEvent::Release, event.getID(), event.getPos2D(), event.getPos3D(), event.getNormal(), event.getDirection(), event.getButton(), event.getButtons(), event.getKeyboardModifiers()); @@ -178,19 +174,6 @@ void Web3DOverlay::buildWebSurface() { } }); - QObject::connect(overlays, &Overlays::hoverEnterOverlay, this, [=](OverlayID overlayID, const PointerEvent& event) { - Q_UNUSED(event) - auto self = weakSelf.lock(); - if (!self) { - return; - } - - auto tabletScreenID = DependencyManager::get()->getCurrentTabletScreenID(); - if (overlayID == tabletScreenID) { //play only on Tablet border crossing - DependencyManager::get()->playSound(TabletScriptingInterface::TabletHandsIn); - } - }); - QObject::connect(this, &Web3DOverlay::scriptEventReceived, _webSurface.data(), &OffscreenQmlSurface::emitScriptEvent); QObject::connect(_webSurface.data(), &OffscreenQmlSurface::webEventReceived, this, &Web3DOverlay::webEventReceived); } diff --git a/libraries/ui/src/ui/TabletScriptingInterface.cpp b/libraries/ui/src/ui/TabletScriptingInterface.cpp index 358e3c3ec6..d1763a8318 100644 --- a/libraries/ui/src/ui/TabletScriptingInterface.cpp +++ b/libraries/ui/src/ui/TabletScriptingInterface.cpp @@ -93,6 +93,7 @@ void TabletScriptingInterface::playSound(TabletAudioEvents aEvent) { options.localOnly = options.localOnly || sound->isAmbisonic(); // force localOnly when Ambisonic AudioInjectorPointer injector = AudioInjector::playSoundAndDelete(sound->getByteArray(), options); + qDebug() << "playing sound for event" << aEvent; } } diff --git a/scripts/system/controllers/controllerModules/tabletStylusInput.js b/scripts/system/controllers/controllerModules/tabletStylusInput.js index 9d01ceef65..51ac9f69e6 100644 --- a/scripts/system/controllers/controllerModules/tabletStylusInput.js +++ b/scripts/system/controllers/controllerModules/tabletStylusInput.js @@ -157,6 +157,8 @@ Script.include("/~/system/libraries/controllers.js"); return; } + tabletInterface.playSound(3);//HandsIn + var X_ROT_NEG_90 = { x: -0.70710678, y: 0, z: 0, w: 0.70710678 }; var modelOrientation = Quat.multiply(this.stylusTip.orientation, X_ROT_NEG_90); var modelPositionOffset = Vec3.multiplyQbyV(modelOrientation, { x: 0, y: 0, z: MyAvatar.sensorToWorldScale * -WEB_STYLUS_LENGTH / 2 }); @@ -184,6 +186,7 @@ Script.include("/~/system/libraries/controllers.js"); if (!this.stylus) { return; } + tabletInterface.playSound(4);//HandsOut Overlays.deleteOverlay(this.stylus); this.stylus = null; };