鼠标点击
手机控制模式会限制这个接口(2026-08-27 起)
「手机控制模式」(/config/imserver/set 的 phone_mode)决定了这次调用能不能做:
| 当前模式 | 相对移动 | 快狠准(绝对定位) |
|---|---|---|
| 1 鼠标 | ✅ | ✅ |
| 2 单点触控 | ✅ | ❌ 返回 code=67 |
| 3 多点触控 | ❌ 返回 code=67 | ❌ 返回 code=67 |
⚠️ code=67(当前手机模式不支持此操作)与 code=56(硬件不支持)不是一回事:
56 要换硬件,67 改个模式就行。
⚠️ 改动之前这些情况会返回 0、但实际什么都没发生;现在明确返回 code=67,依赖返回值做判断的脚本请留意。
3~8 键的行为变了(2026-09-12 起)
按钮 3~8(中键与侧键)以前是发不出去的:接口返回成功,手机毫无反应。 现在已修正,这几个键能正常发到手机。
⚠️ 对调用方的影响:如果你的脚本此前靠"按钮 3 没反应"来占位、或用它当空操作, 现在会真的按下去。左键(1)与右键(2)的行为一个字没变。
⚠️ mouse_mode 对 3~8 键不起作用:这几个键只有相对鼠标能发,传什么都一样。
快狠准的按下 / 弹起现在带坐标了(2026-09-12 起)
快狠准(绝对定位)下,以前按下与弹起会落在 (0,0)。现在落在指针此刻所在的位置:
前面调过移动(/mouse/move,或 /mouse/click、/mouse/swipe 内部那一步)
就用那个落点,没调过则取硬件当前记着的指针位置。
⚠️ 接口字段一个都没加:坐标由内核自己记,不需要在 /mouse/down、/mouse/up
里传 x、y。
⚠️ 对调用方的影响:先移动再按下的老写法结果完全不变。 只有"不移动直接按下"的落点变了——从 (0,0) 变成指针当前所在处。
调用说明
- 请求参数
| 参数 | 类型 | 说明 | 备注 |
|---|---|---|---|
| fun | 字符串 | /mouse/click | 请求功能名 |
| id | 字符串 | 设备唯一ID | 多个设备用逗号隔开 |
| button | 字符串 | 1左键,2右键,3中键,4,5,6,7,8键 | 为空默认左键,最多支持8个键 |
| x | 整数 | x坐标 | - |
| y | 整数 | y坐标 | - |
| time | 整数 | 按下弹起之间的延时,不填内部自己处理 | 毫秒 |
| mouse_mode | 整数 | 本次用哪种移动方式 | 不传或 0=按全局配置,1=强制相对移动,2=强制快狠准 |
- httpGet请求示例
curl --request GET \
--url 'http://192.168.9.9:9911/api/mouse/click?id=5C:F7:E6:CE:65:22&x=100&y=100'
- httpPost请求示例
curl --request POST \
--url http://192.168.9.9:9911/api \
--header 'content-type: multipart/form-data' \
--form fun=/mouse/click \
--form id=5C:F7:E6:CE:65:22 \
--form x=100 \
--form y=100
- httpPost json请求示例【websocket也可发送同样json请求】
curl --request POST \
--url http://192.168.9.9:9911/api \
--header 'Content-Type: application/json' \
--data '{
"fun": "/mouse/click",
"data": {
"id":"5C:F7:E6:CE:65:22",
"x":100,
"y":100
}
}'
响应结果
{
"data": {
"code": 0,
"id": "5C:F7:E6:CE:65:22",
"message": "成功"
},
"status": 200,
"message": "成功",
"msgid": 0,
"fun": "/mouse/click"
}
- 响应data数据字段说明
无