vdi-cloud/docs/ubuntu-mouse-release-20261106.md

29 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ubuntu 鼠标按键状态修复(2026-11-06)
本轮只修复盒子端 Moonlight 的输入状态,不修改 Ubuntu、麒麟或 Windows 虚拟机配置。
## 根因
绝对鼠标会话在连接中断、焦点切换或 SDL 队列丢失最后一个 `BUTTONUP` 时,客户端原来只释放键盘按键,未释放远端鼠标按钮。Ubuntu 会继续保持左键按下状态,因此窗口关闭、最大化、最小化按钮和拖拽都会表现为“点不到/卡住”。
## 修复
新增 `0006-vdi-release-stuck-mouse-buttons.patch`:
- 会话退出时显式发送左、中、右、X1、X2 五个鼠标按钮的释放事件;
- SDL 窗口失焦时同样清理按钮状态;
- 保留现有绝对坐标、KMS 捕获、原生 Ubuntu 光标和拖拽顺序处理。
## 验证
- RKMPP 客户端重新编译成功;
- SDL 事件边界、输入优先级、绝对坐标移动→按下→移动→释放 1000 轮测试全部通过;
- 新客户端通过原生光标握手、KMS 捕获、2560×1440 H.264 硬件解码启动;
- 会话退出后 Ubuntu 已恢复普通 Sunshine,原生光标守护为 inactive;
- 旧客户端 SHA256:`5d4330f703d7f8e053bc3795ca42bdaf231c9e9dd8ebb00a612013adbcccee03`;
- 新客户端 SHA256:`a09140efb4400a63153e2063358dda6ebea166be20c5b9b882e667230b0ac61e`。
盒子端旧客户端和两台 Linux 原生光标配置已备份到 `~/vdi-terminal/backups/mouse-release-20261106-20261106-095251/`;如果回归出现异常,可以恢复旧二进制和旧校验值。
这次修复针对“按键状态残留”导致的点击/拖拽失效。画面编码和网络造成的帧延迟仍由 KMS/virtio 读回与 Ubuntu 端 libx264 软件编码决定。