Univeral Camera Touch Controls Break On iPadOS Safari 13.2

Hello all,

Despite adding touch-action=“none” to the render canvas, and the equivalent via CSS, the Zoom Out To Tab Manager gesture still executes. This can happen very easily when using two fingers to rotate the camera (and doing an accidental pinch zoom out). If the user Zooms Out To Tab Manager, when they return to the tab with this Babylon.js scene, the touch controls will no longer work for movement or rotation.

Any help or advice with this would be appreciated, as this is a critical project-breaking issue. Hopefully, it’s just something simple we’ve missed.

  • URL: Industry Expo Walk Around

  • Global Variable: debugApplication

  • Load Debug Layer: execute this in console “debugApplication._scene.debugLayer.show()”

  • iPadOS Safari 13.2

  • iPad Pro 11-inch (2018) (iPadOS 13.2.3)

  • Babylon.js 4.0.3 (also tried 4.1.0-beta.3)

  • PEP.js 0.5.2 (also tried 0.4.3)

This is more a question to Pep.js I guess

We’ve managed to suppress the Zoom Out To Tab Manager by placing the following on the body tag (as well as the canvas tag)

<body touch-action="none" style="touch-action: none;">

However, touch controls can still be broken if the iOS dock is dragged up from the bottom of the screen.

Is there anything that can be done Babylon-wise to handle this kind of context lost, and fix the touch controls? If you look closely, it’s almost as if there is a ghost touch, as placing a finger on the screen afterwards causes the camera to rotate very slowly. In addition, if there are no fingers on the screen, the camera seems to move forward very slowly.

Well at our level we are listening to pointer events only :frowning: