AutoHotkey-V2 is my repo of AutoHotkey scripts, as well as iCUE and Stream Deck profiles.
My current desk setup consists of a Corsair K95 RGB and Scimitar Pro RGB, as well as an Elgato Stream Deck XL. This repo contains the scripts and profiles that power these devices, and transform me into a productivity beast.
2015—Acquired K95.
It all started around 2015 when I was getting into Minecraft modding in middle school, and wanted more keyboard buttons to assist with all the UIs and other stuff that mods added. Ironically, I could never figure out how to use the software back in the day, so I just gave up and didn't use the macro buttons.
2016—Acquired M65.
Still couldn't figure out how to use the buttons on both devices, nor could middle school me find the motivation to look into it.
2017–2018—The macro and efficiency obsession begins
The macro and keyboard shortcut obsession started around 2017-2018. At that point, Corsair had released CUE 2, a new version of their software which was much simpler and easier to use. I started poking around in it out of curiosity and realized how insanely powerful keyboard shortcuts could be when used like this. I had never used the extra side buttons and figured I would give it a shot. After I discovered how easy it was to setup macros, it very quickly grew from there.
I started analyzing, studying, and memorizing keyboard shortcuts for programs like Chrome, Firefox, Microsoft Office, VSCode, etc. I would write down the most useful ones, then assign them to my macro buttons, try them out, and adjust or remove them. I observed some common shortcuts that these programs seemed to share (Ctrl T, Ctrl W, Ctrl N, Ctrl Tab, Ctrl PgUp/PgDn etc.) and this observation would later form the basis of the actions I have assigned to my mouse.
May 29, 2019—Replace M65 with Scimitar Pro
This thing is actually unreal. It's so big and extremely comfortable. I use all 14 macro buttons on it every single day, and it has completely changed my life and daily computer workflow. I fly with this thing as soon as it enters my hand.
August 2019—The Discovery of AutoHotkey
Around this time I came across this video, which introduced me to not only AutoHotkey, but the concept of having a secondary keyboard for macros. After this, I started experimenting with and learning AutoHotkey. In those early days, it was just a few very basic and primitive scripts that, in hindsight, probably definitely took more time to make and use than they saved.
After messing around with AutoHotkey for a while, I got in contact with the legend himself, Taran Van Hemert, asking if I should convert as much of the iCUE stuff as possible to AutoHotkey, which would greatly expand the things I can automate. He sent a massive email response back with a ton of helpful info on how to I should go about it. I feel like I owe him a lot, because I don't think this repo would exist without his help.
His videos gave me a ton of ideas and inspiration for my scripts, like this video, which would eventually form the basis of my FnKeys
script. Also a shoutout to him and his excellent video on the Stream Deck, which eventually convinced me to get it.
Basically all of the ideas for the scripts came about organically, whether taking an idea from someone else, refining an idea from someone else, or just finding something annoying and/or repetitive that I want to automate away.
October 8, 2019—Created my first GitHub repo: the original AutoHotkey repo.
Around this time I also tried out having a secondary keyboard dedicated just to macro buttons (like in the aforementioned video), but that didn't last more than a few months. It just wasn't a good fit for me.
December 25, 2021—Acquired Elgato Stream Deck XL and began this repo. A good amount of stuff was copied from the old repo. Also moved away from using the macro buttons on the K95 in favor of Stream Deck XL.
AutoHotkey has completely changed my workflow and way of going about doing tasks on a computer. In addition to making my work easier, it has also helped me to learn and practice many important programming conventions and skills, such as DRY (Don't Repeat Yourself), KISS (Keep It Simple, Stupid), planning before programming, organizing code and making things modular, and how to use git and GitHub.
New scripts are not created, nor are existing scripts updated, nearly as much as they used to back when I was still in high school and college. At this point, I don't really come up with any ideas for AutoHotkey stuff. I've automated basically every annoying and/or repetitive thing under the sun. On the one hand, it's nice because I can use that time to focus on other projects, but it does also make me miss the old days of when I was in school and was coming up with the craziest AutoHotkey ideas, most of which would become my most useful scripts.
It's certainly not the best language from a design standpoint, but AutoHotkey is an invaluable tool that I can no longer live without. My macros and shortcuts are so deeply ingrained in my muscle memory, it's not only frightening, but also painful if I ever have to go without them. I think I terrify people with this repo.
This repo and PSS are my magnum opuses.