From 834f5c9b22fdb729d0ab4775c86f36927b8bc2b0 Mon Sep 17 00:00:00 2001 From: Leon van Kammen Date: Thu, 22 May 2025 19:59:50 +0200 Subject: [PATCH] prevent conflating pinch vs focus on terminal --- com/isoterminal.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/com/isoterminal.js b/com/isoterminal.js index ddceaf7..c83f5f3 100644 --- a/com/isoterminal.js +++ b/com/isoterminal.js @@ -387,6 +387,15 @@ if( typeof AFRAME != 'undefined '){ instance.addEventListener('window.onmaximize', resize ) const focus = (e) => { + + // calculate distance between thumb and indexfinger to detect pinch + // which should prevent focus-event (annoying to have keyboard popping up during pinch) + if( e.detail?.withEl?.components['hand-tracking-controls'] ){ + const hand = e.detail.withEl.components['hand-tracking-controls'] + const thumb = hand.bones.find( (b) => b.name == 'thumb-tip' ) + const diff = thumb.position.distanceTo(hand.indexTipPosition) + if( diff < 0.02) return // pinching! don't trigger keyboard (focus) + } this.el.emit('focus',e.detail) }