Git Product home page Git Product logo

repeats / repeat Goto Github PK

View Code? Open in Web Editor NEW
1.0K 38.0 76.0 67.07 MB

Cross-platform mouse/keyboard record/replay and automation hotkeys/macros creation, and more advanced automation features.

License: Apache License 2.0

Java 77.71% CSS 8.04% JavaScript 6.32% C# 0.07% Python 1.80% SCSS 6.07%
hotkey replay keyboard-shortcuts java python csharp keyboard mouse macros macro automation automation-framework autohotkey

repeat's Introduction

(For Vietnamese audience: Xem README bản tiếng Việt tại đây.)

Repeat

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.

Demo

Note that the following gifs are at 1x speedup. Word expansion demo

Recording & playback

Fuzzy find demo

Mouse gesture activation

Multi clipboard

Simple manually build task

Task creation - All caps

Task creation - Fixing a typo

Task creation - Clipboard with history

Playing Collapse 3

Playing Plants vs Zombies

Features

  1. Record and replay computer activities.
  2. Store recorded tasks and replay them later.
  3. Write your own task in your favorite text editor using Python or Java so you have more control over the computer.
  4. Assign multiple arbitrary hotkey combinations to activate a stored task.
  5. Assign multiple mouse gestures to activate a stored task.
  6. Compile and run tasks on a group of remote machines.
  7. Manage your Repeat tasks (either recorded or written).

Disclaimer

  1. This is not a password storage program. Source code written is not encrypted.
  2. This program executes your own code. Use the advanced compile - replay feature carefully. Test your task before adding it to the list.

Getting started and advanced features

Check out the wiki page.

Requirements

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.

Installation

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.

FAQ

What is the difference between this and AutoHotkey or AutoKey?

  1. 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.
  2. 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.

Why is this only available in non headless system?

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?

I am running a Linux machine. Will the C# module get started at application start time?

C# module is disabled if you are on a non Windows OS. Nothing from C# module will get started.

Why can't this be a web service? It's a lot of effort downloading the JAR and run it.

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.

Libraries used

  1. Simple Native Hooks
  2. Argo JSON
  3. Jama - A Java matrix package
  4. Apache HttpComponents Core
  5. Apache HttpClient
  6. FreeMarker Java Template Engine
  7. Light Bootstrap Dashboard
  8. CodeMirror: a versatile text editor in Javascript
  9. Chart.js: simple yet flexible JavaScript charting

repeat's People

Contributors

hptruong93 avatar michaelpeng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

repeat's Issues

Mouse wheel actions

The program does not recording the mouse wheel actions and there are no option to create that action manually.

cannot understand the 'getting started' instructions

The instructions read:
Just download the latest version, put the jar in a separate directory, and run it with java.

Which jar file?  There is none in the root directory of the downloaded zip file.  Other documentation says "repeat.jar" but I can't find it anywhere....

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.

I'm running linuxmint 20.1. My java:

$ java --version \ openjdk 11.0.10 2021-01-19 \ OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04) \ OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

Would appreciate some help with this. Repeat.jar may be easier for me than autokey.

Thanks

Using tasks loaded from File>Import... requires that the Activation be reset

I was using 3.4.1 and decided to upgrade to 3.8.1. I exported "All Files" into the standard .zip, started up 3.8.1, imported the .zip and switched to this task group. When I try to use the activation for any of the tasks, it doesn't work. To get any of them to work I need to manually re-add the desired activation.

Python IPC client sometimes fails mysteriously

core.ipc.repeatServer.processors.ServerMainProcessor processRequest
WARNING: Invalid messaged received
....
INFO: Failed to execute process loop...
core.ipc.repeatServer.ClientServingThread run
INFO: Client serving thread on socket on remote port 57447 is terminated
INFO: New client accepted: 100.109.121.138:51838
core.ipc.repeatServer.ClientServingThread process
WARNING: Messages is null or messages size is 0. []
core.ipc.repeatServer.ClientServingThread run
INFO: Failed to execute process loop...
core.ipc.repeatServer.ClientServingThread run
INFO: Client serving thread on socket on remote port 51838 is terminated

macos mouse button register

On macos 13.2.1 when I release left mouse button, it sends 4096 value to the release function instead of 1024. that causes left click to stuck.

How can I run a script from my command prompt?

I can record my mouse keyboard actions and clicking on 'Tools/Generate Sources' creating script for my actions. So, how can I execute a Repeat script from my command prompt? It appears the documentation lacking information regarding this.

Ignoring certain characters in linux

Sup, HP?
Using Ubuntu 16.04
I've noticed a small bug when I set up a host removal hotkey like so:

k.type(VK_BACK_SPACE);
k.type(VK_BACK_SPACE);
k.type(VK_BACK_SPACE);
k.type("ssh-keygen -f \"/home/<user>/.ssh/known_hosts\" -R <ip>"); 

For some reason, the "w" in "known" is dropped. Result from the call to the activation key combo of Q+W+NumPad-1:

ssh-keygen -f "/home/<user>/.ssh/knon_hosts" -R <ip>

However, adding a second "w" (i.e., "knowwn") makes everything fine.

ssh-keygen -f "/home/<user>/.ssh/known_hosts" -R <ip>

It seems like this has to do with the keys used for the combo as they appear to be the letters that are being removed from the output. Using "Y+H+K" results in

ss-egen -f "/home/<user>/.ssh/known_hosts" -R <ip>

Finally, the error occurs with the key on the keyboard itself, not the character created. Using "S+2" for

ssh root@<IP>

will result in

sh root<ip>

implying that either 2 or @ (same keyboard key) will be removed by the 2 in S+2

How do I build the jar?

Hello!

I've read through the wiki and the readme, and do not see a way to build the jar file myself.

Could you please provide some guidance on how to accomplish this?

Thank you!

Allow user to configure port number

There's a server process that I need to run on my machine and the clients with which it communicates are expecting to contact port 9999 -- the port that Repeat uses. I can't change the port being sought by the clients, so it would be nice to have the option of changing Repeat's port via the UI.

Standalone Nativehook project

"Replaced JNativeHook with new NativeHook included in the binary. JNativeHook dependency will be completely remove in the next few releases"

Assuming that NativeHook is direct replacement for JNativeHook, is it possible you make it as standalone library much like JNativeHook ? I can't help thinking that JNativeHook development has stagnant and it has some hang issue after some time running on Mac Mojave. Probably your library is much stable and reliable.

thank

Can't run generated python code

Hi, I'm trying to run compiled python code but I cannot find the "key_code" module anywhere. Sorry if this question is dumb but I've been struggling for an hour now and I can't find anything talking about this.

unable to switch compile language

The UI does allow me to change either the compiler path or configure compiler.

errors reported:
Apr 12, 2021 6:11:50 PM core.webui.server.handlers.internals.menu.MenuGetCompilerPathActionHandler handleAllowedRequestWithBackend
INFO: Current compiler does not support getting/setting path.
Apr 12, 2021 6:11:50 PM core.webui.webcommon.HttpServerUtilities prepareStringResponse
WARNING: HTTP response with code 400: Current compiler does not support getting/setting path.
Apr 12, 2021 6:11:54 PM core.webui.webcommon.HttpServerUtilities prepareStringResponse
WARNING: HTTP response with code 400: Current language MANUAL_BUILD does not support changing configuration.

I have edited the config.json file to include my Python path in the "local_compilers" section, and I can see on startup of Repeat that python is found.

log:
INFO: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Initialization finished. UI server is at http://localhost:65401
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Apr 12, 2021 6:14:01 PM core.ipc.repeatServer.ControllerServer$1 run
INFO: New client accepted: 127.0.0.1:52009
Apr 12, 2021 6:14:01 PM core.ipc.repeatClient.IPCClientService$1 run
INFO: [Thread-9] - [PYTHON][INFO][repeat_lib.py][79] - Successfully started python client
Apr 12, 2021 6:14:01 PM core.ipc.repeatServer.processors.TaskProcessorManager identifyProcessor
INFO: Identified remote compiler python

How can I switch to using python? I need to integrate Repeat with PyTest among other modules.
Thanks

Using hotkeys for mouse replay of recording automatically starts a new recording

Steps to repeat:

  1. Press hotkey for mouse recording to start the recording
  2. move mouse around
  3. press hotkey for mouse recording to stop the recording
  4. press hotkey to replay recording

The button for the mouse recording can be seen as being the "stop recording" button at this time and will return to the default "start recording" button upon pressing it or pressing the mouse recording hotkey once more.

Unable to find documentation or any examples

This project looks very interesting, but it's very hard to find documentation or examples. If these things exist could you add a link in the project's README or comment back on this issue?

Code too long to compile

When recording a longer mouse recording, it won't let me compile to java. Is there a way to bypass this or import a task manually compiled myself?

Here's the error:

[06/03/2024 4:19:47] core.languageHandler.compiler.JavaNativeCompiler WARNING: Error on line 26 in file:///home/user/core/CC_1709716786525.java.
[06/03/2024 4:19:47] core.languageHandler.compiler.JavaNativeCompiler WARNING: code too large
[06/03/2024 4:19:47] core.languageHandler.compiler.JavaNativeCompiler WARNING: Cannot compile class CustomAction
[06/03/2024 4:19:47] core.webui.server.handlers.internals.taskcreation.ActionCompileTaskHandler WARNING: Unable to compile source code.

Feature request for speeding up playback

I often have the following usage scenario:

For X items, go through the exact same mouse/keyboard movements. The items are often links to be clicked. There are few enough that I don't want to spend any time programming the link clicking, so I just want to record the common movements and re-trigger the recording a number of times.

I can do this with the current setup. What I can't do (quickly) is make the playback as fast as possible. It would be great with a mode that says something like "take all recorded actions, remove all blocking waits, but add a configurable (I'd go for 80ms) wait after each mouse click, to make sure web pages have time to refresh.

This would make the program a lot more useful, right now it just lets me drink coffee during the time I'd have spent doing the repetitive task. I want it to speed up the repetitive task itself.

macbook M2

there is absolutely no recording of any kind on an M2 with accessibility allowed for Iiput monitoring, full disk access
running:
openjdk 20.0.1 2023-04-18
OpenJDK Runtime Environment Temurin-20.0.1+9 (build 20.0.1+9)
OpenJDK 64-Bit Server VM Temurin-20.0.1+9 (build 20.0.1+9, mixed mode)

How to record scroll mouse?

Repeat seem only saves mouse position and a keyboard event.

Have any method to also keep record scroll mouse or select the paragraph in webpage(hold left mouse)?

Thanks.

Can't compile recorded task

I am trying to record a simple 3 seconds mouse moving task, but it is just not working.
Steps to reproduce the problem:

  1. I ran the jar as root( is it correct way?)
  2. I set up the JDK path, it looks like this: http://imgur.com/a/Ru9I4
  3. I record the mouse moving
  4. I generate the code using CTRL-M
  5. I get this error output: http://pastebin.com/5NXzxEAu

My system:
Ubuntu 16.04 LTS

Java version:

java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

How do I compile a code/script ?

I am trying to compile any code, but this error is happening when I press the compile code button:

set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 2 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.userDefinedTask does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 3 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.userDefinedTask does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 4 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.userDefinedTask does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 5 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.controller does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 6 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.controller does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 7 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.controller does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 8 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.keyChain does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 9 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.keyChain does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 10 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.keyChain does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 11 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.keyChain does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 12 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.keyChain does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 13 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.keyChain does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 14 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.userDefinedTask does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 15 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package core.userDefinedTask.internals does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 22 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package utilities.swing.SwingUtil does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 23 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: package utilities.swing.SwingUtil does not exist set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 25 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class UserDefinedAction set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 26 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class Core location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 27 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class SharedVariables location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 27 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class SharedVariables location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 28 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class KeyboardCore location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 28 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class MouseCore location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 29 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class TaskActivation location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 29 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: variable invoker set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 29 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class KeyChain location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 29 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class KeySequence location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 29 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class SharedVariablesSubscription location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 30 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class KeyStroke location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 30 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class KeyStroke location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 31 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class KeyStroke location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 31 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class KeyStroke location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 34 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class MouseGesture location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 35 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: class ActivationPhrase location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 40 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: method does not override or implement a method from a supertype set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Error on line 42 in file:/home/tanaka/Repeater_Mouse_Keyboard_Macro_Grava/core/CC_1598987989436.java. set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: cannot find symbol symbol: variable SharedVariables location: class core.CC_1598987989436 set 01, 2020 4:19:49 PM core.languageHandler.compiler.JavaNativeCompiler compile WARNING: Cannot compile class CustomAction set 01, 2020 4:19:49 PM core.webui.server.handlers.internals.taskcreation.ActionCompileTaskHandler handleAllowedRequestWithBackend WARNING: Unable to compile source code.

Allow longer timeout operations in IPC

Allow longer timeout operations in IPC so that we can call the GUI stuff in Java through IPC (otherwise request comes back too late and the task is timeout)

Add support for multiple screens

It would appear that the mouse actions are replayed only on the primary display in Ubuntu 16.04, regardless of where the recording took place or on which display the cursor currently exists.

show ui not working

when I click show UI it opens the web page but I can't connect to it for some reason?
I just want to play fireboy and water girl but my up arrow is broken :(
Screen Shot 2022-01-11 at 10 41 09 PM

Mouse position during playback different from mouse position during recording

This project looks useful to me.
Sadly, the recorded mouse position seems off.

I record mouse and keyboard actions using the record button.
When I click the play button, then the mouse positions are different to what I did during recording.
The position is only slightly off. This could be the difference in position between the record button (which I click to start recording) and the play button (which I click to play the recording).

Which mouse coordinates are recorded, global or relative? I need global mouse coordinates.

Not further that I use Windows 10 with a screen scaling factor of 125% (screen size 2560x1440 pixels). Could this be an issue?

Doesn't boot

Feb 02, 2023 6:18:39 PM frontEnd.MainBackEndHolder
WARNING: System tray is not supported!
Feb 02, 2023 6:18:39 PM core.controller.Core local
SEVERE: Exception constructing controller
java.awt.AWTException: headless environment
at java.desktop/java.awt.Robot.checkHeadless(Robot.java:179)
at java.desktop/java.awt.Robot.(Robot.java:96)
at core.controller.Core.local(Core.java:27)
at core.controller.CoreProvider.getLocal(CoreProvider.java:30)
at core.recorder.Recorder.(Recorder.java:43)
at frontEnd.MainBackEndHolder.(MainBackEndHolder.java:122)
at frontEnd.MainFrontEnd.run(MainFrontEnd.java:32)
at main.Main.main(Main.java:11)

How can I embed the Java script I have recorded into my project?

Thank you, author. Thank you for your project. However, I have a question. How can I embed the Java script I have recorded into my project?

I'm not sure how to run CustomAction, and I'm also unsure how to construct the core.

My project is a GUI automation testing project for Windows. I use Repeat to record Java scripts, and I would like to run them in my project.

Thank you. Please help me answer these questions.

Posibility to save mouse & keyboard records

The mouse and keyboard recorder is working very nice, but there is no way to save it as new task or to compile. I think every new recording should be converted to a sequence of actions or to a compiled task directly. That important functionality is missing.

Cannot open UI: Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!

When trying to use “Show UI” from the tray icon nothing happens and the following exception is thrown:

Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
        at java.desktop/java.awt.Desktop.checkActionSupport(Desktop.java:381)
        at java.desktop/java.awt.Desktop.browse(Desktop.java:531)
        at frontEnd.MinimizedFrame.show(MinimizedFrame.java:78)
        at frontEnd.MinimizedFrame.access$0(MinimizedFrame.java:70)
        at frontEnd.MinimizedFrame$1.actionPerformed(MinimizedFrame.java:41)
        at java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:692)
        at java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:651)
        at java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:378)
        at java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:367)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Build 5.5.1 won't launch on Mac OS 10.13.6

Build 5.5.1 won't launch on Mac OS 10.13.6 ... while other .jar files can be launched by the (default) Jar Launcher.app (15.0.1) OK:
this .jar file doesn't launch, or appear to leave error reports in the Console/sys log . Where should I look to see if it is functioning? No window appears ...

Arch Linux - Java Error: File not executable

When running the .jar file, Java says that the file is not executable:

[user@archlinux ~]$ cd Downloads/
[user@archlinux Downloads]$ sudo java -jar Repeat_5_7.jar
[sudo] Password for user: 
Apr. 07, 2024 2:11:32 PM core.ipc.repeatClient.IPCClientService setExecutingProgram
WARNUNG: File is not executable: /home/user/Downloads/resources/csharp/Repeat.exe
Apr. 07, 2024 2:11:32 PM core.languageHandler.compiler.PythonRemoteCompiler setPath
WARNUNG: Python interpreter must be an executable.
Apr. 07, 2024 2:11:32 PM core.languageHandler.compiler.DynamicCompilerManager parseJSON
WARNUNG: Compiler manual was unable to parse its specific arguments.
Apr. 07, 2024 2:11:32 PM core.ipc.repeatClient.IPCClientService setExecutingProgram
WARNUNG: File is not executable: /home/user/Downloads/python.exe
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.AbstractNativeHookEventProcessor start
INFORMATION: X11 hook: running command $/home/user/Downloads/resources/nativehooks/x11/RepeatHookX11Mouse.out
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.AbstractNativeHookEventProcessor start
INFORMATION: X11 hook: running command $/home/user/Downloads/resources/nativehooks/x11/RepeatHookX11Key.out
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.x11.X11NativeEventProcessor processStdout
INFORMATION: =======================================================
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.x11.X11NativeEventProcessor processStdout
INFORMATION: Starting mouse listener...
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.x11.X11NativeEventProcessor processStdout
INFORMATION: Opening Xrecord context
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.x11.X11NativeEventProcessor processStdout
INFORMATION: =======================================================
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.x11.X11NativeEventProcessor processStdout
INFORMATION: =======================================================
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.x11.X11NativeEventProcessor processStdout
INFORMATION: Starting key listener...
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.x11.X11NativeEventProcessor processStdout
INFORMATION: Opening Xrecord context
Apr. 07, 2024 2:11:32 PM org.simplenativehooks.x11.X11NativeEventProcessor processStdout
INFORMATION: =======================================================
[07/04/2024 14:11:32] core.ipc.IPCServiceManager INFORMATION: Starting ipc service Controller server
[07/04/2024 14:11:32] core.ipc.repeatServer.ControllerServer INFORMATION: Waiting for client connections...
[07/04/2024 14:11:33] core.ipc.IPCServiceManager INFORMATION: Starting ipc service CLI server
[07/04/2024 14:11:33] core.cli.server.CliServer INFORMATION: CLI server up and running...
[07/04/2024 14:11:33] core.ipc.IPCServiceManager INFORMATION: Starting ipc service UI server
[07/04/2024 14:11:33] core.webui.server.UIServer INFORMATION: UI server up and running...
[07/04/2024 14:11:33] core.ipc.IPCServiceManager INFORMATION: Starting ipc service Python IPC client
[07/04/2024 14:11:33] core.ipc.repeatClient.PythonIPCClientService WARNUNG: Launcher does not exist. Doing nothing.
[07/04/2024 14:11:33] core.ipc.IPCServiceManager INFORMATION: Starting ipc service C# IPC client
[07/04/2024 14:11:33] core.ipc.repeatClient.CSharpIPCClientService WARNUNG: Launcher /home/user/Downloads/resources/csharp/Repeat.exe is not executable.
[07/04/2024 14:11:33] frontEnd.MainBackEndHolder INFORMATION: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Initialization finished. UI server is at http://localhost:65401
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
        at java.desktop/java.awt.Desktop.checkActionSupport(Desktop.java:381)
        at java.desktop/java.awt.Desktop.browse(Desktop.java:531)
        at frontEnd.MinimizedFrame.show(MinimizedFrame.java:78)
        at frontEnd.MinimizedFrame.access$0(MinimizedFrame.java:70)
        at frontEnd.MinimizedFrame$1.actionPerformed(MinimizedFrame.java:41)
        at java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:692)
        at java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:651)
        at java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:370)
        at java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:359)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Using Arch, 6.8.2-arch2-1 Linux kernel, KDE Plasma 6.0.3 on Wayland.

Stuck at press 'play' button and can't start in Windows 10 1709

Hi @hptruong93 ,

I have two problem when start Repeat on Windows 10 build 1709.

Information:

Repeat version: 4.0.1 latest version.
Windows 10 build 1709.
JDK 7 updated 79

The first problem:

I tried run Repeat in command line with command: java -jar Repeat_4_0_1.jar.

An error appear look like this:

capture

Error code:

Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical

Second:

When click button recoder to recoder all action in my screen. When recoder success, I tried to click button play to repeat all action but it stuck (don't run anything when I click button play).

Hope receive your response with this problem. Thank you very much. 💯

Erorr when minimizing in ubuntu: java.net.BindException: Address already in use (Bind failed)

Every time I start up Repeat (running the latest release), set it to run in the background, disown it and then minimize, I get the following error:

Apr 04, 2018 3:00:07 PM core.ipc.repeatServer.ControllerServer$1 run
SEVERE: IO Exception when starting server
java.net.BindException: Address already in use (Bind failed)
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
	at java.net.ServerSocket.bind(ServerSocket.java:375)
	at java.net.ServerSocket.<init>(ServerSocket.java:237)
	at java.net.ServerSocket.<init>(ServerSocket.java:128)
	at core.ipc.repeatServer.ControllerServer$1.run(ControllerServer.java:44)

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000000000002306, pid=7487, tid=0x00007f7d6c50f700
#
# JRE version: OpenJDK Runtime Environment (8.0_162-b12) (build 1.8.0_162-8u162-b12-0ubuntu0.16.04.2-b12)
# Java VM: OpenJDK 64-Bit Server VM (25.162-b12 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  0x0000000000002306
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/<name>/Documents/Repeat/hs_err_pid7487.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

Is it possible to activate/deactivate macros based on a lock state

I'm not totally sure if this is the right way to ask a question like this, but I found that the existing documentation was not specific enough to be helpful in this case.

I want to create a script/macro/task/whatever-tf-it's-called that uses the scroll lock key to toggle the numpad between normal functionality and a 'macro mode'. This is to say, while scroll lock is inactive, the numpad acts as normal and while active, each key sends an 'F#' key or other custom keystroke combination. Is this kind of thing supported?

Add support for "mod" key in i3wm on linux

Hi
It would be cool to have this working with i3wm. - Because everything there is keyboard driven. It would be nice to have possibility to use this tool along with i3wm. But unfortunetly this software is not registering "mod" key which is a win key in my case.

unable to add keychain

image

Every freaking time i click the "Add Keychain Button" on mac nothing occurs and are unable to add keychain....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.