
Jia Suiandfanlusky
456b23ed94
feat(engine,server): 五笔支持 T 模式与 V 模式 (#942)
* feat(engine,server): 五笔支持 T 模式与 V 模式
五笔方案此前被排除在 Shift+T 日期时间模式与 V 模式之外。根因是方案层就把
raw 归一成小写 a–y、丢弃数字与运算符,Server 的形状判定读不到大写 T/V 前缀。
- 引擎 WubiScheme 新增 raw_input_with_cases_:保留大小写与 T/V 模式的非字母键
(数字、运算符、: /),但按码字域丢掉越域字母(默认配置下 z)。查询码仍由
normalize_wubi_code 派生,普通码下两者长度相等——Server 用原样串长度数四码。
- Server:T 触发新增独立谓词 date_time_scheme(chinese_scheme || Wubi),不并入
chinese_scheme 本身;FormatVModeWorkerPayload 对五笔返回 UppercaseOnly。
- 自动上屏 / 顶字两个谓词新增 special_mode_active 前置:T 模式关键词归一后可能与
合法四码重合(Tdate → tdat),不挡会在第四个字母上结束模式。
- 引擎与 Server 测试、README 与两份配置模板文案同步。
* fix(engine,server,ui-html): 五笔 T/V 模式由宿主标注字面输入
原实现让五笔原样串不再裁到码长,普通码下原样串可以比码长(混输关、z 通配时 wqazb 对 wqaz),
Server 读回后光标、退格和上屏都会错位;守卫也只认 T 模式的全小写主体,TdatE 仍会顶出 tdat。
- 引擎:InputSession::set_wubi_literal_input 随 pending 序列一起下发,只作用于同一次设置。
普通码的原样串就是带大小写的码,与查询码逐位对应、一起截断;字面输入原样保留,
不查码表与拼音,也不算完整四码。退格从原样串重新派生码,字母键两份视图取同一个字母。
- Server:ApplyCompositionEditKey 按 IsWubiLiteralComposition(T 模式触发标记或 V 模式形状)
标注字面输入;两个五笔上屏策略恢复原签名,不再需要 special_mode_active。
- 设置页 T/V 模式说明补上五笔。
---------
Co-authored-by: fanlusky <1730976608@qq.com>
2026-10-15 02:08:36 +08:00
..
2026-10-08 22:10:13 +08:00
2026-09-12 03:40:48 +08:00
2026-09-28 17:55:36 +08:00
2026-09-17 22:49:19 +08:00
2026-09-12 03:40:48 +08:00
2026-10-15 02:08:36 +08:00
2026-10-15 02:08:36 +08:00
2026-10-12 20:41:23 +08:00
2026-10-15 02:08:36 +08:00
2026-10-05 04:19:23 +08:00
2026-09-29 14:31:51 +08:00
2026-10-15 01:37:58 +08:00
2026-10-15 02:08:36 +08:00
2026-10-04 19:32:10 +08:00
2026-09-12 03:40:48 +08:00
2026-09-12 03:40:48 +08:00
2026-09-12 03:40:48 +08:00
2026-10-02 02:20:37 +08:00
2026-10-02 02:20:37 +08:00
2026-09-13 02:22:53 +08:00
2026-09-12 03:40:48 +08:00
2026-09-12 03:40:48 +08:00
2026-10-05 20:43:02 +08:00
2026-09-12 03:40:48 +08:00
2026-09-12 03:40:48 +08:00
2026-09-12 03:40:48 +08:00
2026-10-12 13:12:21 +08:00
2026-09-28 18:28:42 +08:00
2026-10-02 02:20:37 +08:00
2026-10-02 20:15:39 +08:00