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:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user