﻿键位助手 · 使用说明
========================================

【这是什么】
在 Word 写报告、Excel 核对数据、浏览网页查资料时，按住 Ctrl / Shift /
Alt / Win 中任意一个（或它们的组合），屏幕边缘会立刻浮现这一组键在
当前软件里能做什么；松开所有修饰键，提示立即消失。浮层不抢焦点、
鼠标可穿透、半透明，中间正文区完整留空不遮挡。

【启动】
双击桌面快捷方式「键位助手」，或双击本目录下的「启动键位助手.bat」。
启动后没有主窗口，只在系统托盘出现一个蓝色 K 图标。
不需要管理员权限、不联网、不弹 UAC、不安装任何模块或 PowerShell 模块。

【托盘右键菜单】
· 显示形态：
    - 左右分栏：屏幕左 / 右各一列，按主键在键盘上的左右分区摆放，
      中间正文区完整留空；
    - 底部单行提示条：屏幕底部一行铺开，按屏幕宽度自动决定显示条数
      （十几条到三十多条），窄屏少、宽屏多。
· 不透明度：60% / 75% / 90% / 100% 四档。
· 开机自启：写入当前用户 Run 项
  HKCU\Software\Microsoft\Windows\CurrentVersion\Run（无需管理员）。
· Fn 速查：打开一个窗口列出 15 条常见 Fn 组合。
· 当前识别到的软件：实时显示前台程序识别结果（灰显，仅查看）。
· 退出：按顺序保存设置 → 卸载钩子 → 释放并移除托盘图标 →
  关闭所有提示窗体 → 结束进程。

【关于 Fn】
Fn 由键盘硬件 / 驱动处理，Windows 系统层面收不到该按键信号，
因此本工具不尝试监听 Fn，只提供常驻速查表（托盘菜单 → Fn 速查）。
不同品牌机型的具体功能略有差异。

【退出 / 关闭】
双击桌面快捷方式「关闭键位助手.bat」，或点托盘菜单「退出」。
关闭 bat 会写退出标记，等待主程序保存设置、卸载钩子、清理托盘图标
后真正退出，再删除标记；不会强杀进程，绝不留僵尸托盘图标。

【设置与数据】
· 设置：%APPDATA%\KeyAssistant\settings.json
  保存「显示形态 / 不透明度 / 开机自启」，启动读取、退出保存，自动记忆。
· 快捷键数据：同目录 shortcuts.json，可自行增删。字段说明：
    m = 修饰键数组（ctrl / shift / alt / win）
    k = 主键（如 c、f1、left、+ 等）
    n = 名称     d = 说明
    c = 分类（通用 / Word / Excel / PowerPoint / 资源管理器 / 浏览器 / 微信）
  若文件不存在，程序自动使用内置的一小份兜底数据，保证能启动。
· 筛选规则：取「当前前台软件对应分类 + 通用」，且当前按下的修饰键
  集合与 m 完全一致时列出；同一组合键在专属分类优先，避免重复。
  同键不同义（例如 Ctrl+D）在 Word=字体、Excel=向下填充、浏览器=收藏，
  会随前台软件自动切换。
· 首次启动会在桌面创建「键位助手」「关闭键位助手」两个 .lnk 快捷方式，
  已存在则不重复创建。

【全屏自动隐藏】
前台窗口覆盖整块屏幕时（放映、游戏、全屏视频等）自动隐藏提示，
不干扰全屏内容；桌面 / 资源管理器 / 任务栏不触发此判断。

【文件清单】
KeyAssistant.ps1      主程序（单文件，PowerShell 5.1 + .NET Framework，需 -STA）
启动键位助手.bat       启动（隐藏窗口、STA、中文路径兼容）
关闭键位助手.bat       优雅退出（标记文件 + 等待进程清理）
shortcuts.json        快捷键数据（UTF-8 带 BOM）
README.txt            本说明

【已知限制】
· 依托主屏（PrimaryScreen）物理像素定位，多显示器 / 非常规 DPI 缩放下
  副屏支持有限；程序已声明 DPI 感知。
· 仅映射常见前台程序（Word / Excel / PowerPoint / 资源管理器 /
  Chrome / Edge / Firefox / 微信 等），其余归入「通用」。
· 修改 shortcuts.json 后需重启程序才会重新载入。
· 按住未收录的修饰键组合时，浮层会提示「该组合暂无收录」而不是空白。
· 部分旧版 cmd 对「UTF-8 带 BOM」的批处理首行可能回显一行乱码，
  属无害现象、不影响启动；如遇此情况可把两个 .bat 另存为 ANSI/GBK。
