Fix for Hold Position + Force Move (autohotkey)

Hold Position + Force Move is a bug that was known as far back as almost a month now, here’s how you can fix it:

Assuming:

  • Your Force Move is LMB
  • Your Hold Position is Left Shift (and it’s configured to Hold, not Toggle in D4 settings)
  • Your skill of choice, for example Flurry, is bound to Q

You can hold down LMB to run around, while activating your skill at any time and it will:

  1. Stop your movement, if you were moving (release LMB)
  2. Hold down Left Shift
  3. Press Q
  4. Release Left Shift
  5. Hold down LMB if it was down at the beginning

So far works for me, let me know if there are problems.

Script

#IfWinActive, ahk_exe Diablo IV.exe

q::
  LMB_Down := GetKeyState("LButton", "P")
  if LMB_Down {
    send {LButton up}
  }
  send {LShift down}
  send {q}
  send {LShift up}
  if LMB_Down {
    send {LButton down}
  }
return

How to install / tweak

  1. Create a d4.ahk file, copy/paste the script into it
  2. Install Autohotkey if you haven’t already
  3. Run the script from Windows, it’ll automatically run it via Autohotkey

You can change Q to any other key, like 1.

You can copy/paste the block that starts with q:: and ends with return and replace the Q key name with other keys, to set the same logic up for multiple keys simultaneously. Although I expect it to be glitchy if you’re then pressing these keys at the same time - the Shift/LMB logic will work in parallel, which I’m sure will screw things up.