DARK SOULS™ II

DARK SOULS™ II

35 ratings
The Grandmace fix - get rid of the mouse input lag & improve control schema
By Mefator
How to fix input delays due to FROM Soft's decision to map multiple attack types on mouse buttons when there is a short delay for the game to detect if you are going to double click, this also makes guard breaks and jump attacks very unreliable and mapping already hard to land parry to double click is even worse. FROM Soft does not provide a way to change most of this in game setting without breaking other controls or it not working properly.

This fix takes care of this and makes mouse and keyboard very usable and in some ways even better than using a controller. Also one-button guard breaks, jump attacks and hotkeys for menus!
   
Award
Favorite
Favorited
Unfavorite
Installation
For this fix to work you'll need to download a program called AutoHotkey
  • Download Autohotkey[www.autohotkey.com]
  • Install it and open up the .exe.
  • A prompt to enter a script will appear. Click Yes. A .txt file will appear.
  • Delete everything in the .txt and replace it with my script
  • Also you can right-click on green AutoHotkey tray icon when it's running and click 'Edit this script' (don't forget to save) and then 'Reload this script' for the changes to take effect
Features after installation is complete and my script is loaded
Features
  • doesn't break menu controls
  • all controls are tested and should register in all states (took me a while to figure this out, my character didn't always attack in sprint recovery animation, etc.)

Right handed attacks
  • LMB - attack
  • RMB - strong attack

Left handed attacks
  • CapsLock or Mouse 5 - attack and parry
  • Shift or Mouse 4 - strong attack and block

Other attacks
  • 'r' or Ctrl+RMB - one-button jumping attacks
  • 'c' or Ctrl+LMB - one-button guard breaks

Utility
  • 'e' for interacting (because ENTER is too damn far)
  • 'q' for using items (drink dat estus, etc.)
  • use TAB key to toggle between one-handed and two-handed stances, also try holding it and see what happens. Doesn't break AltTabbing
  • move your mouse wheel to the left or right to change weapons in both hands, also you can use 'x' and 'v'
  • pres left Alt or middle mouse button to target lock

Menus
  • 1 for equipment menu
  • 2 for inventory menu
  • 3 for player status menu
  • 4 for message menu

Notes
  • this script was made with default DS II controls in mind, please reset your controls or be sure to adjust the script before using
  • press 'F1' to enable/disable the script
  • the script only works when DS II is running and has focus
Script 1 and Script 2, what's different
After a day of playing with this fix I found that it breaks bows a little if you use them in right hand. Script 2 fixes that but the trade-off is that mouse clicks no longer work in menus, you'll have to use Ctrl+Click. Also some people have reported that when they press right handed attack button their guy sometimes attacks with left hand weapon. Script 2 should fix this too.

Script 1
  • Menus work as intended, nothing changed
  • Bows in right hand are usable but not optimal
  • For some players may cause right handed attack button to trigger left handed attack sometimes

Script 2
  • You'll have to use Ctrl+Click in menus (remember, you can also press F1 to enable/disable the script so you could use this instead when you are in menus)
  • Bows work as intended
  • Should never cause right handed attack button to trigger left hand attack
  • You can no longer use jump attack and guard break with Ctrl+Click, pressing 'r' or 'c' still works
Script 1
#SingleInstance Force #MaxHotkeysPerInterval 99999 #IfWinActive ahk_class DarkSouls2 ; Hold to block with a shield in left hand LShift::Send {u down} LShift Up::Send {u up} ; Strong attack (left hand) / Parry CapsLock:: XButton1:: send {y down} CapsLock up:: XButton1 up:: send {y up} ; Attack (left hand) XButton2::send {u down} XButton2 up::send {u up} ; Boss key LAlt & Tab::AltTab ; Wield right weapon two-handed (hold for left weapon) Tab::n ; Attack (right hand) $LButton:: send {h down} send {LButton down} return $LButton up:: send {h up} send {LButton up} return ; Strong attack (right hand) $RButton:: send {g down} send {RButton down} return $RButton up:: send {g up} send {RButton up} return ; Equipment menu 1:: send {Escape down} sleep 30 send {Escape up} send {ENTER down} sleep 30 send {ENTER up} return ; Inventory menu 2:: send {Escape down} sleep 30 send {Escape up} send {right down} sleep 30 send {right up} send {ENTER down} sleep 30 send {ENTER up} return ; Player status menu 3:: send {Escape down} sleep 30 send {Escape up} send {right down} sleep 30 send {right up} send {right down} sleep 30 send {right up} send {ENTER down} sleep 30 send {ENTER up} return ; Message menu 4:: send {Escape down} sleep 30 send {Escape up} send {right down} sleep 30 send {right up} send {right down} sleep 30 send {right up} send {right down} sleep 30 send {right up} send {ENTER down} sleep 30 send {ENTER up} return ; Interact (open doors, speak to the NPCs) e::ENTER ; Use item (drink dat estus) q::e ; Guard break c:: ^LButton:: send {w down} send {h down} send {w up} send {h up} return ; Jump attack r:: ^RButton:: send {w down} send {g down} send {w up} send {g up} return ; Switch left weapon x:: WheelLeft:: send {left down} send {left up} return ; Switch right weapon v:: WheelRight:: send {right down} send {right up} return ; Target lock LAlt::MButton F1::Suspend
Script 2
#SingleInstance Force #MaxHotkeysPerInterval 99999 #IfWinActive ahk_class DarkSouls2 ; Hold to block with a shield in left hand LShift::Send {u down} LShift Up::Send {u up} ; Strong attack (left hand) / Parry CapsLock:: XButton1:: send {y down} CapsLock up:: XButton1 up:: send {y up} ; Attack (left hand) XButton2::send {u down} XButton2 up::send {u up} ; Boss key LAlt & Tab::AltTab ; Wield right weapon two-handed (hold for left weapon) Tab::n ; Attack (right hand) $LButton:: send {h down} return $LButton up:: send {h up} return ; Mouse controls in menus (use Ctl+Click) ^LButton:: send {LButton down} return ^LButton up:: send {LButton up} ^RButton:: send {RButton down} return ^RButton up:: send {RButton up} return ; Strong attack (right hand) $RButton:: send {g down} return $RButton up:: send {g up} return ; Equipment menu 1:: send {Escape down} sleep 30 send {Escape up} send {ENTER down} sleep 30 send {ENTER up} return ; Inventory menu 2:: send {Escape down} sleep 30 send {Escape up} send {right down} sleep 30 send {right up} send {ENTER down} sleep 30 send {ENTER up} return ; Player status menu 3:: send {Escape down} sleep 30 send {Escape up} send {right down} sleep 30 send {right up} send {right down} sleep 30 send {right up} send {ENTER down} sleep 30 send {ENTER up} return ; Message menu 4:: send {Escape down} sleep 30 send {Escape up} send {right down} sleep 30 send {right up} send {right down} sleep 30 send {right up} send {right down} sleep 30 send {right up} send {ENTER down} sleep 30 send {ENTER up} return ; Interact (open doors, speak to the NPCs) e::ENTER ; Use item (drink dat estus) q::e ; Guard break c:: send {w down} send {h down} send {w up} send {h up} return ; Jump attack r:: send {w down} send {g down} send {w up} send {g up} return ; Switch left weapon x:: WheelLeft:: send {left down} send {left up} return ; Switch right weapon v:: WheelRight:: send {right down} send {right up} return ; Target lock LAlt::MButton F1::Suspend
36 Comments
Mefator  [author] Jan 14, 2015 @ 12:53pm 
No problem, thank you for beeing awesome! Sounds like they added "disable double clicking" in some patch. I don't remember seeing it at release, for all I know it makes half of my stuff obsolete :)
Raolle Jan 14, 2015 @ 12:38pm 
I tested reseting the default settings and still the problem remains, but i found out that i can just remove the "right hand weapon" lines in the script and change the in game settings to "disable dubbe clicking". Works fine now. Now i dont have to worry about clicking to fast. Thank you for an otherwise awesome script, and thank you for your time. :)
Mefator  [author] Jan 14, 2015 @ 12:14pm 
Just tested this and it worked fine for me. Have you changed the default controlls maybe?
Mefator  [author] Jan 14, 2015 @ 6:16am 
Hey BobBertil, I'll look into it when I'm home in few hours
Raolle Jan 13, 2015 @ 1:21pm 
I have a problem with the first script, i used it for a while, and it worked fine, but now it seems to not work with the "in menu mouse". if i remove the lines in the script with the right hand attacks the "in menu mouse" works fine, but then i have the input lag on the right hand normal/strong attacks. Any ideas?
Mefator  [author] Oct 13, 2014 @ 10:36am 
?
Buddah Oct 13, 2014 @ 4:31am 
SOOOOO SLOW
Mefator  [author] May 21, 2014 @ 12:46pm 
adenbrazza, every block of keybinds in the script has a little comment about what it does, remove the ones that you don't like to use and you'll have default controls in its place
adenbrazza May 21, 2014 @ 1:23am 
I have no problem with anything but the input delay on the mouse, is it possible to keep my keybindings and only remove the input delay?
Salvation May 17, 2014 @ 4:13pm 
I've been having some odd issues with my left mouse attacks. This has been going on for a while, but I wasn't finding it problematic in PVE all that much. But it's crippling me quite a bit in PVP.

When I regularly attack with the left mouse, sometimes the input will think I pressed Caps Lock (or Mouse 5) to parry/left hand attack. I do not know why. But this has proven to cripple me many times when I fight with the Watcher Greatsword (the problem is not exclusive to this weapon, mind you. Just an example).

I'm in the middle of a combo, and suddenly, out of nowhere, I start applying magic to the sword and lose durability in the process, since that's what the sword's special ability does.

I'm not sure if this has been reported already. But I would appreciate some help, if any is possible. Thanks.