Skip to content

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

@sunshinewithmoonlight

Description

@sunshinewithmoonlight

问题描述

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

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

建议方案

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

具体实现参考:

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

补充说明

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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions