AutoHotkey help for Quadriplegic

Hey all!

I’m a quadriplegic with no control over my fingers. I can move my arms though so operating a keyboard and a trackpad is fine, but using a mouse doesn’t work for me. I’ve enjoyed playing games like Torchlight or Diablo by using AutoHotkey to make L-shift and Caps Lock work as left and right clicks respectively.

For some reason, Grim Dawn doesn’t recognize my AutoHotkey overrides. This would be fine if I could just bind right and left clicks to different keys, but for some reason it’s not in the list of options to bind to different keys.

I see this forum has come up with a lot of cool scripts to bind the mouseclicks to do special things, but I wasn’t able to find anyone with the problem I’m having. I was wondering if anyone knows why Grim Dawn might not honor my script? Here’s what it looks like

LShift::
Send {Click down}
keyWait, LShift
Send {Click up}
return

@tqFan Can you help?

1 Like

This indeed doesn’t work. Instead of fixing I’d like to recommend my program that’s meant to satisfy all needs players may have in any game, including yours.


 
Links
(thread / documentation) [Tool] GDAutocaster - autocasting, faster camera, hiding items on the ground and more!  
(download) https://github.com/kowariantny/GDAutocaster/raw/master/GDAutocaster.exe
(source) https://github.com/kowariantny/GDAutocaster


 
How to
make the program do what you want, I tested it:

  • holding down Left Shift holds down Left Mouse Button
  • holding down CapsLock holds down Right Mouse Button

You need a config file with .ini extension for example config.ini.
Then you need to run .exe and select the config file.
The following one does precisely what you want:

[general]
suspend_key=Tab

[combo holds]
combo1=LShift:LButton
delay1=0

combo2=CapsLock:RButton
delay2=0

 
Legend
(to this particular config)

  • suspend_key is optional but recommended

    • turns all the features on/off (should be on by default)

    • in this example it toggles these rebinds on/off

  • combo holds is one of the features of the program

    • responsible for pressing some buttons down while you press some other button down

    • delays are set to 0 for the buttons to be pressed down instantly

      • this is because if you’d like i.e. Aether Ray on LMB (which is not possible normally) pressed down from hotbar by the script, some positive delay is needed for it to work for some reason

      • and I may have set default delay to some positive value


 
What the program can also do

  • it only works in Grim Dawn by default which means your rebinds won’t work in Windows

  • you can configure it to work in some other game if you specify it

  • so far I don’t have an option for the program to work anywhere at once by I guess it can be added

    • if you’d like these rebinds to work in Windows or something
  • it can autocast skills like Pneumatic Burst / Blood of Dreeg so that you don’t have to repeatedly press the button

  • it can turn piano builds into 1 - 3 buttons builds, for example by just pressing down 1 button you can:

    • cast 2 debuffs

    • then Inquisitor Seal under your feet

    • then your multiple spamming on cooldown attacks autocasting or channeling attack start with a delay

      • again, this all with just 1 button!
  • automatic hiding of items on the ground while you fight

  • also clicks at specific point of the screen by pressing a button

    • this is for showing / hiding quest list without moving the mouse
  • and MOAR! (:zantai: style)


 
Others

  • remeber to not have Stationary attack bound to shift in-game in keybindings
    because then you’ll attack in-place instead of moving while you hold Shift

  • if you really insist I can help you make your personal scripts work but again I recommend my program as it has many useful features, I can help you configure everything and even implement more features if needed. It’s meant to be general enough so that nobody has to write scripts for games ever again. It’s main feature is reducing number of buttons needed. I have builds that normally use like 10 buttons for active skills and can squeeze it to literally 3 buttons. It also allows you to enjoy the views, look at the monsters instead of constantly starting at the cooldowns.


 
Bonus
How to make the stupid Capslock diode not light up when you’re holding Capslock
(the added last line does it)

[I mean not change its state so if the diode is on at start in-game you need to Suspend (Tab), then Caps, then Suspend (Tab) again or just turn the diode off in Windows before entering the game]

[general]
suspend_key=Tab

[combo holds]
combo1=LShift:LButton
delay1=0

combo2=CapsLock:RButton
delay2=0
key_native_function2=false
2 Likes

Awesome answer! I’ll be sure to try it out! Having not actually played the game yet I can’t relate to if I’ll even use the other abilities or playstyles, but I’ll keep in mind this has more features as I get deeper haha.

I am a software developer by the way. I’m definitely not tied to using AutoHotkeyy specifically, and your tool seems to have an easy enough syntax to play with. But out of curiosity at a high level do you know why Grim Dawn ignores my AutoHotkey while every other game honors it? I suspect this won’t be the last time I encounter such a problem (although it sounds like if I do, your tool might be my solution then too :slight_smile: )

Use my hack that I used in the past (now I use a different one - I restart the program completely 3s after it detects Grim Dawn):
Press Tab two times in-game and voila, your rebinds are now working :wink:
Don’t ask me why it works - I don’t know, discovered it by accident.

LShift::
Send {Click down}
keyWait, LShift
Send {Click up}
return

Tab::Suspend

And btw recommend not using keyWait / Sleep in your program as they seem to be a bit blocking / negatively impacting performance of the program. In this case you can rewrite it like this to avoid it.

LShift::
Send {Click down}
return

LShift UP::
Send {Click up}
return

Tab::Suspend