AHK is one of the apps which locks me into using Windows. I use it to add characters like äöüß and áóúñ to my keyboard, to control the light level in the room and apartment, add timestamps like `08:39 –`, `2023-08-22 08:39:46` or 2023-08-22 — Tuesday` with the press of one/two buttons, shut down/turn on the power to my monitors with a Tasmota enabled power outlet when toggling the pause key and some other stuff.
I only wish it had the capability to use a second keyboard as a button surface to trigger stuff while eating up those key presses, so I'm resorting to a small bluetooth keyboard connected to a raspberry pi zero in order to get more buttons.
It’s interesting seeing people in this thread complaining that AHK keeps them tied to windows, I feel the same about Keyboard Maestro on my Macs.
I switched to a 90% Windows environment at my new job. Gave Windows + AHK a shot to potentially reduce headaches when IT issues would pop up.
I couldn’t do it. AHK’s syntax is ridiculous, and whenever I would try to download and trial scripts I had to infer if it was v1 or v2. I switched back to the Mac with KM and am much happier for it.
If it's worth the money you could look for a cheapish keyboard with support for QMK or any other custom firmware and map some buttons to either F13-F24 or hard to trigger combos like ctrl-alt-shift-P or the like.
I wanted to comment this (Tom Scott used it to map buttons across 15 keyboards to unique emojis on a single computer) but it looks like as of March 2023, Luamacros has been abandoned :(
> Let's officially state what has been a reality for the last several years. I don't use Hidmacros/Luamacros any more and have no interest in improving it or even fixing existing bugs. I invest my personal time in other things which are more interesting for me now. So please don't expect any support from my side. I'm also removing all donation buttons.
With AutoHotInterception AHK can differ between different keyboards/mice based on their hardware-id. You can have a separate keyboard with it's own layout, macros, etc.
i switched to linux a few years and it was really tough losing the 5 years of ahk scripts i had built up, but windows was annoying me that much that i had to switch.
you need multiple programs on linux to do something similar to ahk and nothing ive tried has come close to how simple ahk is or how you can make complex key mappings with it.
i have got into python though and have been able to do some fun stuff with that so there's that at least
In Windows, everything is part of the operating system. You just set the window flags, you just beep the audio, you just send WM_CLOSE, you just disable MouseKeys. In Linux, everything is a specific program, with a name, and with commonly used alternatives. Your program to move a window to a particular location must be compatible with the program for having windows at all (X or Wayland), the program for laying windows out (dwm? KWin?), and probably the program for the desktop (GNOME? KDE?). The net effect is one where a user is probably able to write their own AHK-style scripts, but sharing them around is basically impossible, and figuring out what to do is much harder due to navigating a forest of tool-specific documentation.
25-key MIDI controller? There are a few people who have gotten AHK to send/receive MIDI, and you can pick up a cheap B-stock controller for far less than a mechanical keyboard.
I have a Preonic keyboard running QMK[1] and have a dedicated MIDI layer so I can still use it as a regular keyboard if I want to. I then use dannywarren/AutoHotkey-Midi[2] to listen for hotkeys.
This has been way more reliable for me than listening for trying to use hotkeys like Ctrl-Alt-F13 or things like that, as they'll never conflict with something I might be in the process of typing. The only catch with that is if you want to use AHK to send keystrokes to a process running in elevated access, you'd need to start your AHK script as Administrator. That hasn't had an impact on me, though.
I only wish it had the capability to use a second keyboard as a button surface to trigger stuff while eating up those key presses, so I'm resorting to a small bluetooth keyboard connected to a raspberry pi zero in order to get more buttons.