Skip to content

建议:插入语音转写文字后恢复用户剪贴板 #525

Description

@sunshinewithmoonlight

问题描述

在 OpenLess 插入语音转写文字的过程中,系统使用了系统剪贴板(clipboard)功能来实现文本插入。当前的实现流程是:

  1. 用户复制文本到剪贴板(作为语音转写前的准备)
  2. OpenLess 进行语音识别并获取转写文字
  3. 转写文字被复制到系统剪贴板 → 执行粘贴操作插入到目标位置
  4. 问题:步骤 3 会覆盖用户在第 1 步中手动复制的内容,导致用户丢失了原本的剪贴板内容

建议方案

在插入转写文字(完成粘贴操作)后,将用户此前复制的内容再次复制到系统剪贴板中,恢复用户的剪贴板状态。

具体实现参考:

  • 在执行语音转写插入前,主动保存当前系统剪贴板内容
  • 完成转写文字的粘贴后,将保存的内容写回系统剪贴板
  • 如果跨进程读取剪贴板有权限限制,可考虑在应用启动时申请权限并缓存剪贴板状态

补充说明

这个问题的场景在日常使用中比较常见:用户可能在编辑文档时手动复制了一段重要文字,然后触发语音输入。转写文字插入后,用户发现之前复制的文字无法粘贴了。

这个建议适用于所有使用了 clipboard 作为转写文字插入媒介的模块。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions