XMacro — пакет содержащий две простые C (си) утилиты (xmacrorec и xmacroplay) для записи и воспроизведения действий клавиатуры и мыши.
xmacrorec и xmacroplay в значительной степени основаны на возможностях утилиты xremote (автор Jan Ekholm), предназначенной для захвата мыши и клавиатуры другого компьютера и удалённого управления им, симуляция ввода реализована с помощью библиотеки XTest (libxtst).
XMacro может работать с любыми раскладками клавиатуры, запись последовательности нажатий записывается в файл (утилитой xmacrorec2), перед началом записи утилита предлагает назначить клавишу по нажатию которой запись будет завершена (по выполнению запланированных манипуляций). В файле сохраняется список команд, повторяющих действия, часть ненужных (лишних) команд можно удалить (например некоторые движения мыши).
Утилиты XMacro можно использовать в скриптах и сочетать с другими приложениями (например с планировщиком задач), поддерживается запуск с задержкой после каждого действия, "по умолчанию" задержка десять миллисекунд (опция -d). Если последовательность нажатий не очень длинная (например при эмуляции нажатия мультимедийной кнопки), то запуск можно осуществлять одной строкой (без использования лог-файла).
XMacro поддерживает запись и эмуляцию жестов мыши, используемых для упрощения запуска без использования клавиатуры, но при возможности выполнения действий мыши аналогичными действиями на клавиатуре (горячие клавиши) то предпочтительнее использовать клавиатуру, так как мышь обычно привязана к расположению окон и кнопок.
Лицензия: GNU General Public License version 2.0 (GPLv2)