MouseMaster Configurator v2.1.0 + MouseMaster v89
MouseMaster Configurator v2.1.0 + MouseMaster v89
本版本修复配置器生成组合规则时的修饰键遮蔽缺陷:当两个绑定共用主键、且一个带修饰键
一个不带时(例如屏幕 Hint 设为 Ctrl+F、UI Hint 设为 F),不带修饰键的组合在
按住修饰键时也会命中,导致 Ctrl+F 表现成单按 F。MouseMaster 本体仍为上游 v89,
未做任何修改。
版本
- MouseMaster Configurator v2.1.0
- 文件版本与程序集版本:
2.1.0.0 - 构建自本标签源码:
d8df952 - 简体中文 / English 双语 WinForms GUI,用于编辑 MouseMaster v89 properties 配置
- 文件版本与程序集版本:
- MouseMaster v89
- 上游版本:
89 - 上游提交:
e88f635 mousemaster.exe与上游 v89 Release 二进制完全一致
- 上游版本:
更新亮点
修复:Ctrl+F 被裸 F 绑定遮蔽
- 现象:专注模式(非专注模式同样复现)下,把屏幕 Hint 设为
Ctrl+F、UI Hint
设为F后,按Ctrl+F无效,表现与单按F完全相同(进入 UI Hint 模式)。 - 根因:配置器只在单方向生成修饰键排除(hint1 排除 uihint 的修饰键、grid 排除
window 的),而normal-mode.to.ui-hint-mode等入口组合以裸+f生成。MouseMaster
引擎对没有_{...}前置条件的组合跳过按键状态检查,因此+f在按住 Ctrl 时照样
命中;两个组合同时触发模式切换,文件中靠后的to.ui-hint-mode最终生效。 - 修复:普通模式的全部入口组合(模式切换、退出 / 透传、导航宏、滚轮启动)改为
按"同主键互斥"生成——无修饰键的绑定自动排除同主键绑定上的修饰键。上述场景现在
生成_{leftctrl} +f与^{leftctrl} +f,Ctrl+F与F各司其职。带修饰键的
绑定本身已被_{...}严格语义保护(多按一个键即不匹配),不产生冗余排除。
同一缺陷连带修复的潜伏问题
- 默认配置中
Ctrl+F透传退出此前是失效的:默认屏幕 Hint 为F,裸+f抢在
_{leftctrl} #f之前命中,按Ctrl+F会进 Hint 模式而不是退回空闲模式并把
Ctrl+F透传给应用(如打开"查找")。现在正常透传。 - 滚轮斜向误触发:纵向滚轮设为
U/O、横向设为Shift+U/Shift+O时,
按Shift+U会同时启动纵向和横向滚轮;现在只启动横向。 - 退出与透传同键:退出设为
Q、透传退出设为Ctrl+Q时,Ctrl+Q会被退出的
吞键组合吃掉,透传失效;现在透传正常。 - 屏幕选择、Alt-Tab、前进 / 后退导航宏等入口组合同样纳入互斥生成。
未纳入本次修复的已知边界
Hint 模式内部的别名组合(如把取消键绑到 Hint 选择键上)与基于别名的移动组合仍可能
冲突;这类配置不在配置器生成的普通模式组合范围内,建议在后续版本的冲突检测中处理。
下载
至少下载:
MouseMasterConfigurator.exemousemaster.exe- 一个
.properties示例配置,推荐neo-mousekeys-ijkl.properties
将两个 EXE 与配置文件放在同一目录,并把选中的示例配置重命名为
mousemaster.properties。先运行 MouseMasterConfigurator.exe 完成个性化设置并保存,
再运行 mousemaster.exe。如果需要让 MouseMaster 覆盖层显示在所有窗口上方,请以
管理员身份运行 mousemaster.exe。
配置器也可通过以下命令打开其他位置的现有配置:
.\MouseMasterConfigurator.exe --config "D:\path\to\mousemaster.properties"从 v2.0.0 升级
直接用新版替换 MouseMasterConfigurator.exe 即可。配置文件格式与 mmcfg 元数据完全
兼容,已有设置(快捷键、速度、专注模式、Alt-Tab、语言偏好)原样保留。
注意:下次用新版配置器保存时,组合规则会按互斥逻辑重新生成,如果你之前的配置
存在"同主键、一个带修饰键一个不带"的绑定,行为会修正为修饰键版本优先。最常见的
变化:默认配置下 Ctrl+F 在键盘鼠标模式中现在是"退回空闲模式并透传给应用",
而不再是进入 Hint 模式(这才是 v2.0.0 及之前版本试图表达的行为)。
验证
- 内置回归测试:
PASS: 305 assertions(v2.0.0 为 299),新增覆盖:
Ctrl+F屏幕 Hint +FUI Hint 场景的两条生成规则、专注模式兜底别名放过
leftctrl但照常吞F、滚轮双向互斥、默认配置 Hint 入口排除透传修饰键。 - 真实 mousemaster v89 加载新生成的验收配置成功(
Loaded configuration file)。 - 专注模式集成测试(注入真实按键、驱动真实 v89):六项
OK+PASS。 - CI(
windows-latest)Release 构建与发布成功。 mousemaster.exeSHA-256 已与上游 v89 Release 公布值核对。- 完整文件哈希见
SHA256SUMS.txt。
系统与安全说明
- 支持 Windows 10/11。
- 配置器需要 .NET Framework 4.x,在 .NET Framework 4.8 上完成构建验证。
- 两个 EXE 均未进行 Authenticode 代码签名,Windows 可能显示 SmartScreen 提示。
- GUI 是此 fork 维护的社区组件,不属于上游 MouseMaster 官方发行内容。
configurator/源码采用 MIT License,见configurator-LICENSE.txt。
What's New (English)
- Fixed modifier shadowing in generated combos. A modifier-free binding (plain
+key) used to match even while modifiers were held, so with Screen Hint on
Ctrl+Fand UI Hint onF, pressingCtrl+Fbehaved like plainF. All
normal-mode entry combos (mode switches, exit / pass-through, navigation macros,
wheel start) are now generated with mutual^{...}exclusion: a modifier-free
chord yields to any same-key chord whose modifiers are held. - Latent issues fixed by the same change. The default
Ctrl+Fpass-through exit
actually works now (plainFhints no longer steal it);Shift+U/Shift+O
no longer start the vertical and horizontal wheels simultaneously; exit and
pass-through bindings on the same key no longer swallow each other. - MouseMaster itself remains upstream v89, unchanged. To upgrade, simply replace
MouseMasterConfigurator.exe; your configuration is re-generated with the
mutual-exclusion logic on the next save.
Full Changelog: configurator-v2.0.0...configurator-v2.1.0