DonationCoder.com Software > Coding Snacks
Arma Million Mile Walk Abation and Strain Prevention Software (AMMWASPS)
(1/1)
doctorfrog:
My friends play Arma. I hate Arma, but I like my friends. The thing that I do most in Arma, more than anything else, is hold down the 'W' key. I hold it down, and then I hold it down some more. Sometimes I tap it, but mostly I hold it down.
This is because Arma's world is big, and 'W' is 'move forward.' There are other keys that I sometimes hold down, like 'Shift' or 'Q'. Sometimes there are vehicles. This means holding down 'W' and 'Shift' at the same time.
I have RSI. I don't need this.
I'd like a coding snack that will allow me to define a hotkey combination (such as CTRL+SHIFT+W) that will simulate holding W down, or any other key for that matter. It could be either a toggle for the 'stickiness' of the key in question, or just a toggle for 'hold down' 'don't hold down.' Either is fine.
I'd be fine using an AHK script for this, as long as I can use it for at least three custom keys, or just a plain old simple program with a functional GUI. Either way, my wrist, shoulder, and fingers all thank you!
I haven't been back here in some time, and it's good to see that my Donation Credits are still active. This has always been a great community for software chat, maybe I'll hang out a little while again.
doctorfrog:
:(
I'm also currently playing Startopia (every five years it somehow calls me) and holding down CTRL + WASD isn't fun for my poor left hand. Any scripters up to the challenge?
I don't even need a shortcut to turn toggling on. Just having a working, customizable AHK script that lets me define a key that is "sticky" and holds itself down until pressed again would work. I could start the script when playing the game, and stop it when I'm done.
4wd:
OK, I might look at this - I'm thinking something along the lines of Joint Operations, (still my favourite FPS).
It had the Scroll Lock key mapped to always run forward ... hit it and you start running until you hit it again or hit one of the WASD keys. You could do anything else while it was active: shoot, go prone, crouch, lean/tumble left/right all while running forward, until you cancelled it.
Considering that JO was one of, if not the, first FPS with a rather massive playing area it came in very handy when you had to respawn and then run seemingly 20 kms to get to the action, (you could go make a cuppa :) ).
This'll probably involve hooking into the keyboard to monitor key presses, it shouldn't impact anything as everything bar the keys I want should be passed through ... but who knows with games.
It'd be in AutoIt and I'll probably make it so you can store settings in an .ini file, (possibly a section per game, so you can start it off with a parameter, eg. MarathonMan Arma).
doctorfrog:
I'd appreciate it! Yes, that's roughly what I'm looking for, and with some customizability as to which key is being toggled, and what key combination toggles the toggling (if you're putting that in). One thing to note is that I am using an Apple Wireless keyboard (on Windows 7) that lacks a scroll lock, if you were aiming at that. I won't go into a big thing about why I've chosen this edge case of a peripheral, suffice to say it's one I'm sticking with and find it worth keeping in spite of the half a dozen workarounds needed to make it work the way I like.
And thanks! I'll be monitoring this thread.
4wd:
Just a couple of notes on this while I think of it:
* Because it's a program separate from the game, you won't be able to cancel the action using the key that's supposedly being sent, eg. if it's sending W to make you run all the time, you can't hit W to get it to cancel - although it could cancel when you hit the A, S, or D keys.
* I have to debounce keypresses by putting in a small delay but this only occurs when you hit the toggle key, I'll make it configurable - currently I have it at 200ms.
Of bigger concern would be:
Some game environments, (eg. Steam, WoW, etc), consider that automation of actions is "not nice", (regardless of reasons), and people have been banned from online based games for doing so.
Therefore I'll try and set it at the default typematic rate of ~11 cps, ie. one character every ~90ms, in theory it makes it the same as you holding down the key and your keyboard auto-repeating.
Keyboard hook, toggling and sending of keys is easy - hard part's the GUI surrounding the definition of keys to use.
Navigation
[0] Message Index
Go to full version