Every ~200ms the script scanned a small portion of the screen where the exit button might appear in and if the script found the button then it would close the dialogue box for me.
This was originally a program I wrote in C for my own use on my ThinkPads some 20 years ago. It turns various keys into mouse movements whenever a mouse button or the Caps Lock key is held down, so you can use the TrackPoint for coarse movement and then seamlessly move the mouse pointer pixel by pixel with the keyboard.
It's a bit like the MouseKeys that is built into Windows for keyboards with numeric pads, but designed for laptop keyboards that don't have that.
When I discovered AutoHotkey, I rewrote JKLmouse using it, and it made it so much better. The code was simpler, and I could make a change and reload the AHK script without having to reboot. I think it is a pretty nice example of some readable and maintainable AHK code.
You can find it here: https://www.jklmouse.com/
There is an installer, but I haven't kept it up to date. Instead I recommend installing AutoHotkey directly and getting jklmouse.ahk from GitHub and using it as an AHK script.
Now I have to see about updating the script to work with AutoHotkey V2!
#B::
Send %A_YYYY%-%A_MM%-%A_DD%
returnIf you have a stack of items, you can pick up half of them by right-clicking on it, which is very convenient when you're dividing out a stack on the crafting grid to make many copies of a recipe that needs that item in 2 or 4 slots; but for some recipes, you need to put the same item in 3 or 6 slots, and there's no built-in way to divide a stack into thirds.
So I made an AHK script that, when I held down a key, would
- pick up half of the items in the stack I'm pointing at (right-click) - move the mouse one inventory space to the right - put them down (left-click) - pick up half of them again - move back one inventory space left - put them down, adding them back to the original stack - and repeat
and it would only stop after one of the "pick up" steps; so, after a few iterations, you'd be left with the stack divided into equal thirds, two in your inventory & one on the mouse.
Eg, starting with a stack of 60, it goes 30/30, 45/15, 22/38, 41/19, 20/40, 40/20, 20/40, 40/20... then release the key, and you've got three stacks of 20.
Battlefield 2042 recently had an XP glitch where you could go into a server with BF3 settings, throw ammo to a teammate and get XP for the resupply. Naturally there were several servers dedicated to this with 128/128 players and everyone on one team all standing at one objective.
Rather than actually play the game to level up and get the weapons/gadgets I wanted or even play this accelerated XP mini game, I wrote an ahk script to automate the equipping and dropping of the ammo crate so that I could do other things.
I only had to let it run for a few hours before I was max level, and the 10 minutes of scripting gave me the benefit for something I wouldn’t otherwise subject myself to.
I created an AHK script that binds other, convenient key combinations to those characters. Now I can type them.
I've also used it to quickly enter lots of data into a native application that only supported adding one item at a time.