How the MouseKey recorder works
The MouseKey recorder captures keystrokes as you perform them. You press Record in the MouseKey interface, type the sequence you want to automate, then press Stop. MouseKey saves it as a macro you can assign to any mouse button or click cadence. The next time you click that button, the macro plays back exactly as you recorded it.
You have two playback modes when using the MouseKey recorder:
- Non-timed playback fires every keystroke in the recorded sequence as fast as possible, with no delays between keys. This is ideal for text insertion, command strings, and shortcuts where timing doesn't matter.
- Timed playback preserves the exact delays between keypresses from when you recorded. This matters when you need to wait for menus to open, pages to load, or animations to complete before the next keystroke fires.
Both modes use the same recording. You choose which playback style fits your use case when you assign the macro. This is what makes the MouseKey recorder flexible enough to replace multiple single-purpose macro tools.
Best uses for non-timed macros
Non-timed macros are for anything where you just want text or commands to appear instantly. These are the highest-value use cases for the MouseKey recorder since they save time on every use.
Developer commands
Record common terminal commands like npm run dev, git status, git add . && git commit -m "", or python manage.py runserver. A single click on your side button fires the whole command. The MouseKey recorder captures Enter at the end if you want the command to execute immediately, or stops before Enter so you can type arguments first.
Developers often bind 5 or 6 different command macros to a single button using cadences: single click for npm run dev, double click for git status, triple click for git pull, and so on.
Code boilerplate
Record snippets you use repeatedly: console.log(), import statements, function skeletons, JSX components. The MouseKey recorder works in any editor including VS Code, Cursor, JetBrains IDEs, Sublime Text, and Notepad++ since it's sending raw keystrokes at the OS level.
This effectively replaces code snippet extensions for your most-used patterns, with the advantage that it works across every editor you use without having to configure each one separately.
Excel formulas and functions
Record complex Excel formulas you use regularly. A macro for =VLOOKUP(,,,FALSE) with the cursor positioned at the first argument saves typing the structure every time. Same for =SUMIFS(), =INDEX(MATCH()), and pivot table shortcuts.
The MouseKey recorder can also replay menu navigation sequences like Alt+H+O+I for autofit column width or Alt+D+F+F to toggle filters. These are buried in Excel's ribbon but become one-click operations through the macro recorder.
Email templates
Record signature blocks, common replies, or meeting templates. "Thanks for reaching out, I'll get back to you by end of day" becomes a single click. The same macro works in Outlook, Gmail, Slack, and any text field since the MouseKey recorder is app-agnostic.
Login credentials (for non-sensitive accounts)
Record username + Tab + common test password for development environments, internal tools, or shared test accounts. This should never be used for accounts containing sensitive data since the text is stored in your macro configuration, but for developer test accounts and local dev environments, it's a real time saver.
Customer support responses
Record your most common support replies as macros. "Thanks for your message, we've received your ticket and will respond within 24 hours" becomes one click. Teams doing customer support often record a dozen different response macros and map them across their mouse buttons with cadences.
Best uses for timed macros
Timed macros preserve the delays between keystrokes. This matters for anything where the app you're controlling needs time to respond between steps. The MouseKey recorder's timed playback handles these cases by replaying the exact pacing of your original recording.
Multi-step app navigation
If you need to open a menu, wait for it to appear, click an option, wait for a dialog, then confirm, timing matters. Recording a fast sequence with the MouseKey recorder and replaying it non-timed would fire clicks before the menus open. Timed playback reproduces your original pacing so each step has room to execute.
Form filling with validation
Web forms often have field validation that fires on blur or input. If you fire keystrokes too fast, some forms reject them or skip fields. Timed macros give the form time to process each field before moving to the next.
Game macros
Game combos require specific timing between inputs. A fighting game combo, an MMO rotation, or a crafting sequence all depend on precise delays between keystrokes. Record the combo once at the right speed and the MouseKey recorder plays it back identically on command.
Always check your specific game's terms of service before using automation features, especially in competitive multiplayer games.
Software installation and setup
Setting up a new machine or provisioning a dev environment often involves clicking through installers that need time between steps. A timed macro can walk through an installation's keyboard navigation with the right pauses, so you just click once and walk away while it completes.
Data entry with system delays
Internal business apps and legacy systems often have slow response times between screens. Timed macros let you record a full data entry sequence that includes the waiting time the system actually needs, so your macro works reliably even on a slow remote desktop connection.
Combining macros with click cadences
The real productivity boost from the MouseKey recorder happens when you combine macros with click cadences. Each mouse button gets 6 actions (1x click through 5x click plus a 2-second hold), and each action can be a different macro. A single side button can hold 6 different recorded sequences.
A developer might configure a side button like this: single click fires npm run dev, double click fires git status, triple click fires a longer deployment macro with timing, 4x click fires their test command, 5x click fires git pull --rebase, and hold opens the terminal. Six commands, one button, all recorded once in the MouseKey recorder.
Why use the MouseKey recorder instead of a dedicated macro tool
Standalone macro recorders exist, but they usually hook to keyboard triggers or scheduled runs rather than mouse clicks. If you want a macro on your mouse, you end up stringing together multiple tools. The MouseKey recorder combines the macro recording and the mouse binding in a single app, so the whole flow from recording to playback lives in one place.
The MouseKey recorder also integrates with MouseKey's auto profile switching, which means your macros can be tied to specific apps. One set of macros for VS Code, another for Excel, a third for your browser, all on the same mouse buttons, switching automatically when you click between apps.
Not a developer? The MouseKey recorder works just as well for non-coding use cases. See our guides on productivity shortcuts for Photoshop, Excel, and VS Code and ergonomic mouse setups for users with limited keyboard access.
Getting started with the MouseKey recorder
To create your first macro with the MouseKey recorder, open MouseKey, go to the action picker for any button or cadence, and select Record Macro. Press the record button, perform your keystrokes, then stop. Choose whether you want timed or non-timed playback, save the macro, and click your mouse button to play it back.
Start with one high-value macro. Pick the command or text string you type most often and record it. Once you see how much time a single macro saves, you'll find more use cases for the recorder quickly.