glasses: ignore scroll drags shorter than 96px (guest counts them as item clicks); phone: skip centroid jump on finger-count change

This commit is contained in:
2026-09-25 20:27:26 +03:00
parent 05daf3fc7b
commit 94f0ed28fc
2 changed files with 30 additions and 2 deletions
@@ -88,6 +88,7 @@ fun RemoteScreen(
val gainY = VmDisplay.HEIGHT / size.height.toFloat()
var mode = PadMode.UNDECIDED
var lastCentroid = Offset.Zero
var lastPressedCount = 1
var travel = 0f
awaitFirstDown(requireUnconsumed = false)
@@ -105,6 +106,14 @@ fun RemoteScreen(
if (mode == PadMode.UNDECIDED || (mode == PadMode.CURSOR && pressed.size >= 2)) {
mode = if (pressed.size >= 2) PadMode.SCROLL else PadMode.CURSOR
lastCentroid = centroid
lastPressedCount = pressed.size
continue
}
// Число пальцев изменилось (отпустили один из двух) — центроид скачет,
// этот скачок не скроллим, иначе список прыгает.
if (pressed.size != lastPressedCount) {
lastPressedCount = pressed.size
lastCentroid = centroid
continue
}