Elden Ring Autohotkey Overhaul for Ergonomic keyboard layout and multi-button mouse
Extends Gooru’s Auto-Belt, Auto-Pouch, Auto-Gestures Script adding spell support, attack combos and ergonomic keyboard layout.
Version 0.5.1b – Added more Configuration options and auto-spell hand toggling.
You can now assign which spell-hand a spell is assigned to if you have incantation on the left, sorcery on the right use the config menu and use the key assigned to left (guard) and right(attack). I noticed it won’t switch spell hand if you are out of FP and the annoying slow head-scratch animation plays. Sometimes these animations block key-input so they can put tracking out of alignment as this app doesn’t read information from the game only sends keys.
Auto-Lock also has menu configuration. You can assign only specific spell slots and belt slots to use the auto-lock feature. It also can be affected by timing issues with animations but for the most part it’s a great opener or finisher in fights for a quick throw.
Known Issues:
Still working to improve the toggling of the spell/belt without having to reset each time but there is one problem… the D-Pad GUI has different timing on certain use-cases that can cause the apps ‘guess-work’ of is the gui open or not to send the first click (to open the gui) the second click to start to toggle to spell/belt.
I’ve reduced a lot of failures for many of the use-cases that I’ve encountered, but there are still some remaining with spells and auto-lock keeping the gui open longer than the ‘guess-work’ tracks causing the next slot-toggle to step 2 instead of 1 but I’ll try to get more bug testing out now that I can’t think of any more useful features for this mod.
Version 0.5 – Largest changes yet.
– KeyBinding GUI added will save changes to settings.ini which you can back-up and copy-over on new releases.
Will launch when you first compile and run the app. To open it while in-game use CTRL-ALT-SHIFT-A
– Debugging GUI added. Use CTRL-ALT-SHIFT-D to open or close.
– Can toggle on/off HotKeys wit CTRL-ALT-SHIFT-Q when accessing MAP/MENU so keys used in those interfaces work.
– Added an Auto-Lock feature for spells and belt which you can enable/disable in hotKeyMetaData.ahk (recompile needed).
– On a quick use press, auto-lock will turn off ie target, throw a dagger then time-out and release the lock for next target.
– Double-key-press should lock this feature keeping the lock on for repeat use actions.
– Tab (or what ever you bind to lock on) will reset Auto-Lock the game turns it off.
– Fixed timing issues on all the combo features much more reliable than previous versions.
– Always reset your BELT and SPELL before first use so it can track what belt/spell slot it is on.
– If it goes off sync, just reset the BELT/SPELL. Stil improving this but linked to D-Pad GUI being opened or closed and timing.
– Added a userDefinedHotKeys.ahk for any of your custom key-bindings outside the app. (Recompile needed after changes)
Now that we are in more of a development framework for the project you will have to use the ‘compile’ option instead of running the script which is going to resolve a lot of performance issues, input lag, and other problems.
AutoHotKey will compile the source files.
Compiling Instructions after AutoHotKey v1.133 is installed (if not already).
You need to right-click on the EldenRingHK.ahk file located in the /src/EldenRingHK.ahk and this will produce an EldenRingHK.exe
** It is recommended to rename this to something that doesn’t have the game name in it for ACE reasons. **
Prior Release Notes:
Bug Fixes:
– Fixed several timing issues causing slot position to fail.
– Can still trigger if spamming spell/belt slots outside of iframes but seems solid when not spamming keys.
– We reset the slot position on the SpellSlot1 or BeltSlot1 noticing much more stable indexing.
– If you still go out of sync with the spell slot / belt slot just reset using the non-use version of
the first slots. Default: Shift-1 for spell, Shift-F1 for belt.
Features:
– Added an auto-run feature (very nice)
Can toggle off auto-run just by holding down shift
– Can now toggle which hand can cast spells with auto-cast
– Can set the active number of spell slots in-game.
– Can set the active number of belt slots in-game.
– Added Assign Belt slots that do not activate on use.
– Added Assign Spell slots that do not activate on use.
– Added Jump+Dual Weild attack combo
– Added 4K support for Gestures – will require switching 1080p values just scroll to gestures it will have those values to replace 4k.
Auto-spell support for all 10 spell slots.
Attack Combos:
- Parry+Light Attack
- Crouch+Light Attack
- Jump+Light Attack
- jump+Heavy Attack
This is based on an ergonomic setup focusing on priority key layout for the left hand to prevent fingers from leaving the ASDF/QWER/ZXCV range putting movement on the mouse if the mouse supports side buttons.
Here is the original unmodded script created by Gooru full credit to his auto-pouch/auto-belt and AH framework to get my keyboard/mouse setup working flawlessly.
How To Use:
Unless you follow my personal keybindings 100% in the keybinding and mouse the script will need to have keybindings changed to fit your custom layout. I included an excel sheet that shows how I approach ergonomic keyboard bindings and how I set priority on certain keys for quick actions. Many people still use AWSD which I find cramps my hands. That’s fine, you can use the in-game GUI to set your bindings. The GAME menu must match your Elden Ring in-game keybindings the rest are all references and app features using those bindings. Change the key associations to those actions to fit your needs.
There are a few custom settings in the userDefinedHotKeys.ahk file which will let you place any of your custom hotkeys there or comment the 3 I have there if C for Crouch or M for Map is not your thing. That just shows some of the ways you can customize this app outside the config options. Just try not to conflict with the settings you did in the in-game configuration GUI.
You can now disable the hotkeys using CTRL-ALT-SHIFT-Q when accessing menus and maps. This isn’t automatic as some other features use the ESC like the gestures. I put the gestures on the Numpad but you may need to adjust the mouse x-y positions manually as I have it set to 4K see: Libraries\Commands\Gestures.ahk to change. I’ll hopefully have in-game editing for this in later versions so manual for now with recompile if needed.
If you are new to ergonomic keyboard layouts the focus is to keep the left hand in a restful ASDF position for typing. This gives you three key rows before the hand has to move from that area to reach other keys. The primary action keys fall in the QWER/ASDF/ZXCV key rows before you need to start to stretch a finger or leave placement. Keys outside of that zone I consider to be low-action keys for outside of combat gameplay or regularly used actions.
I prefer movement keys bound to the mouse so it frees the left hand during gameplay so I can drink my beer and still move/attack.
AutoHotKey is a requirement. Once you set up your keybindings and configure the script and have AutoHotKey installed, you will need to right-click on the file and ‘Run Script’ to enable it. It will let you know that it’s running. Make sure to exit the script when leaving the game. CTRL-ALT-X or it will mess up typing.
It’s best not to use any of the auto slot features while in an inventory menu etc. It can cause problems as it’s simply emulating button presses which could lead to discarding an item or other.
I spent quite some time trying to eliminate any conflicting arrangements to avoid things like accidentally dismounting torrent, or hitting a wrong action causing a flask to drink. I find controller issues cause this too frequently for my gameplay and now that it’s keyboard/mouse in this arrangement I simply cannot dismount torrent accidentally when in combat and accidentally hitting a flask is far less likely.
It may take a bit of tinkering and editing to fit your playstyle so this is not an out-of-the-box configuration-free script as everyone’s keyboard/mouse preferences are different. Changing these associations and editing the script to fit your needs is required to fit your style of keybindings.
This is for version 1 of Autohotkey which you can download here.
https://www.autohotkey.com/
Here is the original unmodded script created by Gooru full credit to his auto-pouch/auto-belt and AH framework to get my keyboard/mouse setup working flawlessly.
Here is a great guide for getting AHK to work with Games.
https://www.autohotkey.com/board/topic/111737-how-to-make-ahk-work-in-most-games-the-basics/
Happy Ergonomic Gameplay!