Documentation
Execution Flow
Our software employs a tree-based execution model:
- Root Module: The execution always starts with the root module.
- Child Modules: Progresses from left to right, diving into each child's own submodules before moving to the next child.
- Sub-Child Modules For each child module, its leftmost child is executed first, followed by its subsequent children from left to right.
- Bubbling Up: After all children and sub-children of a module are executed, the software returns (bubbles up) to the parent module and continues to the right.
This hierarchical structure ensures a systematic and predictable flow of operations, allowing complex models to be executed with precision.
Instructions for MacOS Users:
In order for our software to function optimally and automate tasks, it requires certain access permissions on your macOS device. Please be assured that the software does not retain any long-term data from your machine.
Kindly follow the steps below to grant the necessary permissions:
- Navigate to System Preferences.
- Choose Screen Recording and add our software to the list of approved applications.
- Similarly, go to Accessibility in the System Preferences and ensure our software is included in the list of approved applications.
These permissions ensure the software operates seamlessly and delivers the best user experience. Thank you for your understanding and cooperation.
Image Module
Overview:
The Image Module allows users to load images from their local storage.
Once the model is executed, the module uses image recognition to detect the coordinates of the loaded image on the screen.
Depending on the options selected, it can also perform actions like clicking or looping over all found instances of the image.
Features & Options:
-
Load Image Button:
Function: Enables users to browse and upload an image from their local files.
Usage: Click on the "Load Image" button, navigate to the desired image file, and select it.
-
Condition to Execute Sub-Module(s):
Function: Determines the condition under which the child module(s) will be executed based on the image's presence.
Options:
- If exists: Executes if the image is detected on the screen.
- If not exists: Executes if the image is not detected on the screen.
- While exists: Continuously executes as long as the image is present on the screen.
- While not exists: Continuously executes as long as the image is not detected on the screen.
- Wait until exists: Waits and then executes once the image appears on the screen.
- Wait until not exists: Waits and then executes once the image disappears from the screen.
-
Trigger Click:
Function: If the image is detected, this option decides if a click should be initiated on it.
-
Double Click:
Function: Enables a double-click action on the detected image if "Trigger Click" is activated.
-
Type of Click:
Function: Designate the type of click you wish to initiate on the detected image.
Options:
- Left Click: Default option.
- Right Click: Right mouse button click.
-
Loop for Each Image:
Function: If multiple instances of the loaded image are detected on the screen, this option will execute the submodule actions for each detected instance.
-
X Offset & Y Offset:
Function: Define an offset for the click position relative to the detected image.
-
Precision:
Function: Sets the accuracy of image recognition.
Range: 0 (least precise) to 1 (most precise).
-
Show Detected Images:
Function: Displays a screenshot highlighting the detected images on the screen with red boundary squares.
Coordinates Module
Overview:
The Coordinates Module provides users the ability to directly specify X and Y coordinates
for the software to navigate to upon execution.
This module streamlines the process of selecting specific screen locations either manually,
by entering coordinates, or automatically, by using the "detect coordinates" feature.
Features & Options:
-
X and Y Fields:
Function: Input fields where users can manually specify the X and Y coordinates they want the software to navigate to.
-
Detect Coordinates Button:
Function: Facilitates automatic detection of coordinates.
Usage: Upon clicking this button, the screen will overlay with a semi-transparent black layer.
Click anywhere on this layer to bind those coordinates to the X and Y fields automatically.
-
Trigger Click:
Function: If the image is detected, this option decides if a click should be initiated on it.
-
Double Click:
Function: Enables a double-click action on the detected image if "Trigger Click" is activated.
-
Type of Click:
Function: Designate the type of click you wish to initiate on the detected image.
Options:
- Left Click: Default option.
- Right Click: Right mouse button click.
-
Type of Click:
Function: Designate the type of click you wish to initiate on the detected image.
Options:
- Left Click: Default option.
- Right Click: Right mouse button click.
-
Scroll:
Function: Enables scrolling either upwards or downwards based on the user's specification.
Options:
Usage: Select the desired scroll direction and specify the number of times to scroll in the provided input field.
Drag'n'Drop Module
Overview:
The Drag'n'Drop Module facilitates the action of dragging from one location and dropping to another on the screen.
Upon selection of this module, two child sub-modules are automatically generated to represent
the starting (drag) and ending (drop) coordinates of the action.
Repeat Module
Overview:
The Repeat Module offers users the flexibility to loop or repeat the execution of child sub-modules multiple times.
This can be particularly useful when a set of actions needs to be performed repeatedly,
either for a specified number of times or indefinitely.
Features & Options:
-
Repetitions Field:
Function: Specify the exact number of times the child sub-modules should be executed.
-
Loop over var.:
Function: Instead of a static number, users can bind a previously created variable.
Note: Variables can be created via the "Model Options" button located next to the "RUN" button at the top right of the interface.
-
Infinite Checkbox:
Function: Allows the child sub-modules to be executed indefinitely in a loop.
Keyboard Module
Overview:
The Keyboard Module empowers users to simulate keyboard actions and inputs.
Through its options, you can hold keys, press hotkeys, write text,
and control the release of held keystrokes,
mirroring the versatility of a physical keyboard but in an automated fashion.
Features & Options:
-
Hold Key 1 & Hold Key 2:
Function: Holds down the specified keystrokes.
-
Press Hotkey:
Function: Simulates a single press of the chosen keystroke.
-
Write:
Function: Allows for inputting a string of text automatically.
-
Don't Hold Checkbox:
Function: Provides an option to release any held keystrokes, particularly useful if keystrokes were held down by a previous Keyboard Module instance, and you just want to release them.
Usage: Check the box if you don't want to hold the keys specified in "Hold Key 1" and "Hold Key 2"
-
Release Keystrokes After:
Function: By default, any keys held down will be released after their action is completed. If unchecked, the software will continue to hold the keystrokes without releasing them.
Usage: This option is checked by default, ensuring keys are released after being held. Uncheck it if you want the keys to remain held down.
Sleep Module
Overview:
The Sleep Module introduces a deliberate pause or delay in the execution flow of your model.
By setting a specific duration, you can control and manage the timing between different operations,
ensuring that tasks are executed in a paced manner.
Features & Options:
GOTO Module
Overview:
The GOTO Module serves as a control structure,
enabling users to redirect the execution flow to a specific module,
identified by its unique ID. By leveraging this module,
you can create non-linear execution paths and loops within your model,
enhancing its flexibility and dynamism.
Features & Options:
Variables Actions Module
Overview:
The Variables Actions Module provides users with the tools to manage and manipulate variables
established via the "Model Options" button.
This module is instrumental in dynamically altering variable values during execution
or setting up conditional flows based on variable states.
Features & Options: