# 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 软件编码决定。