Files
qingjian/apps/windows/server
yenharvey c398f17c91 feat: 横排且高亮移动键选 ← / → 时,↑ / ↓ 在拼音行与候选之间切换
原来 ← / → 把拼音行和候选连成一条,要改拼音得先把高亮退到第一个候选,打句子时没法在中间改拼音。
这种组合下改成两区:↑ 进拼音行(候选不画高亮,空格照样上屏原来那个)、← / → 只移拼音光标,↓ 回候选,开了横排展开时再 ↓ 展开;矩阵第一行 ↑ 回拼音行、不收起;拼音行里再 ↑ 才开符号面板。
规则放在 Core 的 candidate::arrows::route,mac 与 Windows 两个壳只记焦点、执行动作;竖排、或横排用 ↑ / ↓ 移高亮时按键不变。
2026-10-22 11:39:09 +08:00
..

qingjian-windows-server

青简 Windows 输入法的 Server 进程(bin qingjian-server):持有唯一的输入内核 qingjian-core::Engine,跑在所有应用进程之外,通过命名管道给 TSF DLL(../tsf)提供候选。 Windows 端的整体结构、为什么内核要在进程外、构建与注册步骤,见 ../README.md。

模块

  • assembly:装配 Engine(词库 / 释义 / 学习)。
  • dispatch::Router:按 SessionId 分派多会话,处理按键、上屏、异步结果推送。
  • session:单个应用会话的组句状态。
  • ipc:长度前缀帧的收发循环;ipc::pipe(cfg(windows))在 \\.\pipe\qingjian 上起命名管道服务。

bin src/main.rs 只做配置读取、Engine 装配与启动;逻辑都在库部分,tests/ 里的集成测试直接用库。