Skip to main content

Getting Started

Get started by downloading the Simkey App from the simkey-app GitHub releases (it is currently only available on Windows). We will go through how to use the app and briefly mention the VS Code extension (Simkey Highlighter).

Using the Simkey App

First create a .simkey file with a basic script. We will be using this file for our demonstration (calling it abc.simkey):

<SETTINGS> # This will be read by the app when loading #
name = "My First App!"

<MACRO>
abc # Clicks a,b,c and releases #

The code under <SETTINGS> is just information about the file. For more on the <SETTINGS> section, visit this page

Getting the File to Load

Save this script under abc.simkey and press the Load button (in the bottom strip) in the app. This will open an explorer window for you to choose the script. Once loaded, you should notice that it is named My First App!, with the path to the file located under that.

Here's the load button, location, and name circled and how the app should currently look:

Loaded File

Now press the Select button you find under the script name and location. You should see the Configure section enable and light up, and notice that now the Run and Save buttons are enabled:

Configure Section

You can exit out of this by clicking the X next to the name on the Configure section.

In the configure section, you can add a shortcut, how many times you want the script to repeat (positive integer, ON, or OFF which is the same as 1), which mode is selected when compiling, and which switches are on when compiling.

You will learn these concepts later in the docs (such as what a mode and switch is), just be aware that this is how you manipulate them within the app.

To open the file with its default editor, you can click the Open button in the script's box. Clicking Remove will remove it from the app, and will not delete the actual file.

Whenever you make a change to the file, this will not be automatically registered in the app, as it runs off of already compiled files. In order to get it to recompile, press the reload button on the right of each script's name.

Testable Example (Autoclicker)

With the previous example, it is hard to test the effects yourself. When you click Run or use a shortcut, the script instantly executes and there is nowhere for abc to be written. We will be using a different example, which is making a simple autoclicker:

<SETTINGS>
name = "My Autoclicker!"

<MACRO>
[MB_LEFT]<25>

Follow the steps above in order to get here:

Autoclicker Loaded

This time, we will configure a shortcut for ease of use. Go ahead and press Select, then set the shortcut in the configure section to F6. Set the Repeat to ON, as we want this to only stop when you press the shortcut. Finally, click Save.

Configured Autoclicker

To test this, go to a click speed test website, such as CPSRace, and give it a go with the shortcut!

info

When setting a shortcut or adjusting the repeat, the app automatically saves when you press enter or click off the input. However, when changing modes and switches, or the inputtable vectors, the script must be recompiled, so you must press Save.

Improved Autoclicker

The last example does not give you any control over what the script does from the app. It only allows you to decide how many times to repeat the script, and what shortcut to set. We can do better.

For this example, we will be creating an autoclicker that gives you the same functionality as OP Auto Clicker, a popular autoclicker. You can choose which mouse button to click, whether to double-click, keep the cursor in a specific position while clicking, and set a custom delay.

Here's the code we will be using:

<SETTINGS>
# Some metadata that will show up in the app #
name = "OP AUTOCLICKER"
mode = $LEFT_CLICK
repeat = ON


<MODES>
# Modes for which mouse button to click #
$LEFT_CLICK
$MIDDLE_CLICK
$RIGHT_CLICK


<SWITCHES>
# Options we will have for the script #
$keep_cursor # Keeps cursor in the position given ($cursor) #
$double_click # Double clicks each time #


<VECTORS>
# Vectors that will be customizable within the app (because of | input) #
$delay = 100 | input # How much we wait between clicks #
$cursor = 0,0 | input # Position to keep the cursor in (if $keep_cursor is on) #


<FUNCS>
# Function to handle clicking, whether or not $double_click is on #
@click {
@click_chosen
@if $double_click { @click_chosen }
}

# Function to click the right button depending on the mode #
@click_chosen {
@if $MIDDLE_CLICK { [MB_MIDDLE] }
@elseif $RIGHT_CLICK { [MB_RIGHT] }
@else { [MB_LEFT] }
}

# Function to either move the cursor or do nothing depending on $keep_cursor #
@move_cursor {
@if $keep_cursor { @cursor [$cursor] }
}


<MACRO>
# The main code #
@delay [0,0] # Set to 0,0 to avoid any other delays #
@move_cursor # Handles moving cursor #
@click # Handles clicking #
<$delay> # Wait $delay milliseconds #

You can save this under the previous file for the autoclicker and press reload within the app, or make a different file for it and load it. Once you have loaded the file, press Select under the script.

Notice that this script has additional inputs in the configure section! This is because of the | input included next to the vector values in the script. These inputs will allow you to set the corresponding values for $delay and $cursor.

If you press on the Switches dropdown, you'll see two options: $keep_cursor and $double_click. Try to look at the code to see what those do—it is written in the comments.

In the Mode dropdown, you'll see that there's options for left, middle, and right clicking. Configure the script to your liking, add your own shortcut, and give it a go!

Utilities (Utils Button)

The final thing is the Utils. You can click the Utils button in the bottom right, and a window should open.

This currently only has one button which you can click to track where your mouse goes. By pressing enter while not having clicked off the Utilities window, you can click the button and have it stop to record where your cursor was (can be helpful for @cursor). We plan to add more helpful utilities later on.

Setting Up Highlighting

If you use VS Code, you can download the Simkey Highlighter extension from the marketplace. You can also visit the simkey-vscode GitHub repository to download releases from there.