/** Deslocamento do dedo em pixels (dy cresce para baixo) em [direita, frente], de -1 a 1. */ const ZONA_MORTA = 0.12; export function alavanca( dx: number, dy: number, raio: number, ): [number, number] { const comprimento = Math.hypot(dx, dy) / raio; if (comprimento < ZONA_MORTA) return [0, 0]; const escala = Math.min(1, comprimento) / comprimento / raio; return [dx * escala, 0 - dy * escala]; }