| 分享时间 | 2026-07-31 15:59 |
| 最后更新 | 2026-08-03 11:40 |
| 修订版本 | 3 |
| 用户许可 | 只读,不可再分享 |
| Quicker版本 | 1.45.5 |
| 动作大小 | 75.2 KB |
| 最低Quicker版本 | 1.38.15 |
作为联想拯救者系列的老粉,故制作鼠标虚拟键盘。最终解释权归作者所有。
—————————————————————————————————————————————
V4.0.0


| 修订版本 | 更新时间 | 制品 | 审核状态 | 更新说明 |
|---|---|---|---|---|
| 3 | 2026-08-03 11:40 | V1 | 当前 V1 版本 |
Legion R7000 鼠标虚拟键盘 v4.3.0
## 本版修复重点 1. 修复 v4.2.0 的 C# 编译错误:`MainForm` 不再从密封的 `NoActivateForm` 派生。新版将 `NoActivateForm` 定义为可继承类,并在静态检查中禁止再次声明为 `sealed`。 2. 重写输入注入结构:按 Win32 的 `INPUT / INPUTUNION / KEYBDINPUT / MOUSEINPUT` 内存布局声明,运行时记录 `INPUT size`、指针位数、发送数量和 Win32 错误码。 3. 按键由单个无焦点自绘控件处理,避免大量 WinForms Button 抢焦点、闭包错绑和视觉不一致。 4. 点击按键时即时捕获前台目标窗口;悬浮键盘使用 `WS_EX_NOACTIVATE + MA_NOACTIVATE`,不会把输入焦点切换到自身。 5. `SendInput` 不完整时自动使用 `keybd_event` 兼容回退,并在状态栏和日志中提示权限问题。 |
| 2 | 2026-08-03 11:13 | V1 |
Legion R7000 鼠标虚拟键盘 v4.2.0
## 新增的输入可靠性机制 - 完整定义 `MOUSEINPUT`、`KEYBDINPUT`、`HARDWAREINPUT` 和 `INPUTUNION`,保证 x86/x64 的 `cbSize` 正确。 - 每次发送都检查 `SendInput` 返回的事件数量。 - 失败时写入 Win32 错误码,并自动尝试 `keybd_event` 兼容模式。 - 每 160 毫秒跟踪最后一个有效前台窗口。 - 悬浮窗使用 `WS_EX_NOACTIVATE`,并处理 `WM_MOUSEACTIVATE = MA_NOACTIVATE`。 - 发送前再次恢复记录的目标窗口。 - 检测目标程序和当前进程的管理员权限差异。 - 日志记录目标窗口标题、发送方法、请求/成功事件数和结构体大小。 ## 视觉和布局升级 - 更接近 Legion R7000 的紧凑全尺寸布局。 - 独立下沉式方向键。 - 完整四列数字键盘。 - 数字键盘 `+`、`Enter` 为纵向双倍高度,`0` 为双倍宽度。 - WASD 使用蓝色电竞强调色。 - 按键使用圆角、渐变、底部阴影和细边框。 - 普通按键发送成功显示绿色,失败显示红色。 - Ctrl、Shift、Alt、Win、Fn 临时状态为蓝色,锁定状态为橙色。 - 标题栏显示置顶和边缘自动折叠状态。 - 底部持续显示目标窗口、修饰键和透明度。 ## 悬浮功能 - 标题栏拖动。 - 置顶开关。 - 最小化到托盘,双击托盘图标恢复。 - 四边吸附。 - 停靠后鼠标移出自动折叠,移入自动展开。 - 鼠标位于键盘上方时滚轮调节透明度,范围 35%–100%。 - 保存位置、透明度、置顶、停靠和自动折叠设置。 |
|
| 1 | 2026-08-02 13:46 | V1 |
# 界面与交互
- 键区按 R7000 2020 紧凑全尺寸布局重排:主键区、独立下沉方向键、完整数字键盘。 - WASD 使用轻微蓝色边框作为游戏区域提示。 - 普通按键点击后短暂绿色反馈。 - Ctrl / Shift / Alt / Win / Fn:左键临时选择(蓝色圆点),右键锁定(橙色菱形)。 - 组合键发送完成后,修饰键仍保留约 330 ms 高亮,便于确认 Ctrl+A、Ctrl+Shift+A 等操作。 - 标题栏拖动;靠近四周自动吸附。 - 吸附后鼠标移出约 850 ms 自动折叠;移入边缘标签自动展开。 - 标题栏“托盘”按钮最小化到系统托盘;双击托盘图标恢复。 - 鼠标位于键盘窗口上方时,滚轮每格调整 5% 透明度,范围 35%–100%。 - 再次运行同一 Quicker 动作时,会尝试显示已存在的窗口,不重复启动实例。 ## 配置迁移 脚本自动读取并迁移: `%LOCALAPPDATA%\Quicker\LegionR7000Keyboard\settings.json` 现有 v2.3.0 配置中的位置、透明度、置顶和停靠状态会尽量保留;缺少的新字段会使用安全默认值。 ## 日志与诊断 日志: `%LOCALAPPDATA%\Quicker\LegionR7000Keyboard\error.log` 直接运行 `diagnostic-run.cmd` 可保留 PowerShell 窗口。若旧配置导致位置或停靠异常,运行 `reset-settings.cmd` 后重新启动。 ## 限制 - Fn+Q 性能模式、实体键盘背光等属于联想固件/驱动功能,普通 SendInput 无法可靠模拟。 - Ctrl+Alt+Del 属于 Windows 安全序列,普通程序不能注入。 - 向管理员权限程序发送按键时,Quicker 也需要管理员权限。 |