文字没插入、只复制到了剪贴板——安全应用限制场景与手动粘贴兜底
问题现象
正常按住热键说话、松开后状态胶囊显示「已复制到剪贴板」而不是「已插入」。打开目标应用 → 手动粘贴能看到润色好的文本——说明整个录音→转写→润色链路都没问题,问题在写入光标这一步。
为什么插入失败
OpenLess 用操作系统级的模拟键盘事件向目标输入框写入文字。但不是所有输入框都接受模拟键盘写入:
| 场景 | 原因 |
|---|---|
| 某些安全管控应用 | 反键盘记录机制拦截模拟按键 |
| 银行/支付类应用 | 安全沙箱,阻止外部写入 |
| 虚拟机远程桌面(部分) | RDP/VNC 会话可能屏蔽客户端的模拟输入 |
| 某些企业定制应用 | 自研安全层屏蔽 |
| 独占全屏游戏 | Windows 层面 DirectX 独占全屏不接受模拟键盘 |
| 密码框 | 系统安全机制阻止 |
剪贴板兜底是设计好的行为
插入失败 → 自动复制到剪贴板 是 OpenLess Core 层硬编码的降级路径——不是异常、不是 Bug,是有意为之的容错。因为:
- 比起让你再按住重新说一遍,复制到剪贴板让你手动粘贴更好——你说过的话不会丢
- 手动粘贴在绝大多数场景下只多 0.5 秒,损失极小
- 有些应用确实写不进去,没有办法绕过它们的安全保护
处理方式
临时:手动粘贴
润色完成后,直接 Ctrl+V / Cmd+V 粘贴到目标输入框。状态胶囊会提示你「已复制到剪贴板」。
如果你把「流式插入完成后同步到剪贴板」开着(默认开启),不管插入成功还是失败,润色结果都会复制到剪贴板——手动粘贴永远兜底。
长期:用「流式插入完成后同步到剪贴板」
打开 OpenLess → 设置 → 高级 → 流式插入 → 确保「流式插入完成后同步到剪贴板」是开启状态。
这样设置后:润色完成 = 剪贴板里一定有干净文本,不管插入成没成功。你可以不看状态胶囊提示、直接粘贴——总是有效。
哪些应用已知不支持模拟写入
OpenLess 用户社区报告过的场景(非完整列表):
- Minecraft 等独占全屏游戏(切到无边框窗口化全屏可修复)
- 某些银行/支付 App 的输入框
- 某些 VPN 客户端的配置界面
- RDP 远程桌面会话中的本机 OpenLess(远程端的输入框可能不接受模拟)
- Hyper-V / VMWare 等虚拟机的控制台(部分场景)
如果某个应用一直不支持写入,建议把光标移到一个支持的输入框(比如记事本)触发录音,润色结果会进剪贴板,再粘贴到目标应用。
不要尝试绕过安全限制
OpenLess 的开发原则里有一条:绝不绕过操作系统的安全机制。如果目标应用有安全限制不接受外部写入,OpenLess 选择尊重这个限制、回退到剪贴板,而不是用非常规手段强行写入(那会引入安全风险)。
如果连复制到剪贴板也失败
极个别场景下(比如某些极度受限的远程桌面环境)剪贴板访问也被限制。这种情况下:
- 润色结果仍然会保存在历史记录里——主窗口 → 历史 → 找到这次录音 → 手动复制
- 或者用历史详情页的「重新插入」按钮重试
历史记录是最后一道兜底——你的话永远不会丢。