CrossMacro

Mouse and keyboard macro automation

by Alper HanVerified

Arch Linux (recommended)

Screenshots & videos

About

CrossMacro is an open-source, cross-platform mouse and keyboard macro recorder, editor, and automation tool for Linux, Windows, and macOS. Record clicks, movement, scrolling, and keyboard input, then edit and replay macros with configurable speed, pauses, loops, repeat counts, delays, global hotkeys, or schedules. Linux-first Wayland and X11 support provides compositor-aware cursor positioning and daemon-backed or direct-device input paths. CrossMacro uses absolute mouse positioning when the active session exposes a compatible cursor-position protocol and falls back to relative input when that capability is unavailable. It also combines text expansion, screen-reading commands, native PNG image recognition, profiles, themes, a GUI, and a scriptable CLI in one application. Features: Wayland and X11 support: CrossMacro treats Wayland and X11 as first-class Linux targets and selects compositor-aware positioning and daemon-backed or direct-device input according to the active session's capabilities. On GNOME, a Shell Extension can be installed on first run. A logout/login may be required for the extension to take effect. If permissions are missing, the app offers Quick Setup on launch. Quick Setup opens a standard system authorization prompt to enable direct device access for the current user session. If setup cannot complete, use the direct-device troubleshooting instructions in the project README. - Record and replay mouse and keyboard macros with configurable timing and pause/resume control - Edit macros with undo/redo, action reordering, coordinate modes, variables, loops, conditionals, and text input - Bind macros to global hotkeys with toggle or hold-to-run modes - Schedule macros at specific times or intervals, including one-time, weekly, custom weekday, and randomized intervals - Expand text from global shortcuts with configurable typing methods - Read screen pixels and search native PNG templates for image-based workflows - Control playback speed from 0.1x to 10x, loops, repeat counts, and fixed or randomized repeat delays - Save, load, sequence, and replay .macro files, then switch between profiles - Customize themes and use the desktop GUI, CLI, or GUI-less runtime on Linux Wayland/X11, Windows, and macOS - Use customizable global controls with F8 recording, F9 playback, and F10 pause as the defaults

Required configuration

Requires: a screen with its shortest side at least 768 px. Recommends: keyboard, mouse or touchpad.

Additional information

Project

Developer
Alper Han
License
GPL-3.0-only (free software)What this license lets you do
From the project
Report a bugSource code

Install

Available via
Flatpak · Arch Linux (2) · Nixpkgs
All 4 packagings

Flathub (Flatpak), AUR, AUR (Git build), Nixpkgs

Flatpak sandbox
Wide access

Runs in a sandbox, but a broad part of it is open — typical for tools that need to manage your files or system. It shows what the app is able to do, not what it does.

What it can access
  • Can run programs outside its sandbox
  • Can access all devices, including cameras and USB

About this data

Sources
4 independent sources agree
Catalog data as of
October 12, 2026
How each source lists it (4)
SourceNameVersionBuilt byLicenseDescription
Flathub (Flatpak)CrossMacro1.5.0Official buildGPL-3.0-onlyMouse and keyboard macro automation
AURcrossmacro1.5.1-1—GPL-3.0-onlyMouse and keyboard macro recorder with hotkeys, scheduling, and text expansion
AUR (Git build)crossmacro-gitr.-1—GPL-3.0-onlyDevelopment snapshot of CrossMacro mouse and keyboard macro automation
Nixpkgscrossmacro1.3.1Distribution buildGPL-3.0-onlyCross-platform mouse and keyboard macro recorder and player

Related

Polychromatic

Settings

RGB lighting management software for OpenRazer

6 platformsFlatpak (recommended, ✓ verified) Arch Linux Void Linux Solus Gentoo Nixpkgs2 buildsStandard: Stable Standard: GitFlathub (Flatpak): ★ 4.5 (4)

Settings

Settings

Utility to configure the GNOME desktop

10 platformsArch Linux (recommended) Debian Ubuntu Fedora openSUSE Alpine Linux Void Linux Solus Gentoo Nixpkgs3 buildsStandard: Git Standard: Stable Standard: Candidate

KMouseTool

Settings

Automatic clicks to reduce the effects of repetitive strain injury

9 platformsArch Linux (recommended) Debian Ubuntu Fedora openSUSE Alpine Linux Slackware Gentoo Nixpkgs2 buildsStandard: Stable Standard: Candidate

KMag

Settings

Screen Magnifier

11 platformsArch Linux (recommended) Debian Ubuntu Fedora openSUSE Alpine Linux Void Linux Slackware Solus Gentoo Nixpkgs2 buildsStandard: Stable Standard: Candidate

KMouth

Settings

Speech Synthesizer Frontend

9 platformsArch Linux (recommended) Debian Ubuntu Fedora openSUSE Alpine Linux Slackware Gentoo Nixpkgs2 buildsStandard: Stable Standard: Candidate

CCSM

Settings

Settings Manager for Compiz (CCSM)

7 platformsArch Linux (recommended) Debian Ubuntu Fedora openSUSE Void Linux Solus4 buildsStandard: Stable Standard: Git Other builds: Bin, Gtk3

Input Remapper

Settings

An easy to use tool to change the mapping of your input device buttons

7 platformsArch Linux (recommended) Debian Ubuntu Fedora Void Linux Solus Nixpkgs3 buildsStandard: Stable Standard: Git Other builds: Bin

MenuLibre

Settings

An advanced FreeDesktop.org compliant menu editor

9 platformsFlatpak (recommended, ✓ verified) Arch Linux Debian Ubuntu openSUSE Void Linux Solus Gentoo Nixpkgs2 buildsStandard: Stable Standard: GitFlathub (Flatpak): ★ 2.0 (8)

Dasher

Settings

Enter text without a keyboard

6 platformsArch Linux (recommended) Debian Ubuntu Fedora openSUSE Nixpkgs

Onboard

Settings

Flexible onscreen keyboard

7 platformsArch Linux (recommended) Debian Ubuntu openSUSE Alpine Linux Void Linux Nixpkgs

KDebugSettings

Settings

Set which debug messages are shown

11 platformsSnap (recommended) Arch Linux Debian Ubuntu Fedora openSUSE Alpine Linux Slackware Solus Gentoo Nixpkgs3 buildsStandard: Stable Standard: Beta Standard: Candidate

Add-ons

Components (1)
  • crossmacro-daemon — Privileged input daemon for CrossMacro (Nixpkgs)