Skip to content

MouseMaster Configurator v2.1.0 + MouseMaster v89

Choose a tag to compare

@github-actions github-actions released this 26 Jul 22:44
· 134 commits to main since this release

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} +fCtrl+FF 各司其职。带修饰键的
    绑定本身已被 _{...} 严格语义保护(多按一个键即不匹配),不产生冗余排除。

同一缺陷连带修复的潜伏问题

  • 默认配置中 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 选择键上)与基于别名的移动组合仍可能
冲突;这类配置不在配置器生成的普通模式组合范围内,建议在后续版本的冲突检测中处理。

下载

至少下载:

  1. MouseMasterConfigurator.exe
  2. mousemaster.exe
  3. 一个 .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 + F UI Hint 场景的两条生成规则、专注模式兜底别名放过
    leftctrl 但照常吞 F、滚轮双向互斥、默认配置 Hint 入口排除透传修饰键。
  • 真实 mousemaster v89 加载新生成的验收配置成功(Loaded configuration file)。
  • 专注模式集成测试(注入真实按键、驱动真实 v89):六项 OK + PASS
  • CI(windows-latest)Release 构建与发布成功。
  • mousemaster.exe SHA-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+F and UI Hint on F, pressing Ctrl+F behaved like plain F. 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+F pass-through exit
    actually works now (plain F hints 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