Fajar-RahmadJaya / KeyTik

GUI-Based Keyboard Remapper with Profiles, AutoHotkey Script Manager, Auto Clicker, Screen Clicker, and More
Other
28 stars 2 forks source link
auto-clicker autohotkey file-opener interception-driver keyboard keyboard-remap open-source screen-clicker screen-coordinate-finder tkinter windows-app

KeyTik: The All-in-One Automation Tool & Keyboard Remapper with Profiles

GUI-Based Keyboard Remapper with Profiles, AutoHotkey Script Manager, Auto Clicker, Screen Clicker, and More.

KeyTik is an open-source automation tool that can do almost all automation at your will. At first, KeyTik focused on keyboard remapper with profile to activate or deactivate each remap individually. But because it also use AutoHotkey as scripting language to do the automation, it allow KeyTik to do all automation available by AutoHotkey such as auto clicker, keyboard remapper, screen clicker and more.

With a bit of scripting you can do all of that with ease. If you don't have coding experience, don't worry because i also made a beginner friendly open-source AutoHotkey script collection and template that allow you to download already made script or edit it to your preference. I try to make it as easy to understand as possible with guide how to use the template or change the code in each script, make sure to visit it at AutoHotkey Script Collection And Template if you are interested.

So if you are looking for lightweight auto clicker, keyboard remapper, screen clicker and more or All-in-One Automation Tool and AutoHotkey script manager with user friendly GUI, then this is what you are looking for. I hope you can enjoy it and it can be useful to you. Sincerely, Fajar Rahmad Jaya.

[!NOTE] If you're satisfied with KeyTik, don't forget to give us a star!
Also, don't forget to share it and help the world learn more about us.

Table Of Content :

  1. Preview.
  2. How To Install.
  3. Features.
  4. What Make Us Different Then Other Automation Tool.
  5. Upcoming Feature (Possibly to be Implemented).
  6. How To Use KeyTik Automation Tool.
  7. What You Can Do With KeyTik.
  8. How Is This Work.
  9. User Safety (For Those Who Worry About Virus Or Data Safety).
  10. Have Any Suggestion ?
  11. License.
  12. Star History.
  13. Acknowledgements.

Preview :

KeyTik Feature Preview :

Preview Main Default Mode Preview Text Mode Select Device

How To Install :

To install KeyTik you just need to follow these step :

  1. Download And Install AutoHotkey
  2. (Optional) If You Use Assign Profile On Specific Device Feature, You Need To Download And Install Interception Driver First
  3. Download KeyTik from one of the following platforms
    • KeyTik GitHub Release : https://github.com/Fajar-RahmadJaya/KeyTik/releases.
      • There are 2 option to download, normal version and source code version.
      • If you want simple version in executable form, you can download the normal version (In release it's the zip file without 'open source version' name on it, example KeyTik.v1.3.rar). In normal version you can directly double click the exe file to run KeyTik.
      • If you want the raw code only, you can download source code version (In release it's the zip file with 'open source version' name on it, example KeyTik.v1.3.Source.Code.Download.Version.rar). To make it work, you need to install required python library or build it into executable yourself. I have added guide to build it into the download or you can see it in here.
    • Source Forge : https://sourceforge.net/projects/keytik.
  4. Extract KeyTik zip file
    • Extract the downloaded KeyTik zip file to a location of your choice.
  5. Open KeyTik folder
    • Navigate to the folder where you extracted KeyTik and locate KeyTik.exe.
  6. Run KeyTik
    • Double-click KeyTik.exe to start it.
  7. You're All Set!
    • KeyTik should now be ready to use.

[!IMPORTANT] Make sure AutoHotkey is installed correctly, as it's required for KeyTik to run profiles. If you're using the "Assign Profile On Specific Device" feature, ensure that the Interception Driver is properly installed, as it is needed for this functionality.

Features :

KeyTik comes packed with a wide range of features designed to give you ultimate control over your profiles. Here’s a breakdown of everything you can do with KeyTik:

No Feature Description
1 Run & Exit Remap Profile Activate or deactivate profiles individually, so you don't need to adjust the remap every time.
2 Run Profile on Startup Run profiles on startup, so it will automatically activate when you open your device—no need to manually activate it each time.
3 Delete & Store Remap Profile Delete unnecessary profiles and store profiles for a clean main window without permanently removing them.
4 Pin Profile Pin your favorite profiles for quick and easy access.
5 Edit Remap Profile Adjust your profile to your preference.
6 Create Multiple Remap Profile You can create remap not only once but multiple time.
7 Assign Shortcut on Each Profile Enable or Disable your profile using shortcuts.
8 Default Mode in Create or Edit Profile The easiest way to remap your keyboard.
9 Text Mode in Create or Edit Profile Text Mode allows you to adjust or create your AutoHotkey script easily, without needing an external editor.
10 Make Window Always on Top "Always on top" feature lets you easily remap keys while other windows are open, without minimizing KeyTik window. This is especially useful during gaming.
11 Show Stored Profile Display your stored profile or restore it to main window.
12 Import Profile Use AutoHotkey script from external source like download and make it as profile.
13 Automatically Take Key Input A button that can make you click your desired key and it will automatically fill key entry
14 Auto Clicker KeyTik comes with Auto Clicker in the download. On default, it simulate 'left click' when 'e' is holded. You can change the 'left click', 'e', interval part to your preference. See How To Use KeyTik As Auto Clicker for more info.
15 Screen Clicker KeyTik also comes with Screen Clicker in the download. It work with simulate 'left click' on specific screen coordinate. You can change coordinate and interval to your preference. Don't worry because KeyTik also comes with tool to find screen coordinate then it will automatically copy coordinate and you can paste it to screen clicker in text mode, see point 16. see Screen Clicker for more info.
16 Screen Coordinate Auto Detect And Copy To make screen clicker editing easier, KeyTik also comes with coordinate finder. On default, you just need to press 'space' then it will show coordinate and automatically copy it. You can also change 'space' part to your preference. See Screen Coordinate Auto Detect And Copy for more info.
17 Multiple Files Opener Multiple files opener also comes with KeyTik download. It work with, if you click key or key combination, then it will open the files. You can change the files with your files or programs path to your preference. see Multiple Files Opener for more info.
18 Assign Script or Remap Profile to Specific Keyboard or Mouse Using Device VID & PID or Device Handle Make script or remap profile to only work for specific physical keyboard or mouse using device VID & PID or device handle as identifier. It work using help from AutoHotkey Interception by evilC and Interception driver by oblitum.

What Make Us Different Then Other Automation Tool :

KeyTik have unique capabilities and make it different than other automation tool. Here’s why KeyTik is the best choice for your need:"

Upcoming Update (Possibly to be Implemented) :

Below are my plan and what i have in mind for future KeyTik Development :

No Feature Plan Description Status
1 Improve Documentation Make documentation more detailed and Make KeyTik website InProgress
2 Resize and Remember Window Size Resize KeyTik window for more comfortable use and remember it so next time you open KeyTik, it will retain previous window size Pending
3 Refine Error Handling Adding more helpful error handling like "you don't have AutoHotkey installed on your device. Download it first on https://www.autohotkey.com/download/ to make KeyTik work. Pending

How To Use KeyTik Automation Tool :

Automation tools come bundled as one with KeyTik download. It count as profile in text mode, so all of it can use KeyTik feature. I take it from my side project on AutoHotkey Script Collection And Template. I add comment on the script to make it easier to change. So if there are ";" on the line in script that mean after it or ";" right is comment and what you can change is before it or left ";". Example : '''space:: ; This is comment'''. On that example 'space' is what you can change and '; this is comment' is the comment. Comment mean AutoHotkey not detect it as input which mean comment is not affecting script.

Auto Clicker:

Auto Clicker default is to simulate 'left click' when holding 'e' key with 100 millisecond interval. You can adjust it to your preference like change the 'e' key, change left click and change interval. For more guide on how to adjust or download the script, go to AutoHotkey Script Collection And Template release on Auto Clicker When Holding Specific Key.

Screen Clicker :

Screen clicker work with It work with simulate 'left click' on specific screen coordinate. You can change coordinate and interval to your preference. Don't worry because KeyTik also comes with tool to find screen coordinate then it will automatically copy.

Screen Coordinate Auto Detect And Copy :

To make screen clicker editing easier. I also include coordinate detector to KeyTik. On default, you just need to move your cursor to desired position then press 'space'. After that, it will show coordinate and automatically copy it. You can then just paste whenever you want. You can also change 'space' part to you preference.

Multiple Files Opener :

You can open multiple files only with one key or more. In default, it use alt + left to open some files or program. You can change files path with your files or programs path to your preference. Make sure you change files path to yours because in default it only give you path example not the actual path. For more guide on how to adjust or download the script, go to AutoHotkey Script Collection And Template release on Shortcut To Open Multiple Files.

What You Can Do With KeyTik :

1. Multiple profile :

2. Always on top :

3. Store Profile :

4. Run On Startup :

5. Text Mode :

6. Import Profile :

7. Pin Profile :

8. Assign Script On Specific Device :

9. And Many More :

How Is This Work :

If you are curious how KeyTik work you can check this section :

How is Remapper And Automation Tool work :

For the automation tool executor, KeyTik use AutoHotkey. AutoHotkey is a powerful scripting lenguage to do this task. Using AutoHotkey, allow keytik to do almost all automation task while still make it lightweight. For example, one AutoHotkey script size usually below 1MB and if i make the automation tool without AutoHotkey such as using python library then the size could be more than that. Another reason i use AutoHotkey is because how it work. Because it work in a single file and have different file for each script, allow KeyTik to assign feature to it such as run on startup or multiple profile. To be more simple, I use python for the functionality (create, edit, GUI, run, exit, store, delete, run on startup and more) and use AutoHotkey as executor for each profile. So it's basically an app to create AutoHotkey script based on user input and assign functionality to it. You can see the created script on (KeyTik_internal\data\active). For example, suppose your input is like this :

Example 1 (Without Shortcut) :

Input Example 1

Then the created script result would look like this :

; default
^!p::ExitApp 

w::Up
a::Left
s::Down
d::Right

Example 2 (With Shortcut) :

Input Example 2

Then the created script result would look like this :

; default
^!p::ExitApp 

toggle := false

~q & e::
{
    global toggle
    toggle := !toggle
}

#HotIf toggle
w::Up
a::Left
s::Down
#HotIf

How is Assign Keyboard or Mouse on Specific Device VID & PID or Device Handle Work :

This feature work similar to [Remapper And Automation Tool] section with taking input from user then create AutoHotkey script from it. The difference is, KeyTik use help from AutoHotkey wrapper named [AutoHotkey Interception by evilC(https://github.com/evilC/AutoHotInterception) to be able to assign script ot profile on specific device. AutoHotkey Interception work using Interception driver by oblitum so to be able to make it work you need to install Interception driver first. For how to do it, visit AutoHotkey Interception, Install the Intereception driver.

To use this feature, you just need to select your device then click on "Select" Button, it will automatically take the device type, VID and PID/Handle then pass it to "Device ID" entry. After that, you can freely add your script or keyboard remap and finish it, then it's done. After setting up your device id and remap or script, you have a profile that work on specific device. If you are unsure which one is your device ID, you can use AutoHotkey Interception built in monitor with clicking "Open AHI Monitor To Test Device" button and it will automatically open monitor.ahk.

For more simple explanation, to assign your remap or script to specific device, you just need to select your device in the "Select Device" button.

Here is the the example, suppose your input is like this :

Input Example 3

Then the created script result would look like this :

; default
^!p::ExitApp 

#SingleInstance force
Persistent
#include AutoHotkey Interception\Lib\AutoHotInterception.ahk

AHI := AutoHotInterception()
id1 := AHI.GetDeviceIdFromHandle(false, "ACPI\VEN_HPQ&DEV_8001")
cm1 := AHI.CreateContextManager(id1)

#HotIf cm1.IsActive
toggle := false

~q & e::
{
    global toggle
    toggle := !toggle
}

#HotIf toggle
w::Up
a::Left
s::Down
#HotIf

#HotIf

User Safety (For Those Who Worry About Virus Or Data Safety) :

I don't make this software for that reason and this software is open source, so you can rest assured. If you still have doubt, you can try Virus Total to scan it. Virus Total is known for it being a free online service that analyzes files and URLs for viruses, malware, and other malicious content by scanning them with a wide range of antivirus engines and security tools. The scan is done each version release to ensure safety in each version. The conclusion is, i don't intend to add virus or take your personal data intentionally or without your permission. I want to build trust with you so you can use KeyTik without worry.

But if you still have some doubt, i also include non built version on release. With it you can check the source code yourself. You can also build it yourself, i also include buld guide on the download or you can check it here. So there are 2 download version in each release starting from version 1.2. They are normal and source code version. Normal version is download version which i build it myself using the same code as in source code version so you don't have to. I use python library Pyinstaller to built it. The source code version is download version that not builded, in other word it's the raw code. People usually prefer this version to made sure there isn't anything suspicious because if it's source code they can check it themself. You typically can't do this if it's in executable format because usually executable contain binary which make it difficult to check.

But at the end at least for KeyTik, what i build and what you build yourself is the same if you use the same technique and command like me using Pyinstaller because i build the normal version using the same code in the source code version. To make it work, you need to install the required python library or build it yourself into executable. So if you don't want an extra step then, normal version is what you need. If you want only the source code or have no problem with extra step, then source code version is what you need.

Again, i don't intend to add malware on KeyTik so don't be afraid to download the normal version which i build myself using the same code in source code version. Here is my scan on KeyTik v1.2 using virus Total if you have doubt (You can also scan for yourself if you want 100% certain) :

[!TIP] I don't add the normal download version is because i just realize whatever i do pyinstaller build will always detected as malware. But the source code version itself is not detected as malware. If you are curious or still worried, try to download source code version then build it yourself and try to rescan. Even if you build it yourself the result will be the same. It will still detected as malware as long as we build it using pyinstaller. Don't worry, it's false positive.

This is completely normal so you don't have to worry.

Have Any Suggestion ?

If you have any suggestion for KeyTik, i would be very happy to take it. You can show your suggestion or ask anything about KeyTik on GitHub issue. The more you give suggestion, the better i can improve KeyTik. So don't be shy to show your suggestion or problem. Try to be polite and don't offend any individual or group. Together, lets make this a wholesome community. I sincerely appreciate your trust and continued support. Thank you. Sincerely, Fajar Rahmad Jaya.

License :

This project is licensed under the Apache License 2.0. You can freely use, modify, and distribute this code under the terms of the license.

Star History :

Star History Chart

Acknowledgements :

This project uses the following libraries: