116 Commits
Author SHA1 Message Date
yenharvey d7e9214907 fix(macos): 关掉中英文切换后固定中文,Caps Lock 只管大小写
之前 macOS 读配置时没看 [general] english_mode:关掉中英文切换后,Caps Lock 一亮就进英文,
又没有切换键能切回来,只能重启输入法。
现在关掉时单击 Shift 与 Caps Lock 都不切到英文,Caps Lock 只管大小写,与 Windows 一致。
文档里这个开关按设置页上的名字写成「中英文切换」,按键速查补上关掉后 Caps Lock 出大写。
测试:本机 macOS 真机验过关掉后 Caps Lock 只弹大写 / 小写、亮着打字母、开着切到英文再关掉回到中文、单击 Shift 不切;Linux 没验。

Closes #890
2026-11-05 18:23:40 +08:00
Hanson b079e02e01 feat(macos): 新增回车优先上屏译词开关 (#899)
组句时回车上屏高亮候选的第一条非中文译词,空格仍上屏中文;缺省关闭,配置键 [shortcut] enter_translation。
2026-11-05 17:18:20 +08:00
yenharvey 08b45a362f feat(panel): 翻译框支持拖选、Shift 选字与全选
- 原文带选区:打字、选词替换选中的字,退格 / Delete 删掉选中的字;开始打拼音时先删选区,同记事本
- 鼠标按住拖动选字、Shift 点击扩选区;Shift + ←→ / Home / End 选字,⌘A / Ctrl+A 全选
- Windows DLL 没组句时 Ctrl 组合键不问 Server:帧加 panel_text_box(serde default,不升协议版本),面板停在翻译框时把 Ctrl+A 交给 Server
- mac 候选视图 view/mod.rs 超过 800 行,系统绘制的尺寸计算挪到 view/size.rs
2026-11-04 17:23:04 +08:00
yenharvey 61ca4b4150 feat: 符号面板加「翻译」组,删掉 Windows 的整句候选翻译
- 整句候选翻译译的是猜出来的候选,猜错就白发;改成用户在面板的框里自己打一句、停键后再译,整句只发确认过的内容
- 翻译组排在最前,每种目标语言算一个分类([ ] 换),打拼音时按 ↑ 直接落在这组;没在打字时 [shortcut] translate_panel(Ctrl+Alt+Y / ⌃⌥Y)打开
- Core panel/translate:原文带光标,停键 800 ms、两个字以上才发,内容没变不重发,没翻出来 2 秒后自动重试一次、再失败等回车;译文按原文 + 语言缓存在内存(换提供方清空),不落盘
- 译文放进应用的 preedit:Windows 译文靠轮询送到,DLL 记着写进文档的组句文字,变了就补一次编辑会话;行内不显示拼音的设置下也照样放
- 框的排版抽成 bamboo-slip 的 TextFlow,与设置程序的 TextField 共用;面板不是 Ui 搭的,布局后按各字位置给出 PanelHit::Caret
- [predict] sentence_translation 不再认(旧配置里写着不报错),两个设置程序的开关与文档一并去掉;生词本整句翻译保留
- Windows dispatch/composed/mod.rs 超了 800 行,按联想、导航、出帧拆开
- 初音主题当前分组胶囊改纯色
2026-11-04 16:18:39 +08:00
Joelee e1f3ba47c9 feat(core): 支持越南语 Telex 第三输入法 (#841)
Windows 与 macOS 加越南语 Simple Telex 第三输入法,双击 Shift 在中英与越南语之间切换,候选旁显示中文译词。

Closes #835
2026-11-04 10:32:54 +08:00
yenharvey 541d3b71bf feat(clipboard): 青简剪贴板 macOS 版
剪贴板在 mac 上也能用,随输入法安装包装成 Contents/Applications/QingjianClipboard.app,输入法按 [clipboard] enabled 用 open 拉起(辅助功能权限记在它自己名下)。
- 系统相关的代码分成 system/windows 与 system/macos,对外接口两边一致;界面、存储、同步共用
- mac:按 changeCount 轮询剪贴板(文字、HTML/RTF、图片、文件,认 nspasteboard.org 的敏感标记),Carbon 全局快捷键,模拟 ⌘V 粘贴回原程序,菜单栏图标与菜单,面板盖在全屏程序上
- 呼出快捷键缺省 mac 是 ⌘⇧V;配置模板里那行改成注释,不再把 ctrl+alt+v 写死进新用户的配置
- 霓虹灯的节奏与像素挪到共用的 system/neon,两个平台只管开窗口贴图;去掉顶边的 ✓ / ✕(太小看不到),失败改成转红后闪两下,红绿色弱也分得清
- 配对的设备显示 mac 的电脑名(「共享」里那个)
- 设置程序的剪贴板一节在 mac 上打开,「添加程序」选 .app,「清空历史」找得到 mac 的剪贴板
- 文档:局域网同步、设置、配置文件、平台差异表写上 macOS;说明内容会经过中间设备转到其他配对设备
2026-11-04 09:57:17 +08:00
yenharvey d764441eda feat(clipboard): 局域网同步,Windows 与 Android 互传文字和图片
不想再靠聊天软件在设备之间传内容,也不经过任何服务器。
配对输 6 位码(SPAKE2 + Noise),PC 之间没法扫码;合并按内容取 id、比修改时刻,手动删除才同步,裁掉和清空只影响本机。
安卓读不到网卡标志,mDNS 库用不了,改走系统的 NsdManager;有的路由器不转发组播,再加同网段扫描兜底。
连接状态只看实际连接结果:mDNS 看不见时同步照样通,显示不在线会被当成配对失败。
收内容时边缘亮霓虹灯,颜色随速度,成功转绿、失败转红。
调试版可用 -PsideBySide 并排装,不用卸发版签名的包。
2026-11-03 10:09:25 +08:00
yenharvey 383b721b63 feat(clipboard): 青简剪贴板 Windows 版
记录复制过的内容,快捷键从屏幕一边弹出卡片面板,选中后粘贴回原窗口,也能编辑、搜索和筛选。
随输入法内置且默认关闭,也能单独运行,所以配置键由它自己读,不依赖输入法的配置库。
有暂停、程序黑名单、清空和大小上限;存储一开始就留好全局 id 与删除标记,给同步用。
2026-11-03 10:09:25 +08:00
yenharvey 31fde2479c feat(settings): 候选导航键改名「Emacs 风格候选键」并补齐五种语言
说明文字精简,keys.md 的锚点按标题原文写。
2026-10-30 09:35:21 +08:00
gomeen 379139671d feat(macos): Emacs 风格的 Ctrl 候选导航键 (#837)
候选窗里可用 Ctrl+P/N/B/F 移动候选和翻页、Ctrl+A/E 跳到当前页首尾,设置里开关缺省关。
2026-10-30 09:22:01 +08:00
yenharvey ac8b2ca986 feat: 上屏候选与上屏字母的键可以在设置里换
- [shortcut] commit_candidate(缺省空格)与 commit_raw(缺省回车):用户反馈想让回车上屏候选,又不想要「展开后回车才上屏」那种看状态变含义的混合规则,于是两项各自做成可录的键
- 只收空格、回车(可带 Shift)与一个符号键:Windows 的 TSF DLL 组句时只把不带 Ctrl / Alt / Win 的键送进 Server,配了也收不到;字母、数字、单引号用来打字选词
- 设置程序录键时查冲突:两项互相、翻页键(主与额外)、辅码触发键;辅码触发键录的时候反过来也查上屏键
- 分派规则 CommitKeys::route 放在 qingjian-platform,Windows 与 Linux 的 Router 共用;缺省的那个键照原路径走(直输段、只剩一个 ? 的细节都在那里),换过的键直接上屏,让出去又没配的空格 / 回车组句中吃掉、不漏进应用
- 注音的空格是一声、回车有自己的规则,不参与;macOS 的空格与回车走另一套事件,登记待实现
2026-10-29 16:04:56 +08:00
yenharvey 4828b60fd2 feat: 横排时翻页键也能展开成多行
- 新开关 [general] grid_page_keys,缺省关(#805):右手不用离开主键盘区去按方向键也能展开矩阵
- 打开后横排时翻页键(主翻页键、额外翻页键、PageUp / PageDown、Tab、点翻页箭头)在单行时也展开并换到下一行,与 ↓ 走同一个 move_rows;展开后翻页键照旧一次翻一屏
- 只管展开、不碰回车:回车上屏什么另做成可自定义的上屏键,不按展没展开换含义
- 展开状态归壳,与现有 ↑ / ↓ 展开同一处:Windows Router::page、macOS turn_page;矩阵一旦展开方向键就按矩阵走,不然没勾 horizontal_grid 时方向键按单行移会走出视口
- 设置程序外观页加勾选框,支持表登记 macOS / Windows 支持、Linux 待实现(Linux 还没有矩阵);macOS 只做了 darwin 类型检查,没上真机

Closes #805
2026-10-29 16:04:56 +08:00
yenharvey 7638cd8775 chore: 合并 main(4 个提交)进 fix/sentence-accuracy
- 带进 UI-less 候选列表(#820)、状态条贴边(#819)、候选译文重新生成(#791)、组句计数日志
- 无冲突;workspace clippy 与测试通过,150 句抽查通变 / 知意首选不变
2026-10-28 09:32:44 +08:00
Joelee 91d1a01650 feat(core): 支持修改与重新生成候选译文 (#791)
候选右键菜单可以手工修改译文或让模型按当前学习语言重新生成,结果存进个人释义表;mac 系统绘制的候选窗也能点击和右键。

Closes #788
2026-10-27 20:37:01 +08:00
yenharvey f4201259eb chore: 合并 main(47 个提交)进 fix/sentence-accuracy
- 整句词图:main 把搜索的不变输入收进 SearchInput、搜索规模改成可调的 SearchLimits(#599),本分支加了知意出字、多来路与拼接备选;按 main 的结构合,出字分成了 SearchInput::emission(缺省恒 0,九宫格等不用它的调用方不用改),格子名额与束宽一律读 limits,诊断也改吃 SearchInput,名额与真搜索一致
- 多来路(NBEST)按调用方要几条判断、比的是缺省束宽:比调过的束宽的话,--tune beam 扫小束宽会顺带开成多来路,main 的 beam_width_of_one 测试也正是这么挂的
- 双拼 scheme.rs 本分支拆进了 scheme/,main 对它的改动(#792 搜狗 lv 按声母简拼读)挪进 scheme/tests.rs;config/general 同理
- 安装包:main 让产品数据缺一样就编不过(好事,保留),但它把含章·通变重新加回了 Windows 安装包与 macOS bundle.sh(--without-model);本分支定了模型不随包、在实验功能里下载,所以 .iss、build.ps1 的必需清单与 bundle.sh 都去掉模型,数据包仍带通变给 Linux
- engine/tests:main 的 generated(UUID / 时间戳)与本分支的生成器排位测试同名相近,后者改名 p2c_placement
- 文档冲突按字符三方合并,两边新增都留;词库生成那段按 main 的「缺省全并、缺文件报错」改写 #807 的说明
2026-10-27 18:38:57 +08:00
yenharvey 46a45f73f1 feat!: 去掉含章·知微,通变改为在实验功能里下载
- 知微与知意同是看前文排序,知意强得多(开发集首选 75.0 对 58.0),留着只多一个难选的选项;分工改成知意排序、通变生成
- 实验功能只剩知意与含章·通变两张卡片,最多开一个,开关同时写 [model] name 与 enabled,两个都关就不用模型;下完自动启用,删除正在用的先关掉
- 通变的下载包是模型仓库已有的 hanzhang-tongbian-v1.0.0(43 MB,hanzhang/tongbian/hanzhang-tongbian-small.qjm),不用重新发
- 选的模型没下载就不用模型,不再退回随包通变(Windows、macOS、Linux 三处加载逻辑一起改);find_model 不再找知微的目录
- macOS 安装包不再带通变;Linux 还没接模型下载,继续随包
- 老配置里的 name = "zhiwei" 按 tongbian 读(serde alias),整个配置不会因此读失败
- 同步用户文档(中英)、设置设计、架构与 crate-notes、Linux 说明、模型说明、平台缺口清单
- macOS 壳本机只能目测:darwin 目标的类型检查卡在 onig_sys 要本机 C 编译器,靠 CI 的 macOS job 编译
2026-10-27 17:28:02 +08:00
yenharvey 6d76cdf941 feat(render): 页码两侧的翻页箭头能点,Windows 候选窗滚轮翻页
主题节点加 action(previous_page / next_page),写了的节点出 HitTarget::Page 点击区域,
四周放 4 点免得小箭头难点;条件 page.previous / page.next 让翻不动的一侧画淡。
七个内置主题横竖排都在页码两侧画箭头:青简绿系新加矢量 chevron 图标跟主题色,
图片主题给原有箭头标上 action,竖排补上小箭头。mac / Windows 点箭头与翻页键同路;
Windows 另收候选窗上的滚轮,攒够一格翻一页。安卓候选条没有箭头,只补字段。

Closes #250
2026-10-27 16:31:00 +08:00
yenharvey 915ca6061a feat(windows): 简繁快捷键缺省关、切回上次用的繁体,新版设置加开关
Ctrl + Shift + F 在所有应用里都会被拿走(编辑器的「在文件中查找」),缺省改成不开,快捷键页加开关。
繁体输出改成四档后,快捷键在简体与上次用的繁体之间切,切到简体时记进 [general] last_traditional。
2026-10-26 14:20:24 +08:00
chleo ee461ca7f6 feat(windows): 可配置的简繁输出切换快捷键 (#363)
[shortcut] toggle_traditional 经协议下发给 TSF,登记成保留键;Server 切换繁体转换并重查候选,保留正在输入的拼音。
与选区翻译同一组合时让给选区翻译。

Refs #349
2026-10-26 14:20:24 +08:00
yenharvey 08b6faca0d fix(core): 拼写纠错默认相信敲的拼音,纠正只当备选;加关闭拼写纠错的开关
- 原来音节个个合法时,整句里的敲错边(个人敲错表越用越便宜)也能把原样压下去:shabi 出 杀不、shangping 出 商品(#808)
- 现在敲的拼音每个音节都完整、原样最优路径又读得通(每个词语言模型都认识,且至少一个多字词)时,首选只按原样读;敲错边读出的那条只当第二条,也不进选词重排
- 原样只拼得出单字或模型不认识的碎片(meiganxi 的 没 干 洗、zanen 的 赞恩)时照旧可以纠正排第一;拼音切不动时的整段纠正不变(nihooma → 你好吗)
- 试过让知意带前文判断要不要把纠正提到第一:重排里的语言模型分与位置先验只看词常不常用,冻结回放 上屏 → 商品、这俩 → 这里、肃然 → 虽然,不做
- 新配置 [general] spelling_correction(缺省开),设置程序「输入 → 纠错」,四个平台的壳与 CLI(--no-spelling-correction)都接上;关掉后不纠正、不加敲错边,敲错表留着不用;安卓设置页另记待办
- 社区开发集首选 72.8% → 74.0%(无上文 65.6% → 66.7%),配对差 +1.2 [+0.8, +1.7];冻结回放词首选 8319 → 8301、整句 2676 → 2657,丢的几乎都是用户本来就敲错了的(yinghong 应用、niyingai 你应该),纠正排第二

Closes #808
2026-10-26 12:33:54 +08:00
yenharvey 5dccfdff09 feat(settings): 新设置程序在 macOS 上也显示中英切换键
#579 的开关写在旧偏好设置里,那时新设置程序还没转正;支持表里 mac 改成支持,只列单击 Shift(单击 Ctrl 与 Ctrl + Alt + Space mac 没做,另记一项)。文档改指新设置程序,补上英文版。
2026-10-26 12:32:38 +08:00
srilanka 590e9a6a8a feat(macos): 单击 Shift 切中英,切换时右上角给提示 (#579)
macOS 的中英切换原先写死 Caps Lock;复用 [shortcut] switch_mode,勾上 shift 后单击 Shift 切中英、Caps Lock 只管大小写,切换时右上角提示「中 / 英」,组句中切到英文把拼音原样上屏。

Closes #35
Closes #248
Closes #460
Closes #796
2026-10-26 12:32:28 +08:00
yenharvey 4f37e9fd65 feat(settings): 新设置程序的候选页加上小键盘数字(Windows)
#354 只接了旧版 Windows 设置;新设置程序是主入口,按平台支持表只在 Windows 显示,macOS、Linux 记为待实现。文档同步到按键页与设置页。
2026-10-26 11:28:47 +08:00
yenharvey 345b36bdeb docs(user): 安装页去掉与中英文页重复的 Caps Lock 一节,重新添加只在直接替换 app 时需要
Caps Lock 与系统切换 ABC 的关系中英文页已经讲了,这里改成链过去;改配置文件不受系统登记影响,删掉那句;安装包每次都会重新登记。英文版同步。
2026-10-26 11:09:19 +08:00
weiyang-byte cf82cfad7d docs(user): 补写 Caps Lock 与系统「切换 ABC」开关的关系、替换后重新注册的步骤 (#276)
新用户实测踩到的两处:系统用 Caps Lock 切换 ABC 时青简的中英切换按不出来;直接替换 app 后要重新添加输入法。
2026-10-26 11:09:00 +08:00
jubeater 5e58194c6b feat(linux): 云联想补齐按需触发、用量统计与释义兜底 (#783)
Linux 的云服务只差按需联想、用量统计、释义兜底三项,对齐 Windows。
顺带两处 bamboo-slip 修复:Wayland 会话直连剪贴板(连不上回退 X11);秘密输入框聚焦时关输入法,免得密钥经云联想上报。

Closes #418
2026-10-26 10:01:27 +08:00
yenharvey 4f884e4985 docs: README 与安装页写明官方发布渠道,目前没有上架包管理器
有人在包管理器里发了自称官方的青简、版本跟不上,用户以为是我们没修 bug。
2026-10-22 19:39:12 +08:00
yenharvey 11bc654811 feat: 知意与含章·知微做成实验功能,设置里下载启用
合入本地 experiment/zhiyi-engine:Core 本地模型可选通变 / 知微 / 知意(知意分省电、均衡、准确三档),设置「实验功能」页下载、启用、删除,进度条与逐块校验;mac 走 Metal,Windows 走 ONNX Runtime 只用 CPU;读不到光标前文时按应用、按输入框取最近打的字。
冲突:设置的短语页、快捷键页说明按 main 的新功能留;用户文档 local-model.md、preferences.md 已在 main 拆分,实验功能的说明搬进 input/sentence.md、getting-started/settings.md、advanced/config-file.md。
2026-10-22 17:20:40 +08:00
yenharvey b6319013e8 feat: 候选右键菜单:置顶、降权、删除(#749)
macOS、Windows 右键候选(macOS 也可 ⌃ 点按)弹出菜单,菜单由青简自己画:
bamboo-slip 新增 PopupMenu 组件(与设置页下拉菜单同一套样式),
qingjian-render 的 render_menu 出位图,壳只给不抢焦点的弹出窗、管悬停与点击。

- 置顶:给当前输入码加一条比同码短语都高的自定义短语(封顶 999),可在设置里看到、改、删;取消置顶删掉它
- 降权:记进学习数据 user-demoted.tsv,每降一次往后挪一格,词库词也能降;可取消
- 删除:原来 Shift + 数字删候选的那套,挪进菜单;Shift + 数字删候选去掉,回到普通符号
- 菜单项与动作在平台层 candidate_menu,两个壳共用;Esc 只关菜单,敲键、候选窗重画或收起时关
- Linux 候选窗由 Fcitx 画,暂无此菜单
2026-10-22 14:39:00 +08:00
yenharvey c398f17c91 feat: 横排且高亮移动键选 ← / → 时,↑ / ↓ 在拼音行与候选之间切换
原来 ← / → 把拼音行和候选连成一条,要改拼音得先把高亮退到第一个候选,打句子时没法在中间改拼音。
这种组合下改成两区:↑ 进拼音行(候选不画高亮,空格照样上屏原来那个)、← / → 只移拼音光标,↓ 回候选,开了横排展开时再 ↓ 展开;矩阵第一行 ↑ 回拼音行、不收起;拼音行里再 ↑ 才开符号面板。
规则放在 Core 的 candidate::arrows::route,mac 与 Windows 两个壳只记焦点、执行动作;竖排、或横排用 ↑ / ↓ 移高亮时按键不变。
2026-10-22 11:39:09 +08:00
yenharvey 9b2acacae0 ci(android): CI 编 Android,发版出签名的 APK
ci.yml 加 android job 编 debug APK,Kotlin 与 Gradle 以前没有任何检查。
release.yml 加 android job:带产品数据出 arm64 APK,签名后 apksigner 验过才上传;v 标签连 Android 一起发,单发用 android-v。
APK 的 versionName / versionCode 改从 core/Cargo.toml 算,发版门禁同样核对它;0.3.0 起 Android 与桌面同号,成熟度用「预览版」标注。
.qj 不再设 noCompress,APK 从 225 MB 降到 95 MB,只多在首次启动解压时花几秒。
README、译本与用户文档把 Android 从「需从源码构建」改成下载 APK;发版文档补签名密钥的生成与 Secrets。
2026-10-22 10:01:35 +08:00
yenharvey a20a38acaf docs(user): 用户文档按用户要做的事重新分组
功能越加越多,原来按早期设置页搭的结构塞不下:几个大页(按键、拼音方案、主题)越写越长,同一功能散在几页。
现在分为开始使用、打字、学语言、个性化、AI 服务、各平台、隐私与帮助、进阶八组,一个功能只在一页讲全,别处一句话加链接。
配置键名、文件路径、文件格式只放进阶组,其他页只写「设置 → 某页 → 某项」,面向普通用户不出现实现词。
设置程序的 ⓘ 链接表、各 README、issue 模板与代码注释里指向旧页面的链接一并改到新地址。
2026-10-21 20:06:25 +08:00
yenharvey db5d6fe325 feat: 拼音行按高亮候选切分,可选显示带调拼音
- 一串拼音有几种分法时,拼音行按高亮候选的读音切(ganga 高亮 尴尬 是 gan'ga、刚啊 是 gang'a),应用里的行内拼音跟着换;Core 的 Query::spelled / follow,mac、Windows、Linux 壳在高亮变化时重切
- [general] show_tones(设置 → 候选 → 拼音行显示声调,缺省关):候选窗口顶部的拼音换成高亮候选的带调读音,简拼也换成完整读音;读音与输入对不上的不换;应用里的拼音不带调
- 声调先按词库里的词取,整句从左往右取最长的词,没标的字按单字声调表补,拿不准的不标;注音、九宫格不标
- Frame 加 window_preedit 给候选窗口单独一串拼音,DLL 不读,不升协议版本
- Linux 的 Fcitx 面板与行内拼音共用一串,声调先不接,设置表登记待实现
2026-10-21 16:04:34 +08:00
yenharvey 4a5d60952b build: 安装包与数据包不再带含章·知微
三个桌面平台都是有含章·通变就不加载知微,而通变一直随包,知微从来用不上,白占 53MB。
用户自己放进数据目录 models/hanzhang-zhiwei/ 的仍然认。data-fetch 兼容还带着知微的 data-v7。
2026-10-21 15:06:25 +08:00
jubeater 3b5828462e feat(linux): 中英切换键与默认英文模式可配置 (#730)
Linux Server 读 [shortcut] switch_mode、[general] default_english 与 english_mode,设置程序在 Linux 上显示切换键与默认英文模式;Fcitx5 / Fcitx4 把 Ctrl 报成 VK 0x11 以认单击 Ctrl。

Closes #703
2026-10-21 11:23:47 +08:00
yenharvey b2f0052a4c fix(windows): 切到英语键盘布局时收起悬浮状态条
原来监听的 ITfActiveLanguageProfileNotifySink 只报文字服务,跨语言切到纯键盘布局(ENG)时不来,状态条一直留着。
改用 ITfInputProcessorProfileActivationSink,别的输入法或键盘布局被激活都发 ImeSwitched。

Closes #722
2026-10-21 10:05:10 +08:00
yenharvey cb2110ba59 docs(windows): 搜索框候选窗在上方只写 Windows 10 2026-10-21 09:43:06 +08:00
wustghj 65311578eb fix(windows): 修复搜索栏候选窗被遮挡 (#735)
搜索页在候选窗创建后弹出会排到它前面;每次显示候选都用 SetWindowPos(HWND_TOPMOST) 重新升到置顶序列首位,不抢焦点。
2026-10-21 09:42:15 +08:00
Haoyu Xi 3f769c6a82 feat(core): v 模式支持输入日期(v1998-3-8 → 一九九八年三月八日) (#720)
表达式模式里四位年份加月日先认成日期,年份不是四位或月日不合法仍按算式算。

Closes #692
2026-10-21 09:26:09 +08:00
yenharvey 03c4074f59 docs: Android 用户文档、实现要点与移动端统一到 Rust 的计划
- 用户文档:Android 入门页,按键、快捷输入、统计与译词页补手机上的差异
- 设计与笔记:九宫格、语音与滑行、渲染与主题的手机部分,Android 实现要点与 crate 笔记
- 路线图与 contributing:记下 Android 进度,移动端键盘与面板将来统一到 Rust,共享规则不在壳里另写
2026-10-20 20:35:18 +08:00
yenharvey 05012b8b04 feat(core): 分次选词先留在组句里,退格撤回上一次选择
用户群反馈:长词组前面选错了退不回去,退格只会从最后一个拼音往前删。
一段拼音分几次选时,选的词先不交给应用,显示在剩下的拼音前面,整段选完才一起上屏;
退格先撤回最后一次选择、那段接回拼音重选,那次记的学习按整个删掉处理,改选别的词时退回。
回车 / 失焦连同剩下的拼音原样上屏,Esc 全部取消;组句中敲标点时壳先取走留着的词,标点接在后面。
[general] hold_selections 缺省开,关掉是选了就上屏;命令行回放按日志逐键重喂,固定关。
2026-10-20 17:34:30 +08:00
yenharvey bb697083b8 feat(macos): 合并额外翻页键、标点切换与按需云联想
# Conflicts:
#	apps/macos/src/host/mod.rs
#	apps/macos/src/imk/controller/text.rs
2026-10-20 16:04:12 +08:00
yenharvey f6d3c2a38a feat(macos): 额外翻页键、Ctrl + . 切换标点与按需云联想
补上 Windows 已有、mac 缺的三项设置,行为照 Windows:
- 额外翻页键与主翻页键一起认,组句中优先翻页
- 标点切换键只切中文模式的全半角:mac 英文模式一律半角,这时键交给应用
- 按需联想 ⌃⌥J 不等停键、自动联想关着也发,结果排在第一页最前面;停键等待与最短间隔本就在共用的联想模块里生效
2026-10-20 15:12:02 +08:00
yenharvey 84196a8e49 feat: 自定义形码方案,单用形码时顶字、满码唯一自动上屏、标点上屏与空码清除
形码侧从只有 86 五笔扩成方案:Core 的 CodeScheme 是码表加按键规则,平台层 code_schemes 负责找方案。
随包五笔挪成 assets/schemes/wubi86/(scheme.toml + table.tsv),与用户数据目录 schemes/<id>/ 下的方案同一种格式、同一套找法,代码里不再有内置特例。
配置收成 [general] code = "<id>"(off 为关),旧的 wubi = "wubi86" 读取时仍认。
按键规则只在单用形码时生效,混输下满码之后的字母可能是在接着打拼音。
满码长度取码表里最常见的编码长度:极点码表里有条写错的 5 码(TF卡 ttfhh),取最长会让顶字与满码上屏全部失效。
CodeSchemeSlot 在方案与码表文件都没变时不重读码表,配置热加载多半改的是别的设置。
CLI 的 --wubi 换成 --code(旧写法仍可用),收码表或方案目录,回放认任意形码方案键。
设置程序的「五笔」开关换成「形码」下拉;切回窗口与进「输入」页时重扫 schemes/。
bamboo-slip 的下拉框宽度改为最小宽度并可设最大宽度,值过长时截短补「…」,不再把箭头挤出框外。
2026-10-20 10:22:58 +08:00
jacklaoz 916bd29e15 feat(linux): 能在 FreeBSD 上源码安装 (#681)
Server、Fcitx5 插件与设置程序与 Linux 共用,差异按 target_os 分开:对端身份用 getpeereid、快捷键缺省走 Linux 那套、字体补 /usr/local 路径、安装脚本不用 GNU 独有的 realpath -m;mio 升到 1.2.4。
2026-10-19 16:08:00 +08:00
jubeater aa88240e4b fix(linux): Fcitx5 译词显示词性与日语假名 (#696)
Fcitx5 面板原来只显示原始译文;Server 在回包里补可选的 annotation 字段,原始译文与译词快捷键不变。

Closes #232
2026-10-19 15:48:30 +08:00
bfxh 5aaf2300c0 fix(linux): install.sh 检查字体依赖 (#694)
缺系统 UI 字体时设置程序起不来,安装脚本原来不查。
2026-10-19 15:43:20 +08:00
Wenjie Zou ebc476a820 feat(linux): 完善云联想与选区翻译,适配 Ubuntu 22.04 的 Fcitx4 (#351) 2026-10-16 12:41:13 +08:00
yenharvey e4975c1b6b feat(macos): 高亮移动键可选 ← / →
与 Windows 同一套规则:选 ← / → 时左右键把「拼音行 + 候选栏」当一条序列走,上下键组句中不动(吃掉,不漏给应用);
设置程序的支持表 macOS 改为支持,文档去掉「Windows」限定。
2026-10-16 10:43:57 +08:00
GH a00034f8f9 feat(windows): Windows 平台支持横排候选展开成多行矩阵 (#403) 2026-10-16 10:21:26 +08:00