From 977f8858b06ef58ef7dfeec687079286f6924e97 Mon Sep 17 00:00:00 2001 From: RGBCube Date: Mon, 2 Jun 2025 03:10:49 +0300 Subject: [PATCH] cube: get touch centroid instead of first touch --- site/_includes/cube.vto | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/site/_includes/cube.vto b/site/_includes/cube.vto index dc6b823..c18947e 100644 --- a/site/_includes/cube.vto +++ b/site/_includes/cube.vto @@ -189,10 +189,18 @@ document.addEventListener("mousemove", handleMove); document.addEventListener("touchmove", (event) => { - const delta = event.changedTouches[0]; + const { x, y } = Array + .from(event.touches) + .reduce( + (acc, touch) => ({ + x: acc.x + touch.clientX, + y: acc.y + touch.clientY, + }), + { x: 0, y: 0 } + ); - event.clientX = delta.clientX; - event.clientY = delta.clientY; + event.clientX = x / event.touches.length; + event.clientY = y / event.touches.length; handleMove(event); });