Full-fledged mouse/keyboard record/replay and sophisticated automation macros/hotkeys creation using modern programming languages, and more advanced automation features. Available across three major OSes: Windows, OSX, and Linux.
Note that the following gifs are at 1x speedup.
Task creation - Clipboard with history
- Record and replay computer activities.
- Store recorded tasks and replay them later.
- Write your own task in your favorite text editor using Python or Java so you have more control over the computer.
- Assign multiple arbitrary hotkey combinations to activate a stored task.
- Assign multiple mouse gestures to activate a stored task.
- Compile and run tasks on a group of remote machines.
- Manage your Repeat tasks (either recorded or written).
- This is not a password storage program. Source code written is not encrypted.
- This program executes your own code. Use the advanced compile - replay feature carefully. Test your task before adding it to the list.
JDK 8.0 or above. Both Oracle JDK and OpenJDK are OK.
If you wish to write/run tasks in Python, then Python3 is required.
On Windows, no special permission required.
On Linux, X11 window system. This would not work on Wayland window system.
On OSX, accessibility permission is required for the native hook to work. Enable this in System Preference --> Security & Privacy --> Accessibilty --> Privacy.
Just download the latest version, put the jar in a separate directory, and run it with java. That's it! You may need appropriate privileges since Repeat needs to listen to and/or control the mouse and keyboard.
The recommended way to launch the program is through terminal:
$cd <jar_directory>
$java -jar Repeat.jar
Important: The path containing the JAR file must not have space in it.
Note that since Java 9, the jar file must be launched from a JDK (as opposed to a JRE) to be able to compile file. The workaround used in Java 8 and before to set Java home no longer works.
What is the difference between this and AutoHotkey or AutoKey?
- This runs on any platform that supports Java and is non headless. AutoHotkey is written for Windows only, and AutoKey is only for Linux. Repeat works on Linux, Windows, and OSX. The written macro can be re-used cross platforms.
- The only limit to your hotkey power is your knowledge of the language you write your tasks in (e.g. Java, Python or C#). You don't have to learn a new meta language provided by AutoHotkey. This allows you to leverage your expertise in the language chosen and/or the immense support from the internet.
It does not make sense to listen to keyboard and mouse events in a headless system. How can you move your mouse if you have no screen? What would typing a key mean in such system?
C# module is disabled if you are on a non Windows OS. Nothing from C# module will get started.
This application listens on your mouse and keyboard events as well as allowing you to simulate mouse/keyboard events. If I could do such thing from a web browser, some hackers must have got your personal information, passwords, bank account number by now.
It's coming. I will get it done when I have time.
You can change global hotkeys: In menu Settings --> Hotkey
Record: Press record (default hotkey F9) to start recording and stop at any time by pressing the same button again (or press default recording button F9)
Replay: Press replay (default hotkey F11) to start replaying and stop at any time by pressing the same button again (or press default replay button F11)
Compile your code and play it: the buttons are right under the record and replay section. (F12 for play/stop compiled code)
Manage your tasks: using the buttons on the right hand side of the windows to Add, Override, Remove or Reorganize (move up/down, change group) your tasks.
Change hotkey for your task: just left click on the hotkey column of your task's row in the table and input the new hotkey
Enabling/disabling task: click on the column in the table that shows enabled/disabled.
By default, pressing escape will interrupt the running tasks. However, you can disable this feature in Setting --> Halt tasks by escape.
It's the button to manage task group.
Manage task group: click on the button next to Task group on the top right corner at any time to manage the task group.
Change Java class path: Settings --> Set compiler path. Choose the directory where your JDK is installed (not JRE). For example, mine is at C:\Program Files\Java\jdk1.8.0_25 More explanation: Usually the jar will get started by JRE. Obviously you can't compile anything with JRE.
Similar to Java, you need to identify where the python interpreter is at. First switch to Python using Tool --> Compiling Language --> Python. Then configure python interpreter path using Settings --> Set compiler path. For example in my Linux machine my python interpreter is at /usr/bin/python
Are you serious? I still can't load my python code even after I've configured my python interpreter.
You need to start Python submodule first. Go to Tool --> Native modules and click on the python IPC line, then click on the play button to start it. You can achieve the same thing by just restarting the application. Python module will be automatically started if you've configured python interpreter correctly.