Skip to content

Releases: Rezetyan/mousemaster

MouseMaster Configurator v2.2.0

Choose a tag to compare

MouseMaster Configurator v2.2.0

Summary

This release updates the fork's Windows configurator for MouseMaster v91.
It keeps the existing binding and motion editors while adding a dedicated
advanced page for v91 configuration features. The configurator remains a
standalone .NET Framework WinForms application and is maintained by this fork;
it is not part of the upstream MouseMaster project.

The release is GUI-only. Install the MouseMaster v91 runtime separately when
using the generated configuration with MouseMaster.

Highlights

  • Synchronizes the fork with the exact upstream MouseMaster v91 tag and updates
    the configurator documentation and terminology from v89 to v91.
  • Adds the v91 Advanced settings page with a mode/property scope selector and
    localized Chinese/English controls.
  • Adds recursive Hint controls for area source and center, width and height
    percentages, fixed or fit cell sizing, row and column limits, label
    overrides, and vertical alignment.
  • Adds typed controls for decoration, subdecoration, and
    subsubdecoration, including grid dimensions, labels, box and border
    styling, closed edges, fonts, outlines, spacing, and shadows.
  • Adds UI Hint scan scope controls for active-window, active-screen, and
    all-screens behavior.
  • Adds selected-cell Zoom controls for area source, area dimensions, center,
    zoom percentage, animation enablement, duration, and easing.
  • Adds the Indicator-as-cursor setting and preserves the existing indicator
    controls.
  • Adds global initial variable declarations and virtual-key declarations.
  • Adds an advanced expression editor for complex v91 properties, including
    set-variable, unset-variable, reset-variables, and other expressions
    that cannot be represented as a simple key chord.
  • Preserves unknown v91 properties, ordinary comments, disabled properties,
    line continuations, and multiline expressions through load/save round trips.
  • Extends validation for v91 enum values, numeric ranges, variable and
    virtual-key names, key alias collisions, malformed variable commands, and
    incompatible UI Hint settings.
  • Updates release automation so configurator releases publish only the GUI,
    its license, and a SHA-256 checksum manifest.

Compatibility and Migration

  • The provided MouseMaster v89 mousemaster.properties was loaded directly by
    the real MouseMaster v91 executable (mousemaster v91 (dd4e689)) without a
    configuration parsing error.
  • Existing v89 configurations do not need to be replaced with a v91 template
    or re-personalized. Existing settings remain usable as-is.
  • v91-only settings are optional. If they are absent from an older file,
    MouseMaster uses its normal defaults; configure them in the Advanced page
    only when those features are wanted.
  • The configurator reads old mmcfg metadata, writes v91-compatible key
    names, and creates a .gui-backup before replacing a configuration file.
  • Unknown properties and ordinary comments remain outside the configurator's
    managed state and are preserved unless the user explicitly changes or
    removes them.

Verification

  • Configurator build: configurator/build.ps1 completed successfully.
  • Configurator self-test: PASS: 331 assertions.
  • Java unit tests: 210 tests, 0 failures, 0 errors.
  • Maven package: completed successfully for MouseMaster v91.
  • Runtime version probe: mousemaster v91 (4d48a56) from the synchronized
    source JAR.
  • Real runtime version probe: mousemaster v91 (dd4e689) from the configured
    test executable.
  • The original v89 properties file loaded successfully in the real v91
    runtime, and a configurator-generated v91 acceptance configuration also
    loaded successfully.
  • The real focus-mode integration test passed with the generated acceptance
    configuration, including pass-through, swallowed input, and restored input
    assertions.
  • git diff --check passed and upstream tag 91 is an ancestor of the
    published source.

Release Assets

  • MouseMasterConfigurator.exe: the Windows GUI configurator, version
    2.2.0.0.
  • configurator-LICENSE.txt: configurator license text.
  • SHA256SUMS.txt: SHA-256 checksums for the two release files.

This release intentionally does not include mousemaster.exe, built-in
MouseMaster configuration files, or a native MouseMaster runtime bundle.

Known Limitations

  • The configurator requires Windows and the .NET Framework 4.x compiler/runtime
    environment described in configurator/README.md.
  • The v91 native MouseMaster executable is not distributed by this release;
    obtain it separately from the corresponding MouseMaster v91 release.
  • Future MouseMaster properties not covered by typed controls are preserved in
    the advanced property surface, but may require raw editing until dedicated
    controls are added.

mousemaster nightly

mousemaster nightly Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Jul 04:34

Automated bleeding-edge build from the latest commit on main.

Warning

This is a nightly build, not a tagged release. It may include incomplete changes, regressions, or experimental behavior. For a stable build, use the latest release.

Build details

  • Version: mousemaster v91
  • Commit: 1351130

Installation

Download mousemaster.exe and one configuration file (e.g. neo-mousekeys-ijkl.properties), put them in the same folder, rename the config to mousemaster.properties, then run mousemaster.exe (as administrator so the overlay draws on top).

Feedback

Found a bug? Please include the commit above when filing an issue on GitHub or the Discord.

MouseMaster Configurator v2.1.0 + MouseMaster v89

Choose a tag to compare

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

MouseMaster Configurator v2.0.0 + MouseMaster v89

Choose a tag to compare

MouseMaster Configurator v2.0.0 + MouseMaster v89

本版本修复高 DPI 缩放下界面文字被遮挡 / 裁剪的问题,并新增中文 / English 界面切换。
MouseMaster 本体仍为上游 v89,未做任何修改。

版本

  • MouseMaster Configurator v2.0.0
    • 文件版本与程序集版本:2.0.0.0
    • 构建自本标签源码:9002517
    • 简体中文 / English 双语 WinForms GUI,用于编辑 MouseMaster v89 properties 配置
  • MouseMaster v89
    • 上游版本:89
    • 上游提交:e88f635
    • mousemaster.exe 与上游 v89 Release 二进制完全一致

更新亮点

修复:高 DPI 缩放下界面文字被遮挡

  • 根因:程序通过 manifest 声明 PerMonitorV2 DPI 感知(系统不做位图缩放),字体以磅
    为单位随 DPI 物理放大,但所有控件尺寸是固定像素且 AutoSize=false —— 在 125%、150%
    等缩放下文字变大、容器不变,文字因此被裁剪。而 AutoScaleMode.Dpi 因整个界面在当前
    DPI 下运行时构建,缩放因子恒为 1.0,实际不起作用。
  • 修复:全部界面像素尺寸按 96 DPI 设计值经 DpiHelper 换算到当前显示器 DPI;
    同时移除了与 manifest 声明重复的 SetProcessDPIAware() 调用。
  • 多显示器:窗口移到不同 DPI 的显示器时响应 WM_DPICHANGED,按新 DPI 重建界面。
  • 细节:底部按钮与快捷键对话框按钮按文字宽度自适应,长文案不再被省略号截断;
    专注模式说明区域加宽,长句也能完整显示。

新增:中文 / English 界面切换

  • 侧栏底部新增语言下拉框(简体中文 / English),切换即时全界面生效,无需重启。
  • 默认跟随 Windows 显示语言;手动选择保存到注册表
    HKCU\Software\MouseMasterConfigurator\Language,下次启动自动应用。
  • 覆盖全部界面文案:6 个分类、37 项操作、4 项数值设置的名称与说明,以及快捷键
    对话框、状态栏、冲突提示、确认弹窗和错误消息。

下载

至少下载:

  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"

从 v1.0.0 升级

直接用新版替换 MouseMasterConfigurator.exe 即可。配置文件格式与 mmcfg 元数据完全
兼容,已有设置(快捷键、速度、专注模式、Alt-Tab 开关)原样保留。语言偏好只写入
注册表,不修改任何配置文件。

验证

  • CI(windows-latest,英文系统、96 DPI)Release 构建成功。
  • 内置回归测试:PASS: 299 assertions(v1.0.0 为 107)。
  • 新增双语布局自检:中英文界面分别验证标题间距、导航文案与焦点区域布局,并对所有
    固定尺寸标签执行文字适配断言(测量文字尺寸与容器边界),防止裁剪问题回归。
  • 本地 125% DPI 实机验证:中文、英文界面文字均完整无遮挡。
  • 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 UI text clipping at 125% / 150% DPI scaling. All layout metrics now scale
    from 96-DPI design values, and the window rebuilds its layout when moved between
    monitors with different DPIs (PerMonitorV2).
  • Added an English UI. Switch between 简体中文 and English from the sidebar
    drop-down; the choice is remembered in the registry and defaults to the Windows
    display language.
  • MouseMaster itself remains upstream v89, unchanged. To upgrade, simply replace
    MouseMasterConfigurator.exe.

Full Changelog: configurator-v1.0.0...configurator-v2.0.0

MouseMaster Configurator v1.0.0 + MouseMaster v89

Choose a tag to compare

@Rezetyan Rezetyan released this 25 Jul 04:24
d91f1fd

MouseMaster Configurator v1.0.0 + MouseMaster v89

这是 Rezetyan/mousemaster fork 的首个 GUI 配置器版本。

版本

  • MouseMaster Configurator v1.0.0
    • 文件版本与程序集版本:1.0.0.0
    • 构建自本标签源码:d91f1fd
    • 简体中文 WinForms GUI,用于编辑 MouseMaster v89 properties 配置
  • MouseMaster v89
    • 上游版本:89
    • 上游提交:e88f635
    • mousemaster.exe 与上游 v89 Release 二进制完全一致

下载

至少下载:

  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"

主要功能

  • 编辑六个分类中的 37 项键盘与鼠标操作。
  • 配置鼠标和滚轮的最高速度、加速度。
  • 支持组合键、备用键、冲突处理、专注模式和 Alt-Tab 自动居中。
  • 保存时保留 GUI 未管理的属性与普通注释。
  • 写入前创建滚动备份 mousemaster.properties.gui-backup

验证

  • GUI Release 构建成功。
  • 内置回归测试:PASS: 107 assertions
  • MouseMaster v89 真实输入集成测试:6/6 通过。
  • 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