From 0773e38afb9985df1ce9a2059da4ffd9e37f15b5 Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Fri, 16 Feb 2024 12:23:15 -0800 Subject: [PATCH] add keyboard modifiers to entity pointer events --- .../src/EntityTreeRenderer.cpp | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp index 4861bc6ecb..bc3b80d3c9 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp +++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp @@ -912,7 +912,7 @@ QUuid EntityTreeRenderer::mousePressEvent(QMouseEvent* event) { pos2D, rayPickResult.intersection, rayPickResult.surfaceNormal, ray.direction, toPointerButton(*event), toPointerButtons(*event), - Qt::NoModifier); // TODO -- check for modifier keys? + event->modifiers()); emit entityScriptingInterface->mousePressOnEntity(rayPickResult.entityID, pointerEvent); @@ -943,9 +943,10 @@ void EntityTreeRenderer::mouseDoublePressEvent(QMouseEvent* event) { if (rayPickResult.intersects && (entity = getTree()->findEntityByID(rayPickResult.entityID))) { glm::vec2 pos2D = projectOntoEntityXYPlane(entity, ray, rayPickResult); PointerEvent pointerEvent(PointerEvent::Press, PointerManager::MOUSE_POINTER_ID, - pos2D, rayPickResult.intersection, - rayPickResult.surfaceNormal, ray.direction, - toPointerButton(*event), toPointerButtons(*event), Qt::NoModifier); + pos2D, rayPickResult.intersection, + rayPickResult.surfaceNormal, ray.direction, + toPointerButton(*event), toPointerButtons(*event), + event->modifiers()); emit entityScriptingInterface->mouseDoublePressOnEntity(rayPickResult.entityID, pointerEvent); @@ -979,7 +980,7 @@ void EntityTreeRenderer::mouseReleaseEvent(QMouseEvent* event) { pos2D, rayPickResult.intersection, rayPickResult.surfaceNormal, ray.direction, toPointerButton(*event), toPointerButtons(*event), - Qt::NoModifier); // TODO -- check for modifier keys? + event->modifiers()); emit entityScriptingInterface->mouseReleaseOnEntity(rayPickResult.entityID, pointerEvent); @@ -995,7 +996,7 @@ void EntityTreeRenderer::mouseReleaseEvent(QMouseEvent* event) { pos2D, rayPickResult.intersection, rayPickResult.surfaceNormal, ray.direction, toPointerButton(*event), toPointerButtons(*event), - Qt::NoModifier); // TODO -- check for modifier keys? + event->modifiers()); emit entityScriptingInterface->clickReleaseOnEntity(_currentClickingOnEntityID, pointerEvent); } @@ -1022,7 +1023,7 @@ void EntityTreeRenderer::mouseMoveEvent(QMouseEvent* event) { pos2D, rayPickResult.intersection, rayPickResult.surfaceNormal, ray.direction, toPointerButton(*event), toPointerButtons(*event), - Qt::NoModifier); // TODO -- check for modifier keys? + event->modifiers()); emit entityScriptingInterface->mouseMoveOnEntity(rayPickResult.entityID, pointerEvent); @@ -1036,7 +1037,7 @@ void EntityTreeRenderer::mouseMoveEvent(QMouseEvent* event) { pos2D, rayPickResult.intersection, rayPickResult.surfaceNormal, ray.direction, toPointerButton(*event), toPointerButtons(*event), - Qt::NoModifier); // TODO -- check for modifier keys? + event->modifiers()); emit entityScriptingInterface->hoverLeaveEntity(_currentHoverOverEntityID, pointerEvent); } @@ -1064,10 +1065,10 @@ void EntityTreeRenderer::mouseMoveEvent(QMouseEvent* event) { if (!_currentHoverOverEntityID.isInvalidID()) { glm::vec2 pos2D = projectOntoEntityXYPlane(entity, ray, rayPickResult); PointerEvent pointerEvent(PointerEvent::Move, PointerManager::MOUSE_POINTER_ID, - pos2D, rayPickResult.intersection, - rayPickResult.surfaceNormal, ray.direction, + pos2D, rayPickResult.intersection, + rayPickResult.surfaceNormal, ray.direction, toPointerButton(*event), toPointerButtons(*event), - Qt::NoModifier); // TODO -- check for modifier keys? + event->modifiers()); emit entityScriptingInterface->hoverLeaveEntity(_currentHoverOverEntityID, pointerEvent); _currentHoverOverEntityID = UNKNOWN_ENTITY_ID; // makes it the unknown ID