1. 项目概述:H5FlyingMouse无线鼠键控制方案
在展厅演示、会议教学等场景中,演讲者经常需要远离主机操作电脑。传统方案要么依赖专用硬件(如无线演示器),要么需要安装复杂的远程控制软件。H5FlyingMouse通过浏览器实现零配置的无线鼠键控制,解决了以下痛点:
- 无硬件依赖:仅需单机运行一个3MB的EXE文件
- 跨平台操控:任何带浏览器的设备(手机/平板/其他电脑)均可作为控制器
- 中文输入优化:突破Web端中文输入限制,实现近似本地键盘的体验
- 零网络要求:完全基于局域网通信,不依赖外网或云服务
实测在Windows 10/11系统下,从启动到连接平均只需8秒,鼠标移动延迟控制在50ms以内,完全满足展厅实时操作需求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心功能与技术实现
2.1 鼠标控制模块
采用WebSocket协议实现低延迟通信,核心处理逻辑如下:
javascript复制// 鼠标移动事件处理
socket.on('mouseMove', (data) => {
const { x, y } = data;
// 将相对坐标转换为绝对坐标
const screenWidth = screen.width;
const screenHeight = screen.height;
const absoluteX = x * screenWidth;
const absoluteY = y * screenHeight;
// 调用Windows API设置光标位置
SetCursorPos(absoluteX, absoluteY);
});
手势识别优化方案:
- 单指滑动:累计移动超过5px才触发事件,避免触摸屏误触
- 双指点击:两指触点间距小于50px且同时抬起时触发右键
- 滚轮模拟:将触摸区域下1/4划为滚动区,上滑/下滑对应滚轮事件
2.2 中文输入方案
突破浏览器安全限制的剪贴板方案:
- 前端监听输入框变化,实时获取Unicode文本
- 通过WebSocket发送到服务端
- 服务端调用
user32.dll的SendInputAPI模拟按键:csharp复制// 模拟Ctrl+V
