Download Latest Version MouseMacros-1.2.3.jar (1.2 MB)
Email in envelope

Get an email when there's a new version of MouseMacros

Home
Name Modified Size InfoDownloads / Week
1.2.3 2026-02-01
1.2.2 2026-01-05
1.2.1 2026-01-04
1.2.0 2026-01-02
1.2.0-26m01a 2026-01-01
1.1.0 2026-01-01
1.0.4 2025-12-31
1.0.3 2025-12-31
1.0.2 2025-12-28
1.0.1 2025-12-27
1.0.0 2025-07-09
0.1.0 2025-07-08
0.0.2 2025-07-07
0.0.1 2025-07-06
readme.md 2026-01-30 15.6 kB
Totals: 15 Items   15.6 kB 10

MouseMacros Readme

MouseMacros Logo

A lightweight, cross-platform Java tool for recording and replaying mouse and keyboard macros.

Features

  • Comprehensive Recording: Capture Mouse Left/Right/Middle clicks, Scroll Wheel movements, and Keyboard inputs seamlessly.
  • Global Hotkeys: Control the application even when it's minimized. Fully customizable keys for:
    • Start/Stop Recording
    • Play Macro
    • Abort Operation (Emergency stop for runaway macros)
  • Multi-Language Support: Built-in localization for English (US) and Simplified Chinese, other supported languages includes Japanese, Russian, Korean, Spanish and French.
  • Theme Engine: Supports Light and Dark modes, with an option to follow system settings automatically.
  • Persistence: Macros are saved as .mmc (CSV-formatted) files, allowing for easy sharing and manual editing.
  • Smart Memory: Remembers window sizes, last-used directories, and custom configurations across sessions.
  • Floating Tooltip: Shows helpful instructions and tips near the cursor for easier operation.

Getting Started

Quick Launch

I. Jar User

  1. Make sure that you have installed JRE 1.8 or above. If not, you can download HERE.

  2. Download the latest .jar file from the Releases page.

  3. Double-click the jar file OR use cmd to run the application: bash java -jar MouseMacros.jar

II. Exe User

  1. Download the latest .exe file from the Releases page.

  2. Click to start! All environments are integrated into one exe file!

Usage

  1. Adjust: The choose of language will determine the words in the frame, thus resulting in some buttons not being displayed in the frame. In this case, you will need to adjust the frame to the appropriate size.
  2. Configure: Open the Settings dialog and Macros Settings dialog to set your preferred hotkeys. For detailed configuration docs, please refer to Configuration.
  3. Record: Press your "Start Recording" hotkey or press this button in the frame and perform the actions.
  4. Save: Use "Save Macros" to export your recording to a .mmc file.
  5. Replay: Use "Load Macro" to load a .mmc file and press "Play Macro".

Configuration

The application stores settings in the user's AppData directory: %USERPROFILE%/AppData/MouseMacros/

File Description
config.cfg Stores UI language, theme mode, key mappings, and default storage path.
cache.json Stores recent file paths and window dimensions.

Settings Dialog Options

Name Key Description
Follow System Settings followSystemSettings(boolean) Controls whether to follow System default settings or not.
Switch Language lang(String) If followSystemSettings is false, you can use this combo box to choose another display language.
Enable Dark Mode enableDarkMode(boolean) If followSystemSettings is false, you can use this check box to choose whether to enable Dark Mode.
Enable Default Storage enableDefaultStorage(boolean) Controls whether to enable defaultMmcStoragePath. If it is true, the lastSaveDirectory and lastLoadDirectory in cache.json will be ignored. Every time you open the FileChooserDialog(in "Save Macro" and "Load Macro"), it will automatically open the folder with defaultMmcStoragePath. The same applies in reverse.
Default MouseMacros Storage Path defaultMmcStoragePath(String) If followSystemSettings is true, it will determine the default folder everytime you open the FileChooserDialog(in "Save Macro" and "Load Macro"). If the folder in this option doesn't exist, the app will first attempt to create this folder, otherwise it will automatically open the default folder(Your User Document Folder).
Enable Quick Mode enableQuickMode(boolean) Controls whether to enable no-delay mode. In this mode, MouseMacros will ignore the waiting time between each mouse/keyboard action. It is DANGEROUS, and it is STRONGLY ADVISED to set a proper Abort Operation Hotkey and the Repeat Delay in Macro Settings Dialog before you enable this mode.
Allow Long Tooltip allowLongStr(boolean) Controls whether to enable LongTooltip Display. If false, MouseMacros will display all tooltips in a given width, otherwise MouseMacros will attempt to display them in a long line unless exceeding the frame (if so, it will wrap lines and display it in two or more long lines).
Readjust Frame Mode readjustFrameMode(String) Controls the mode to display the window at a 3:2 ratio when there is no cache. If a cache exists, after changing the language, MouseMacros can choose among the three modes from the previous step when processing 'historical window size' and 'recommended window size'. You will get more detailed information in tooltip.

Macro Settings Dialog Options

Name Key Description
Enable Custom Macro Settings enableCustomMacroSettings(boolean) Controls whether to enable custom macro settings.
Execution Repeat Times repeatTime(int) If enableCustomMacroSettings is true, MouseMacros will automatically repeat your Macro at the given times.
Repeat Delay (s) repeatDelay(double) If enableCustomMacroSettings is true, MouseMacros will postpone given time before the next execution. Supports three decimal places(to millisecond) at most.

Development Document

Detailed docs generated by DeepWiki is presented HERE. Notably, it may be outdated, since it was manually compiled by the author from DeepWiki.

For more up-to-date documents, you can refer to Samera2022/MouseMacros | DeepWiki or just click the badge at the top of the article. The website weekly updates this project's docs and provides a "Refresh this wiki" with "Enter email to refresh" button to force update the docs if it hasn't indexed yet.

Others

Contributing

Contributions are welcome! If you find a bug or have a feature request, please open an issue.

Author

Developer: Samera2022 * GitHub: @Samera2022

License

This project is licensed under the GNU General Public License v3.0 License - see the LICENSE file for details.


ABOUT

你好,这里是Projects/MouseMacros。欢迎收听About MouseMacros,我是主持人Samera2022。今天我们就来聊一聊MouseMacros的一些简单介绍,以及我为什么要开发MouseMacros这个项目。

Why MouseMacros is a better choice?

如果你打开github搜索mouse-recorder,auto-clicker,mouse-macro等词条,或者打开google搜索Mouse Macros的话,你很可能会见到雪花般的鼠标宏项目。但是,让我们变得实际一点,这里面的很多项目其实并不适合用户使用。 :::note 首先我想向下文提到的开源作者们致敬,尽管他们的项目可能存在一些问题,但是他们践行了宝贵的开源精神!此外,需要注意的是,我对他们项目的看法也可能并不正确。如果您有别的见解,欢迎来联系我,我们可以进行更加深入的讨论。 ::: :::note 抱歉,我可能会引用别人的仓库。如果您是仓库的作者,并且不希望您的仓库出现在这里,请联系我,我会立刻撤下。 ::: 不妨让我们简单地举出一些例子:

↓该项目不具有Releases,其初衷并非服务用户,这只是自己的开发备份。 ::github{repo="jborza/mouse-macros"} ↓该项目具有Releases,但是相关功能和GUI均比较简陋。 ::github{repo="n43e120/MouseMacro"} ↓该项目具有Releases和较为美观的GUI,但是相关功能较少。 ::github{repo="guinhx/ActionRecorder"} ↓该项目具有Releases,美观的GUI与(和前者相比)比较多的功能,但是文件包过大。 ::github{repo="p6laris/SnapClicker"} :::note 就最后一个项目而言,它的总体功能数比MouseMacros要少很多,但是其文件包大小基本为MouseMacros的两倍。这是我评价其文件包过大的依据。 ::: 这些事情不止发生在这些项目,甚至可以说,你看到的很多项目(包括github以外的,有些甚至还有可能是付费的)很可能都有以上的弊端。而MouseMacros则在功能多-臃肿中取得了一个恰当的平衡。首先MouseMacros是免费的开源项目,其诞生的初衷就是为了服务用户,让用户以一种Straight-forward的方式快捷地享受鼠标宏所带来的便利。因此,常用的功能,我选择直接放在MainFrame中。对于需求简单的用户直接点击“开始”和“结束”就可以了。

而对于要求略高的用户,他们可以选择在SettingsDialogMacroSettingsDialog中进行更进一步的个性化设置,我也将一些比较常用的功能内置在了这两个设置窗体中。而对于一些“窗体大小”、“关闭方式”、“历史保存地址”等并不那么直接,但又切实显著地影响到使用体验的功能,我选择直接放在cache.json中,由程序自动配置,进而降低用户的信息熵与决策成本。

制作一个鼠标宏是快速的,但是制作一个好用的鼠标宏却并非轻松。制作一个用户友好的鼠标宏则需要更加多的时间投入和精力投入以进行打磨。

Why I chose to develop MouseMacros?

这在其他地方没有提到,但我是一个P社Paradox玩家。具体地说,我主要游玩群星Stellaris,并且偏向于其中的一个神奇的流派——智能机械格式塔扩张流派——或者更简单地说,塔械爆铺流。我在里面需要手动操作上百个球,这并非夸张。在我的一个千星存档中,我甚至需要直接操作230个殖民地!这听起来很吓人,实际上也确实是的。不过这么多殖民地也为我带来了巨大的资源收益。言归正传,我对于每种资源都有特定的产出专精模式。用另一种话说,这两百多个殖民地其实共用了相同的几个建筑的模板。而我想要建设这些殖民地,这意味着我需要整整操作230次。当我在漫长的游戏时间中真的完成了这一项工作,我觉得这是非常令人疲劳的。因此我寻找是否有这样一种方便轻松的方式,能够替代我执行相同的动作。

第一时间,我想到了宏鼠标。这是一种昂贵的鼠标,在生产时就预置了鼠标宏的功能。我不想额外花费金钱,因此我选择去互联网寻找功能相似的软件。不幸的是,我在简体中文互联网上寻找到的软件大多具有广告,或者需要付费(不是买断制,是定期订阅)。我又在除简体中文互联网以外的地方寻找,发现情况稍微好些,至少它们的GUI看起来更加现代化,但是仍然存在高昂买断价格的问题。而对于那些免费的软件,他们的功能过于简单,不足以满足我的需求。同时,他们简陋的发布网页和非常简陋GUI界面(注:现代化的GUI是针对昂贵的买断软件而言的),以及他们所在的不知名的小网站,使我害怕我的电脑感染恶意软件。

究其根本,最关键的问题在于免费的软件各个方面都过于简陋以至于我不敢贸然使用看起来不错的软件价格高昂。更进一步地,当时我在github上并没有发现很多功能相似的仓库,即便有,也几乎没有给出能直接使用的Releases。(后来被证实,这是因为那些仓库用了诸如auto-clicker等其他的标签和名字,以至于我完全没有检索到。)然而,我认为制作一个鼠标宏在技术上是比较清晰的。因此我对于这个现象感到困惑,所以决定尝试自己开发一款MouseMacros的软件,想看看这到底有多困难。事实证明,这相对地是比较轻松的一个工作。好吧,至少和我修改这个基于Astro的网页相比,这个还是较为轻松的。最开始我只是想着自己使用,也没有怎么考虑用户交互的事情。后来考虑到我也从开源社区中下载了很多软件,同时维护这个项目可以使我收获经验,所以我决定顺手将开发的成果贡献回开源社区。这也是我在推出1.0.0后仍然积极维护并推出了很多Releases的原因。

End

MouseMacros花费了我很多的心血,如果这确实帮到您的话,还请您不要吝啬手中的Star,为我点亮那颗星吧。

Source: readme.md, updated 2026-01-30