baiqing
eaca99bdf4
fix(insertion): make Windows/Linux paste shortcut configurable (#360)
模拟粘贴硬编码 Ctrl+V,kitty / alacritty / wezterm / gnome-terminal /
foot 等 Linux 终端只接受 Ctrl+Shift+V,听写文本只剩在剪贴板里,看起来
像"什么也没插入"。issue #360 报告了 kitty 这个具体场景。
新增 `PasteShortcut` 枚举(`CtrlV` / `CtrlShiftV` / `ShiftInsert`)作为
UserPreferences 字段,串到 simulate_paste 的 enigo 路径。Settings →
录音 多了"模拟粘贴快捷键"一行,仅在非 macOS 显示(macOS 走 AX 直写
不受影响)。默认 `CtrlV` 与历史行为一致,老配置文件没有 pasteShortcut
字段时 `#[serde(default)]` 回退到默认值,不破坏既有用户。
涵盖:
- types.rs:新枚举 + 字段 + UserPreferencesWire 串接
- insertion.rs:simulate_paste(shortcut),paste_keys 把枚举拆成
(modifiers, primary),按下/释放严格对称,中途出错也反向释放避免卡键
- coordinator.rs:从 prefs 读取,串到三个 insert 调用点 + Windows IME 链
- 前端 TS 类型 / Settings 选择器 / 5 种语言 i18n
- 单元测试:默认 CtrlV、JSON 反序列化、paste_keys 三种映射
cargo test --lib 全部 181 通过;npm run build 干净。
2026-05-09 13:15:33 +08:00
..
2026-04-30 10:44:31 +08:00
2026-05-08 09:04:14 +08:00
2026-05-09 13:15:33 +08:00
2026-05-09 13:15:33 +08:00
2026-05-06 19:07:54 +08:00
2026-04-30 14:21:35 +08:00
2026-04-30 10:44:31 +08:00
2026-05-08 19:58:05 +08:00
2026-05-08 19:58:05 +08:00
2026-04-30 10:44:31 +08:00
2026-04-30 10:44:31 +08:00
2026-04-30 10:44:31 +08:00