PlainApp 中文文档 下载 App

远程控制输入细节:点击、滑动、键盘输入

坐标归一化原理

手机屏幕可能是 1080 × 2400,浏览器里的画布可能被你拉成 800 × 1600 的窗口。PlainApp 的做法:

  1. 浏览器事件拿到画布相对坐标(点击发生在画布 x=300, y=600)
  2. 除以画布实际尺寸 → 得到 0–1 之间的归一化坐标(300/800=0.375, 600/1600=0.375)
  3. 乘以手机实际分辨率 → 映射回手机屏幕坐标(405, 900)
  4. 发送给手机端,手机端模拟触控事件

这个流程确保:你在浏览器窗口里放大、缩小、甚至全屏切换,远程控制的点击始终对准手机上的正确位置。

点击、长按、滑动、滚动

浏览器操作手机效果触发方式
鼠标 / 触屏点一下短按(tap)mousedown → mouseup 间隔 < 400ms
按住不动长按(long press)按住 > 400ms 且不移动
按住拖动滑动(swipe / drag)mousedown → 拖动 → mouseup
鼠标滚轮上下滚动(scroll)wheel 事件
触屏捏合缩放(pinch / zoom)两个手指同时事件

键盘输入

当手机屏幕上有可聚焦输入框(比如 SMS 对话里的消息输入框、搜索框、笔记编辑器):

三大导航键

工具栏上三个常驻按钮——Back(◀)/ Home(■)/ Recents(☰)——点任意一个都会在手机上触发对应的 Android 系统动作:

这三个按钮独立于远程控制开关——就算 Remote Control 关掉了,它们依然可以用。

安全性

远程控制是显式开启的——点 Remote Control 开关才打开。关闭开关、或者 Stop 屏幕镜像、或者浏览器标签页关闭——远程输入立刻失效。

输入事件在手机端执行前还有一次坐标边界检查——如果算出来的手机坐标超出屏幕实际分辨率范围(极端窗口缩放导致的),会被丢弃,不会"点击到手机屏幕外"。