diff --git a/packages/system/src/xypanzoom/eventhandler.ts b/packages/system/src/xypanzoom/eventhandler.ts index 0c2c1d5f..2f395300 100644 --- a/packages/system/src/xypanzoom/eventhandler.ts +++ b/packages/system/src/xypanzoom/eventhandler.ts @@ -138,7 +138,10 @@ export function createPanOnScrollHandler({ export function createZoomOnScrollHandler({ noWheelClassName, preventScrolling, d3ZoomHandler }: ZoomOnScrollParams) { return function (this: Element, event: any, d: unknown) { - if (!preventScrolling || isWrappedWithClass(event, noWheelClassName)) { + // we still want to enable pinch zooming even if preventScrolling is set to false + const preventZoom = !preventScrolling && event.type === 'wheel' && !event.ctrlKey; + + if (preventZoom || isWrappedWithClass(event, noWheelClassName)) { return null; }