Ultimate Shift Controller
用户说明书
Version 3.0.9

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 1. 软件类型与运行环境
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

本软件为免费软件，不收取使用费用。需要 64 位 Windows 10/11、.NET 8 Desktop Runtime (x64)、键盘和鼠标。实际行为可能因设备、应用或游戏而不同。虚拟控制器功能可能需要额外驱动和设置。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 2. 安装
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

本软件没有安装程序。请将 ZIP 解压到可写入的文件夹，运行 UltimateShiftController.exe，设置映射并点击[保存]。不要直接从 ZIP 内运行。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 3. 卸载
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

关闭开机启动，退出 USC（包括系统托盘），然后删除文件夹。若要删除设置和配置，请同时删除[Settings]。单独安装的虚拟控制器驱动需要另行卸载。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 4. 软件简介
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Ultimate Shift Controller 可组合键盘和鼠标输入，重新映射按键、从鼠标按钮执行快捷键，并在按住层触发键时切换到另一套映射。可用于游戏、写作、图像/视频编辑、直播、浏览器等。基本功能不需要虚拟控制器。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 5. 主要功能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

键盘/鼠标重映射、带修饰键的快捷键、单输入多输出、F1-F24、NORMAL/HYPER/ULTRA/ULTIMATE、连发、标签页、配置文件、导入/导出、HUD、系统托盘、上层中的左/右键输入，以及基于 Chrome 的本地翻译。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 6. 基本设置
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

运行程序，选择要编辑的层，在一行上方登记输入、下方登记输出，点击[保存]并测试。例如：Q -> CTRL+1。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 7. 四个输入层
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

NORMAL 为默认层。按住 HYPER 或 ULTRA 触发键时使用对应层，同时按住两者时使用 ULTIMATE。顶部按钮选择编辑层，触发键决定实际活动层。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 8. HYPER / ULTRA / ULTIMATE 与外部鼠标
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

HYPER 与 ULTRA 的逻辑触发键仅限 F13-F24，且两者不能相同。

示例：HYPER=F13，ULTRA=F14。物理按钮必须发送与 USC 中相同的 F 键。

未启用连发的 USC F13-F24 映射输出也可在内部作为触发输入。HYPER/ULTRA/ULTIMATE 的输入侧可登记左键和右键；NORMAL 输入侧以及所有输出侧仍会阻止登记，以保护普通点击。非连发输出会保持按下，直到松开原输入。

[Razer Synapse 2]
Synapse 2 能保存 F13-F24，但不会显示按键名称。以 F13 为例：在 USC 的 NORMAL 层暂时把物理 F1 输出改为 F13；打开 Synapse 2 的按钮按键登记；按物理 F1；名称不显示也直接保存；保存后把 USC 的 F1 恢复为普通 F1，并将 HYPER 触发键设为 F13。

[Razer Synapse 3]
如果可直接选择 F13-F24，请给按钮设置 F13/F14，并在 USC 中使用相同按键。

[Logicool/Logitech G-Shift 与 G HUB]
G HUB 可选择 F1-F24。给普通按钮或 G-Shift 按钮设置 F13/F14，并在 USC 中使用相同按键。

[其他设备]
只要设备设置软件能登记 F13-F24，就可采用同样方法。即使名称不显示，只要能保存并实际输出按键就能使用。尽量使用 F13-F24。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 9. 标签页、配置文件与保存
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

标签页用于整理映射，配置文件保存全部设置。修改后务必点击[保存]。数据保存在[Settings]文件夹中。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 10. 连发、HUD 与状态
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

连发会重复输出。US HUD 显示当前层。CLEAN 尝试清除残留按下状态。Keyboard Lock 临时锁定键盘，可用鼠标解除。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 11. 重要设置
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Kill 已映射输入]可防止原输入与映射输出同时生效。层中禁用未映射输入会阻止未分配输入在 HYPER/ULTRA/ULTIMATE 中直接通过。另有托盘和 Windows 启动选项。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 12. 虚拟控制器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

这是高级功能，可能需要驱动、物理/虚拟控制器分离以及游戏输入设置。设置错误可能导致双重输入。图文说明：
https://github.com/Lu-ci-el/UltimateShiftController/blob/main/Instructions_en.md

仅使用键盘、鼠标、层和快捷键时不需要此功能。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 13. 故障排查
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

确认已保存、触发键一致；双重输入时检查 Kill；用鼠标解除 Keyboard Lock；残留状态时使用 CLEAN；无法保存时请避免使用 Program Files 等不可写位置。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 14. 联系方式与错误报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

https://github.com/Lu-ci-el/UltimateShiftController/issues

请写明问题、步骤、发生频率、环境和日志。不保证逐一回复、立即修复或支持所有环境。不接受恶意使用或定制开发请求。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 15. 注意事项
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

定期备份[Settings]，更新前退出 USC，检查快捷键冲突及游戏/服务规则。请勿用于作弊、骚扰或干扰他人。作者不对使用本软件造成的损失负责。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ USC_TRANSLATION_3_0_4 / 翻译功能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

- 翻译功能需要 64 位 Google Chrome 以及 Chrome 支持的本地模型；不会回退到 Microsoft Edge。
- 在设置中启用翻译并打开翻译设置。[翻译键]只能选择 F13-F24 逻辑键，不能与 HYPER 或 ULTRA 的逻辑触发键相同。
- 左键单击[触发键]输入框可开始录入，右键单击可清除。可登记实体键盘/鼠标/控制器组合，或当前层中未启用连发的 USC 映射输出。不会把实体输入和内部输出各取一部分混合判定。
- 选中的外语文字会翻译为 USC 当前选择的自己语言；自己语言的文字会翻译为最近一次成功使用的会话语言，尚无记录时使用默认目标语言。
- 结果显示在简洁窗口中。获取所选文字时，USC 只向前台应用发送一次 Ctrl+C，并以独立扫描码事件按 Left Ctrl DOWN → C DOWN → C UP → Left Ctrl UP 的顺序发送，在按 C 前短暂保持 Ctrl。绝不会先发送 C，也不会在复制失败后再次发送 C。只有确认剪贴板已更新的文字才会翻译；获取失败时不翻译，并在简洁窗口中提示。不会使用屏幕捕获或 OCR。
- USC 内置 14 种语言可批量准备。其他语言可在 Chrome 支持时使用 BCP-47 标签单独准备。
- 打开设置、点击更新或选择 Pack 行不会开始下载。只有明确点击 DL 或标准语言批量 DL 才拥有下载权限。
- 明确 DL 会在普通 Chrome 中打开一个短时、受 token 保护的本地页面。Chrome 已经运行时也可使用，并且必须在 Chrome 页面中点击后才开始。不会打开外部网站，模型始终由 Chrome 管理。
- 普通翻译通过标准输入/输出使用隐藏的一次性 Helper，不会打开 Chrome 页面、标签页、窗口或 localhost listener，也不会自动下载缺失模型。
- USC 只在 [Settings\Translation] 中保存设置和轻量证据。Chrome 的配置文件、TranslateKit、语言 Pack、模型、组件、runtime 与缓存不会复制到 USC。
- Markdown、URL、代码、引号、段落和换行会在模型外保护，在有限长度内分段后重新组合。永久保存请使用 USC 主窗口中的[保存]。
