feat(windows): SendInput 模式下可选隐藏键盘列表中的 OpenLess (Fixes #738)#740
feat(windows): SendInput 模式下可选隐藏键盘列表中的 OpenLess (Fixes #738)#740HKLHaoBin wants to merge 3 commits into
Conversation
Add windowsSendInputInsertionOnly so users who cannot restore their IME after dictation can opt into Unicode SendInput without switching to OpenLess TSF at session start. Open-Less#733 Co-authored-by: Cursor <cursoragent@cursor.com>
Serde camelCase produced windowsSendinputInsertionOnly while the UI sends windowsSendInputInsertionOnly, causing the toggle to revert after save. Add explicit rename/alias on UserPreferences wire types and contract tests. Refs Open-Less#733 Co-authored-by: Cursor <cursoragent@cursor.com>
…mode (Fixes Open-Less#738) Add windowsShowOpenlessInKeyboardList pref with TSF EnableLanguageProfile apply on startup/save, transactional rollback with ASR sync, and UI error toast/refresh for both SendInput and keyboard-list toggles. Co-authored-by: Cursor <cursoragent@cursor.com>
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
|
更改 13 个文件, 485 行插入(+), 15 行删除(-) |
User description
Summary
efresh()\ 回滚 UI;修复 Hook 顺序问题。
本 PR 基于 SendInput-only 插入模式(#733 相关提交),#738 的键盘列表开关仅在 SendInput 开启时可见。
关联 Issue
Fixes #738
Test plan
pm run build\ 通过
Made with Cursor
PR Type
Enhancement
Description
Allow hiding OpenLess from system keyboard list when SendInput-only mode is active
Apply TSF profile visibility on startup and via transactional setting save
Add UI toggle in Windows recording settings with error toast on failure
Extend SendInput-only mode to skip IME switch and fallback appropriately
Diagram Walkthrough
flowchart LR A["User toggles visibility pref"] --> B["persist_settings_with_keyboard_apply"] B --> C{"ASR provider changed?"} C -->|Yes| D["sync_active_asr_provider"] D -->|Failure| E["Rollback keyboard list visibility"] C -->|No| F["apply_keyboard_list"] F --> G["TSF EnableLanguageProfile"] G --> H["Update keyboard list"] E --> I["Return error to UI"] H --> J["Write prefs"] J -->|Failure| K["Rollback keyboard list + ASR if needed"]File Walkthrough
7 files
Add transactional save with keyboard list applySkip TSF switch and insertion fallback for SendInput-onlyApply keyboard list visibility on startupAdd new preferences with serde serializationImplement profile enable/disable via TSF APIAdd new preference fields to TypeScript typesAdd UI toggles for SendInput and keyboard list visibility1 files
Update dictation_error_code for SendInput-only mode5 files
Add English i18n strings for new togglesAdd Japanese i18n strings for new togglesAdd Korean i18n strings for new togglesAdd Simplified Chinese i18n stringsAdd Traditional Chinese i18n strings2 files
Include new preferences in mock dataInclude new preferences in test defaults