mirror of
https://github.com/qingjian-team/qingjian.git
synced 2026-11-06 16:13:55 +00:00
#354 只接了旧版 Windows 设置;新设置程序是主入口,按平台支持表只在 Windows 显示,macOS、Linux 记为待实现。文档同步到按键页与设置页。
169 lines
22 KiB
Markdown
169 lines
22 KiB
Markdown
# TODO
|
||
|
||
按「从自用到能给别人用」排。勾掉的移到 [roadmap.md](roadmap.md) 对应阶段。`★` 是当前建议的优先项。
|
||
2026-09-06 状态:核心输入、翻译(中→英 / 日 24.9 万词、英→中 4.5 万词、注假名、修饰键上屏译词、翻译选中文字)、英文模式候选、
|
||
自建词库(基础 8.7 万条 + 随包领域词库 11 本 13 万条,含语料挖出的高频词)、多词库与导入 / 移除 / 开关、偏好设置、`.qj` 容器(启动 50 ms)、
|
||
个人 n-gram(二元 + 三元)、词图内敲错边、崩溃不丢、pkg 安装器、README 安装 / 隐私 / 许可都已完成并在自用。
|
||
给测试者打包只剩:特殊应用验证(用户自己在各应用里试);签名等 Developer ID 证书。
|
||
|
||
## 〇、上线前必须做(不做就不能给别人)
|
||
|
||
- [ ] 词库质量(产品词库已自建,见 roadmap):常用词表只有 5.6 万,语料挖出的 1.57 万高频词已并入(蚌埠 / 台州 / 高铁 / 吐槽 这类补上了),
|
||
网络用语目录还空着(`assets/lexicon/04_internet_slang`);LLM 标注的多音字读音抽查;挖词过滤已进 `dict-convert mine`(2026-09-07,`oov_filter.rs`,与原脚本输出逐行一致);
|
||
LM 表(TSV 48 MB / `lm.qj` 29 MB)不进 git,先按发布附件对待
|
||
- [ ] ★ 首次运行体验:没有 `data/generated/` 时打进包里的样例词库只有几十条,等于不能用;随包数据(词库、LM 表、释义表、emoji)
|
||
要有一套发布版并定好体积(现在 `dict.qj` 3 MB + 领域词库 7 MB + `lm.qj` 29 MB + 释义表 `.qj` 39 MB + 英文词表 2 MB,pkg 34 MB;可再考虑变长编码);
|
||
发布物 = pkg(`bundle.sh --pkg`),要么 CI 生成数据、要么把 `data/generated/` 当发布附件
|
||
- [ ] 仓库瘦身(2026-09-07 决定:主仓库继续单库、官网独立仓库,不拆代码;要处理的是数据)。
|
||
已做:LLM 中间产物 `gloss-llm.jsonl`(30 MB)/ `gloss-en-llm.jsonl` / `pinyin-llm.jsonl` 移到 `data/generated/`(gitignore),仓库只留导出的 `glossary-*.tsv` 与词库源;
|
||
历史在同日压成 `v0.1.0` 单提交(完整开发历史在本地分支 `archive/dev-history`,不推),所以公开仓库里从没出现过这些文件。
|
||
还差:仓库推到 GitHub 后跑一次 `tools/release/data-bundle.sh`,把这三个 JSONL 与 `data/generated/*.qj` 传到 `data` 预发布 Release(现在只在本机与归档分支里有);
|
||
正式开源后若 clone 太慢,再考虑把 `assets/lexicon` + `assets/glossary` 拆成数据仓库,现在不做
|
||
- [ ] ★ 签名与公证:pkg 安装器、自动注册输入源、版本号 / 构建号已做(2026-09-06,`bundle.sh --pkg`);
|
||
CI 已搭(2026-09-07,`docs/notes/release.md`):推标签在 macOS runner 打 arm64 + x86_64 两个 pkg、建 Release、生成 `releases.json`,产品数据从 `data` 预发布 Release 下载。
|
||
还差:Apple Developer 账号的 Developer ID 证书(配齐 `release.yml` 头部的七个 Secrets 就自动签名公证)、仓库推上 GitHub 后第一次真跑验证(本机没跑过 workflow)、
|
||
官网改成读 `releases.json`(含 sha256 / 提交 / 构建时间的展示)并配 `QINGJIAN_WEB_TOKEN` 让发版与文档改动自动触发官网构建、更新检查
|
||
- [ ] ★ 特殊应用逐个验证(2026-09-07 用户已验:Zed、Terminal 正常;JetBrains 系没装没验):Secure Input(已有检测,验证密码框不组句、不发云端)、iTerm / Warp、VS Code / Electron、
|
||
浏览器地址栏、沙盒应用(App Store 版备忘录 / 微信)、全屏游戏;每个记录 preedit 模式建议(按应用的开关已有 `[apps]` 分节,
|
||
英文候选按应用关已做,preedit 模式按应用定可以接在同一分节)
|
||
- [ ] 登录后不恢复成青简:2026-09-06 两次开机日志都显示登录后当前输入源是系统拼音 / ABC,要手动切回(进程没崩过,panic 与崩溃报告都是零;
|
||
Caps Lock 切 ABC 的系统开关已排除)。怀疑装在 `~/Library/Input Methods` 的 ad-hoc 包每次重装签名变、登录早期枚举没认上;等签名后装 `/Library` 再看,
|
||
或在 `--register` 之外登录时补一次 `TISSelectInputSource`
|
||
- [ ] 卸载与重置:卸载脚本已随包(`uninstall.sh`,`--purge` 连数据删,README 有说明,2026-09-06);还差偏好设置里的「重置学习数据」按钮、
|
||
配置文件版本迁移(新增键有缺省,改名键要迁)
|
||
- [x] 许可证定稿(2026-09-07):GPL-3.0-or-later,`LICENSE` 全文、`Cargo.toml` `license`、「关于」页、README 一致;名字与 logo 不授权。以后引入 JMdict 要补进署名清单
|
||
|
||
|
||
## 一、日常输入体验(决定自己会不会一直用)
|
||
|
||
- [ ] 整句转换收尾:语料再补(现在是维基 + LCCC 微博对话,新闻 / 小说体还缺;bigram 只留次数 ≥ 6 的前 300 万对,
|
||
`wxqcf` 出 我想去蹭饭 就是「我想 → 去蹭饭」8 次进了表、「我想去 → 吃饭」没进的稀疏问题,简拼把读音放开后这类问题更显眼);
|
||
个人 n-gram 已做(二元 + 三元),「按应用分别记」看用起来的效果再说
|
||
- [ ] 释义兜底收尾:已做(2026-09-06,只对上屏的词库词 / 云端词查,个人释义表 `user-glossary-<语言>.tsv`);还可以考虑停顿后高亮的候选也查、
|
||
偏好设置里看 / 清个人释义表、导入词库时批量预填
|
||
- [ ] 本地整句模型的结果偶尔赶不上空格(Linux,2026-10-16):FreeBSD 端到端 Plasma · Firefox 的 `firefoxliulanqi`,修「只认最新请求」前 8 遍里 2 遍、修后 9 遍里 1 遍
|
||
按空格时整句还没换上来(上屏「勠」);同一台虚拟机里生成只要 100–136 ms,不是慢。要 Server 的调试日志才看得清时序,见下一条
|
||
- [ ] Linux Server 的日志级别写死成 info(`main.rs` 的 `with_env_filter("info")`),配置里的 `log_level = "debug"` 不起作用
|
||
- [ ] 本地整句模型的同步 / 异步结果不完全一致(2026-10-16 用 docs/user 抽的 635 句量:首选一致 629、候选列表完全一致 582,差在第 2 位以后);
|
||
neural-rescoring.md 记的是 300 句逐句一致。修「只认最新请求的结果」前后都是这个数,不是它引入的;先查是缓存条件还是生成时机
|
||
- [ ] 候选窗口里超长释义要截断(CEDICT 表时 你 那条能拉到整屏宽;LLM 表已短,仍要兜底)
|
||
- [ ] 翻译选中文字:译文很长时候选窗口的折行(读不到选区的提示已做)
|
||
- [ ] 英文模式候选:把数据包的误拼对照表(typos,10 万对)喂进纠正,技术词(kubectl)没有 wordfreq 词频要给底值,两处编辑的纠正
|
||
- [ ] 全角 / 半角切换,`。` 与 `.`(`-` `=` 非组句时的行为 2026-09-15 已定:仍是半角,但改由壳自己插入,
|
||
不再靠放行——放行在部分宿主里到不了应用,见 `candidate-ui.md` 的标点一节)
|
||
- [ ] 快捷短语(`i` 前缀):编码 → 短语表,用户可增删
|
||
- [ ] 问字模式离线版:拆字表(IDS 数据)按部件查字,云端版已有
|
||
- [ ] 双拼收尾:菜单栏增加方案切换
|
||
- [x] 双拼方案数据化:用户在 `schemes/<id>/scheme.toml` 写 `type = "shuangpin"` 就是一套方案,可拿内置方案当底子只改几个键(2026-10-20,Linux 未接)
|
||
- [ ] 双拼解码支持同码出多个读音——小浪的 `lk`(lai / lia)、`nm`(niang / nen)、`dk`(dai / dia)、`un`(en / eng)现在只解第一个,做完去掉 `every_syllable_round_trips` 里小浪的四个例外(#129)
|
||
- [ ] 辅码(issue #8,设计见 [docs/design/aux-code.md](../design/aux-code.md)):触发键(缺省 `;`,与「非拼音键进直输段 / 全角标点」排优先级)与逐键即筛、词级过滤、辅码态隐藏无码词;码表走 Rime yaml 导入(`columns` 必须解析、`import_tables` 跨文件合表、「有词无码」行要报警);码表存**独立码索引**(两段式查询,别复用词库 Slot);
|
||
原生表只带笔画(CNS11643 笔顺 + 大陆序覆盖表 `dict-convert stroke`,艹 3 / 辶 3 / 阝 2);设置界面加「辅码」页(macOS 偏好设置 / Windows 设置程序:触发键、显示码、码表列表、导入);第三方形码表(小鹤形 / 自然码形)不随包,走引导导入
|
||
- [ ] 整句 + 辅码:辅码态现在只出词候选,整句不出(`dongguaxigua;ppph` 拿不到「冬瓜西瓜」);要做得把码逐字约束进整句词图(设计文档「后续」)。2026-10-20 用户定先不做
|
||
- [ ] 敲错边收尾:敲错四类代价与整段纠错代价 2026-09-12 已在冻结日志(12886 条可评)上扫过,都在峰上,不改(`docs/notes/constant-sweep.md`);
|
||
个人折扣上限(3)回放从零学分不出好坏,等 `user-typos.tsv` 能带进回放(`--user-dict`)再看;
|
||
退格重打(组句内、跨上屏)已进输入日志 `retype` 事件(2026-09-12),攒够后先按 `docs/plan/model-eval.md` 的尺子算召回与误纠率,再决定喂不喂个人敲错表;
|
||
整段一处编辑那路仍是逐变体跑整句,长句慢(`nihoama` 1 ms、更长的几毫秒)
|
||
- [x] 个人 n-gram 插值常数(λ 0.8 / K 8 / 上限 0.5 / D 0.75)2026-09-12 回放扫过:K 全平,λ 0.7–0.75 与 0.8 差 0.3 个点、带神经重排后无差,封顶 0.7 起掉;保留现值(`docs/notes/constant-sweep.md`)。
|
||
「挤掉了」要选四次才翻过「给掉了」是 K 与封顶合起来的设计(一次误选翻不过),不是常数没调
|
||
- [x] 词库缺高频「代词 + 的」(我的 / 你的 / 他的):2026-09-12 加了短语层 `assets/lexicon/phrases.tsv`(`dict-convert phrases`,语料相邻两三词、对话语料里 ≥ 2000 次、
|
||
边界规则,5400 条:我的 / 好的 / 不知道 / 有没有 / 那我),品牌词 `brand.tsv`(青简 210);词典词头收不到的这一层以后按同一方法补
|
||
- [x] 语料里少的领域词(对齐 / 后端 / 词库 / 候选框):2026-09-12 从日志人工挑 48 条进 `assets/lexicon/domain_words.tsv`,语言模型走合成计数(`docs/notes/domain-words.md`);
|
||
语料 0 次的(微软拼音 / 悬浮条)按规矩没进,要进得另立白名单
|
||
- [x] 中英混杂词与英文专名(2026-09-15):`assets/lexicon/mixed_words.tsv`(C盘 / B站 / U盘 / T恤 / A股…,`cpan`→C盘,`youpan`→U盘,
|
||
可进整句 `wozaibzhan`→我在B站);`dict-convert english` 同编码优先大写专名(Windows ≠ windows),`07_display_forms.tsv` 补 VSCode / Bilibili 等;
|
||
产品 `dict.tsv` / `english.tsv` 已更新。句中英文仍只支持句末尾段,见「中英混输」。
|
||
- [x] 按输入串记的选择只认字面:已按「候选全拼记一份、查询取两者最大」做了(`user-choices.tsv` 字面键 + 读音键各一份;读音键只在当前输入是读音前缀且不少于两个字母时参与,简拼不带全拼的选择;英文词位置的仲裁只按字面键)
|
||
- [ ] 已经学进用户词的错读音云端词(`我的 wo di`、`我的哦 wo di e` 这类)没有清理入口:偏好设置词库页给「按读音核对用户词」,或一次性脚本
|
||
- [ ] 正式版前的发布可信性(2026-09-12 外部 CI 检查,测试版先不做):产品数据改不可变 tag 并在仓库锁版本 + SHA(2026-09-16 已做:`data-vN` Release + `tools/release/data.lock` + `data-fetch.sh`);
|
||
安装包内容验证(pkg / Setup.exe 里词库、模型、许可齐不齐,`codesign --verify` / `signtool verify`);`cargo deny`(许可证 + 来源);`.qj` 读取器越界 fuzz、`qingjian-format` 跑 Miri
|
||
- [ ] 本地整句模型(已进壳并随包发出,见 `docs/notes/neural-rescoring.md`;加载 12 秒是早期首次 Metal 编译的记录,2026-09-12 装机实测 102 ms,划掉):
|
||
重排改了切分时应用里的行内拼音要到下一键才更新;日语
|
||
- [ ] 个人微调(LoRA 挂在冻结基模上,基模更新后拿本地日志重训):先在 train 仓库验证收益,再验 candle CPU 训练能不能跑通,都过了才进壳
|
||
(闲时门禁、加载时合并权重、开关与一键清除);每个模型假设先按 `docs/plan/model-eval.md` 写尺子与基线
|
||
- [ ] 通变按当前词库重标拼音重训:训练用的旧词库没有 嗯 / 诶 / 囧,字表里也就没有,带这几个字的路径现在整批不重排(`enen` 靠静态模型出 嗯嗯)
|
||
- [x] 个人英文词表没有衰减(2026-09-24 发现):用户词频 / 个人英文词 / 敲错表三张表已加牛顿冷却时间衰减
|
||
(半衰期 90 天,`--tune decay-days=` 可调,0 为不衰减),冷却只压排序权重,记录保留、冷满一年才在落盘时清出,
|
||
30 天不用的英文词失去「当第一」的资格;自愈出口仍是删候选(0.3 起在候选右键菜单里)走 `forget_english`。
|
||
「位置只有两档」另见 #606。
|
||
- [ ] 日语 emoji 要等有日语输入模式
|
||
- [ ] 人名输入(2026-10-20 用户群反馈,对照微软拼音):一串拼音像人名时,第一个音节先按姓氏匹配、不当词语查;
|
||
首字是「长」「令」「欧」这类时再看第二字能不能凑成复姓(长孙、令狐、欧阳),剩下的按名字常用字表组合。
|
||
要两张表(姓氏含复姓、名字常用字频),来源要许可干净;什么时候按人名排、怎么不挤掉普通词要先定,改了排序过回放
|
||
|
||
## 二、产品特色
|
||
|
||
- [ ] 释义表收尾:覆盖面再扩(次数阈值降到 100 约 10 万词);JMdict 校对假名与日文词性;等级表(CEFR / JLPT 已随包,见 `assets/levels/`)
|
||
也可做英→中、日→中方向的种子;四六级 / 商务英语词表要先找到许可干净的来源
|
||
- [ ] 可选复习(Phase 4):输入统计、生词识别、词汇统计(含 CEFR / JLPT 等级分布)已做(2026-09-06);复习容易变成打扰,先不急
|
||
- [ ] 云联想收尾(Phase 6):密钥进系统密钥库——mac 钥匙串、Windows 凭据管理器(等签名定了再做,ad-hoc 签名每次重装都弹授权;安卓已用 Keystore,见 `docs/notes/android.md`)、按应用禁用、限流与用量统计
|
||
- [ ] 个人模型(Phase 7):小 Transformer 实验(有评测门槛),见 roadmap
|
||
|
||
- [ ] ★ **主题与自绘渲染器 spike**(2026-09-13 定向,分支 `renderer-spike`,见 [design/rendering.md](../design/rendering.md)):
|
||
tiny-skia + cosmic-text 画一行「青简 hello 🙂 日本語」+ 圆角阴影,Windows / macOS 与原生并排截图,验四条:彩色 emoji(sbix / COLRv0)、
|
||
中日字形回退按 locale、字体按需加载(不扫全系统)、灰度抗锯齿观感;首帧耗时与内存不劣于 GDI / AppKit。过了 Windows + macOS 一起换渲染器、主题文件 TOML;
|
||
不过退回各平台各自渲染(Windows 走 D2D)。设置程序不自绘。
|
||
|
||
## 三、其他平台
|
||
|
||
- [~] Windows TSF(Phase 5):真机自用中,候选窗已覆盖商店 / 任务栏搜索(`uiAccess` + 自签)。
|
||
与 mac 功能齐平尚缺(按价值排;工时=开发+真机验证合计,单人;真机来回是大头):
|
||
- [~] **① 翻译选中文字 `translate_selection`**(★★★ / 中高 / 1.5–2 天):**代码完成,待真机测**(2026-09-10)。
|
||
新增 `RequestSelection` / `Selection{text,rect}` 两协议消息;DLL 异步只读会话(`com/selection.rs`,`GetSelection`+`GetText`+`GetTextExt`)
|
||
读选区 → Server `request_translation`(`PredictionKind::Translate`)→ 自绘候选窗显示译文 → 回车 / 空格替换(回 `commit` 走 `InsertTextAtSelection` 替换选区)/ Esc 保留;
|
||
设置页「快捷键」加了翻译选中文字行(改修饰键)。mac 全绿 + windows-gnu 交叉编译 / clippy 过;沉浸式应用读选区、替换选区待真机验。
|
||
- [~] **② 生词「看到轮次」计数 `note_displayed`**(★★☆ / 低 / 0.5 天):**代码完成,待真机测**(2026-09-10)。
|
||
`dispatch/mod.rs::reconcile_candidates` 里真正 show 那次按当前页调 `Engine::note_displayed`、收窗传空,对齐 macOS `render`;轮次推进、生词满 3 轮毕业。
|
||
- [~] **③ 悬浮状态条**(★★☆ / 中 / 1.5–2 天):**代码完成,待真机测**(2026-09-10)。
|
||
Server 侧单例,跟候选窗同一条 UI 线程;分层窗合成器从候选窗 `surface.rs` 抽出成 `ui/layered.rs` 两边共用,绘制件(主题 / DPI / 深浅)复用;
|
||
状态条自己一个窗口类 + 窗口过程(`ui/status/`):`WM_NCHITTEST`→`HTCAPTION` 整块可拖、`WM_MOUSEACTIVATE`→`MA_NOACTIVATE` 不抢焦点、
|
||
`WM_EXITSIZEMOVE` 把位置写回 `[status_bar] x/y`(`GWLP_USERDATA` 存自身指针)。新增协议 `ClientMessage::ModeChanged{english}`(fire-and-forget),
|
||
DLL 在 `update_mode_indicator` 推模式;Server 据此刷、会话关就收起;双拼方案 Server 从 `[general] shuangpin` 知道。配置加 `[status_bar]` 分节(`enabled`/`x`/`y`),
|
||
设置「候选窗口」页加开关。沿用 GDI 分层窗保持视觉一致,并记住位置。
|
||
mac 全绿(+3 状态条分派测试)+ windows-gnu 交叉编译 / clippy 过;拖动 / 记位置 / DPI / 深色 / 盖高 z-band 待真机验。
|
||
- [~] **④ 删候选屏幕提示**(★☆☆ / 低 / 0.5 天):**代码完成,待真机测**(2026-09-11)。
|
||
`Frame` 加 `notice: Option<String>`(不参与 `is_empty`),`dispatch/shortcut.rs::forget_on_page` 填、`handle_key` 开头清(只活到下一次按键);
|
||
自绘候选窗 `ui/candidates/view.rs` 画在拼音行下方(淡色小字)。host 测已加。
|
||
- [~] **⑤ 任务栏点中/英反同步**(★☆☆ / 低 / 0.5 天):**代码完成,待真机测**(2026-09-11)。
|
||
激活时对转换模式 compartment 挂 `ITfCompartmentEventSink`(`com/conversion.rs`),`OnChange` 读回 `NATIVE` 位、与当前模式不同才翻转
|
||
(防回环),顺带刷指示器 + 上报 Server 让悬浮状态条也同步。纯 DLL 改动、无新协议。
|
||
- [~] **符号面板**:代码完成,待真机测(2026-10-13)。这一版原生画(Direct2D,彩色 emoji),下一版换 qingjian-render;
|
||
按键与鼠标同 macOS,入口在悬浮状态条「符」格与托盘中 / 英图标的右键菜单。
|
||
- [ ] 发版:换 **Certum 开源代码签名证书**重签(开发全程自签 + 本机受信任根,见 `installer/sign-local.ps1`)、
|
||
`windows-v<版本>` 标签与 CI。
|
||
- [ ] **本地整句模型上 Windows**:Server 已接(`dispatch/rescore/`,CPU 推理,设置「云服务」页有开关,安装包带 `data\model`),待真机验:每次重排的耗时(前文 + 几条路径一次前向,CPU 上可能几十到一百多毫秒,超了就缩前文长度)、模型加载时间;
|
||
应用光标前文已接(DLL 起组句时读、密码框跳过;2026-09-12 真机验过记事本 / Edge / 终端都读得到,Edge 密码框按 `IS_PRIVATE` 识别),真机看沉浸式应用读不读得到;
|
||
模型单文件 `.qjm` 已做(2026-09-12,复用 `.qj` 容器 `Kind::Model`,`find_model` 先 `.qjm` 再三件套目录,`pack model` / `tools/release/pack-model.sh`,
|
||
data Release 传 `model.qjm`,bundle.sh / qingjian.iss 只带一个文件),待 mac 与 box 真机各装一次验加载与重排;
|
||
密码框已按 TSF 规范做(2026-09-12):`KEYBOARD_DISABLED` compartment 整键放行不组句,`IS_PRIVATE` / 密码 / PIN 输入范围为私密(组句但不学不记不发云端,`ClientMessage::Privacy` → `Engine::set_private`),box 真机验过:Edge 密码框整键放行;InPrivate 网页文本框报 `IS_SEARCH` 不报 `IS_PRIVATE`,私密路径只靠单测覆盖;CI 两个 job 都从 `data` Release 取 `model.qjm`(已做)。
|
||
- [ ] Linux Fcitx5 后续(默认面板与手动安装已实现):native Wayland 验证、Server 自绘 / GNOME 位图、神经重排、自动启动与打包;配置同步、跨平台词库
|
||
- [~] Linux 双框架(装的时候认 fcitx5 还是 IBus,两个都支持):IBus 前端 `apps/linux/ibus` 已能用——
|
||
socket 客户端、按键翻译、D-Bus 层(按键 / 焦点 / 重置 / 面板三样)都通了,对着真 ibus-daemon 验过。还差:
|
||
- 密码框与私密输入:`SetContentType` 的映射写了但**没验过**(测试里 IBus 一次都没调它),要找个真密码框试;验法见 [notes/linux-dual-frontend.md](../notes/linux-dual-frontend.md)
|
||
- 按应用设置:IBus 这条路上还没拿到应用标识,`OpenSession` 的 `app` 报 `None`,`[apps]` 分节对它不生效
|
||
- ~~`focus_out` 的 `client_preedit`~~:2026-10-15 改报 `true`,preedit 用 COMMIT 模式由框架留在原来的框里(X11);
|
||
GNOME Wayland 上改在快捷键交给应用前先原样上屏,鼠标换框仍会丢,见 [notes/linux-bringup.md](../notes/linux-bringup.md)
|
||
- ~~安装脚本按已装框架分支安装、Server 的启动策略~~:`install.sh --frontend auto` 已做,systemd 用户单元 `qingjian-server.service` 随装(`--enable-service` 顺手 enable),两个前端共用一个 Server
|
||
- `[general] preedit` 三档在 IBus 面板下逐个真机验(它的面板能力比 fcitx5 弱),坑见 [notes/linux-bringup.md](../notes/linux-bringup.md)
|
||
- [ ] 设置项的平台缺口(设置程序 `apps/settings/src/support/` 表里标「待实现」的项,输入法接上之前设置里不显示;测试逐条对照这里):
|
||
- [ ] 辅码:Linux
|
||
- [ ] 形码与自定义方案:Linux
|
||
- [ ] 默认英文模式:macOS
|
||
- [ ] 按应用记住中英模式:macOS、Linux
|
||
- [ ] 中文与英文、数字之间自动加空格:Linux
|
||
- [ ] 横排时 ↑ / ↓ 展开成多行:Linux
|
||
- [ ] 额外翻页键:Linux
|
||
- [ ] 高亮移动键:Linux
|
||
- [ ] Ctrl + . 切换全半角标点:Linux
|
||
- [ ] 双拼键位提示:Linux
|
||
- [ ] 拼音行显示声调:Linux
|
||
- [ ] 实验功能(知意、含章·知微):Linux
|
||
- [ ] 小键盘数字:macOS、Linux
|
||
|
||
## 四、其他输入方案
|
||
|
||
- [ ] 五笔(86 版):方案与分期见 [wubi.md](wubi.md),第一期 Core + CLI + Windows;
|
||
`[general] scheme` 收敛与配置迁移一起做(顺带解掉〇里的「配置文件版本迁移」)
|
||
- [ ] 自定义形码方案:Core / 平台 / CLI / Windows / macOS / 新版设置程序已做(2026-10-20,见 [wubi.md](wubi.md) 五之三),
|
||
剩 Windows 与 macOS 真机验顶字和满码自动上屏、Linux 壳接形码
|
||
- [ ] 复杂方案收尾(与上一条共用「输入方案」抽象):注音只在 Core 与 Windows 接了,macOS 侧还没接;双拼的方案切换要等 `[general] scheme`
|