Update: Look for final "solution" without using AutoHotkey on page 2,
here.
I really like having as many different skills available for me to use at a moments notice, with minimal fussing or rearranging the skill bar. I use ESDF instead of WASD so that I can map all the surrounding keys to spells and commonly used functions. WRTGV, along with a 5 button mouse, gives me all 10 slots within easy reach, but there are many, many more useful abilities than that!
The addition of the new skill bindings gives me the opportunity to have another 20+ skills, but does not give me either more keys or larger hands
Using Shift and Alt, along with the mouse keys allows me to bind 15 abilities to my mouse, which is really useful. I have Wooden Platforms on middle click, and crates on Shift-middle click. Energy Slice on button-4, Energy Orb on Alt-button-4, you get the idea.
This allows me to have very similar spells on the same physical button while using the modifiers to change what they do on the fly based on the situation.
You cannot bind these modifier keys in the configuration options as anything but direct inputs, so to set this up I used
Auto Hotkey along with binding the extra skill bars to the number-pad. I have attached the script to this post along with showing it.
This script binds the WRTGV keys with shift, and the 5 mouse buttons with both shift and alt modifiers. If you want to change how this works, it is fairly simple to modify. The !^+ symbols represent Alt, Control and Shift
! Alt
^ Control
+ Shift
The Left, Right and Middle mouse buttons are used just as regular keys, and the XButton1 and 2 refer to mouse buttons 4 and 5.
The standard remapping syntax for keys in Auto Hotkey is to just use the :: operator, but there are problems involving Unity, losing focus, and the modifier keys getting stuck. So I used a dual mapping of the up and down states for the keys. That seems to keep them from getting stuck. It still happens rarely, but you just need to hit the corresponding numpad key to stop it.
As you are editing, make sure you edit both lines for each remapping. For a full list of available keys, see
here#IfWinActive, ahk_class UnityWndClass
;Ability 11
+LButton::Send {Numpad1 Down}
+LButton Up::Send {Numpad1 Up}
;Ability 12
+RButton::Send {Numpad2 Down}
+RButton Up::Send {Numpad2 Up}
;Ability 13
+MButton::Send {Numpad3 Down}
+MButton Up::Send {Numpad3 Up}
;Ability 14
+XButton1::Send {Numpad4 Down}
+XButton1 Up::Send {Numpad4 Up}
;Ability 15
+XButton2::Send {Numpad5 Down}
+XButton2 Up::Send {Numpad5 Up}
;Ability 21
!LButton::Send {Numpad6 Down}
!LButton Up::Send {Numpad6 Up}
;Ability 22
!RButton::Send {Numpad7 Down}
!RButton Up::Send {Numpad7 Up}
;Ability 23
!MButton::Send {Numpad8 Down}
!MButton Up::Send {Numpad8 Up}
;Ability 24
!XButton1::Send {Numpad9 Down}
!XButton1 Up::Send {Numpad9 Up}
;Ability 25
!XButton2::Send {Numpad0 Down}
!XButton2 Up::Send {Numpad0 Up}
;Ablitiy 16
+w::Send {NumpadDiv Down}
+w Up::Send {NumpadDiv Up}
;Ablitiy 17
+r::Send {NumpadMult Down}
+r Up::Send {NumpadMult Up}
;Ablitiy 18
+t::Send {NumpadSub Down}
+t Up::Send {NumpadSub Up}
;Ablitiy 19
+g::Send {NumpadAdd Down}
+g Up::Send {NumpadAdd Up}
;Ablitiy 20
+v::Send {NumpadDot Down}
+v Up::Send {NumpadDot Up}
;Ablitiy 26
+w::Send {6 Down}
+w Up::Send {6 Up}
;Ablitiy 27
+r::Send {7 Down}
+r Up::Send {7 Up}
;Ablitiy 28
+t::Send {8 Down}
+t Up::Send {8 Up}
;Ablitiy 29
+g::Send {9 Down}
+g Up::Send {9 Up}
;Ablitiy 30
+v::Send {0 Down}
+v Up::Send {0 Up}