About this mod
16 different hotkeys for all 16 available spell slots.
A very simple AHK script that lets you cast all 4 rows of your spell sets with one button instead of spell set button + 1/2/3/4.
- Requirements
- Permissions and credits
- Changelogs
Normally you have to press F2(or cycle up/down) then 1 to cast Spell 1 in your Spell Set 2 and then you have to press F1 then 1 to cast Spell 1
in your Spell Set 1 again.
This script makes it so you can just press ` to cast Spell 1 in your Spell Set 2 and press 1 to cast Spell 1
in your Spell Set 1 without ever pressing F1 or F2 or cycling up and
down with your scroll wheel.
Instead of two keypresses it is now condensed into one keypress.
Rebind Revelio and the Spell Selection keys in-game, and it also requires 2 extra mouse buttons but you can rebind them all to something else if you want.
Changes:
1 = F1+1
2 = F1+2
3 = F1+3
4 = F1+4
` = F2+1
5 = F2+2
6 = F2+3
7 = F2+4
R = F3+1
T = F3+2
Extra Mouse Button 1(Back) = F3+3
Extra Mouse Button 2(Forward) = F3+4
F1 = F4+1
F2 = F4+2
F3 = F4+3
F4 = F4+4
To rebind:
Install AHK, I use v1 not v2.
Edit/open the .ahk script with notepad
*1:: ; this is the key that you will press, for this instance this is a macro to cast your first spell in spell set 1
Send, {F1} ; spell set 1 key
Sleep, 10 ; 10 millisecond delay before pressing {1}
Send, {1} ; cast spell 1 key
return
Key ListKey Names
For AZERTY or any other keyboard layout you have to use the scan codes:
² = ` = SC029
& = 1 = SC002
é = 2 = SC003
" = 3 = SC004
' = 4 = SC005
( = 5 = SC006
- = 6 = SC007
è = 7 = SC008
Example Spell Layouts
My current personal layout:
Color coded spell sets:
Demo:
Full Script
#IfWinActive ahk_exe HogwartsLegacy.exe
*1::
Send, {F1}
Sleep, 10
Send, {1}
return
*2::
Send, {F1}
Sleep, 10
Send, {2}
return
*3::
Send, {F1}
Sleep, 10
Send, {3}
return
*4::
Send, {F1}
Sleep, 10
Send, {4}
return
*`::
Send, {F2}
Sleep, 10
Send, {1}
return
*5::
Send, {F2}
Sleep, 10
Send, {2}
return
*6::
Send, {F2}
Sleep, 10
Send, {3}
return
*7::
Send, {F2}
Sleep, 10
Send, {4}
return
*R::
Send, {F3}
Sleep, 10
Send, {1}
return
*T::
Send, {F3}
Sleep, 10
Send, {2}
return
*XButton1::
Send, {F3}
Sleep, 10
Send, {3}
return
*XButton2::
Send, {F3}
Sleep, 10
Send, {4}
return
*F1::
Send, {F4}
Sleep, 10
Send, {1}
return
*F2::
Send, {F4}
Sleep, 10
Send, {2}
return
*F3::
Send, {F4}
Sleep, 10
Send, {3}
return
*F4::
Send, {F4}
Sleep, 10
Send, {4}
return
For other keyboard layouts:
#IfWinActive ahk_exe HogwartsLegacy.exe
*SC002::
Send, {F1}
Sleep, 10
Send, {SC002}
return
*SC003::
Send, {F1}
Sleep, 10
Send, {SC003}
return
*SC004::
Send, {F1}
Sleep, 10
Send, {SC004}
return
*SC005::
Send, {F1}
Sleep, 10
Send, {SC005}
return
*SC029::
Send, {F2}
Sleep, 10
Send, {SC002}
return
*SC006::
Send, {F2}
Sleep, 10
Send, {SC003}
return
*SC007::
Send, {F2}
Sleep, 10
Send, {SC004}
return
*SC008::
Send, {F2}
Sleep, 10
Send, {SC005}
return
*R::
Send, {F3}
Sleep, 10
Send, {SC002}
return
*T::
Send, {F3}
Sleep, 10
Send, {SC003}
return
*XButton1::
Send, {F3}
Sleep, 10
Send, {SC004}
return
*XButton2::
Send, {F3}
Sleep, 10
Send, {SC005}
return
*F1::
Send, {F4}
Sleep, 10
Send, {SC002}
return
*F2::
Send, {F4}
Sleep, 10
Send, {SC003}
return
*F3::
Send, {F4}
Sleep, 10
Send, {SC004}
return
*F4::
Send, {F4}
Sleep, 10
Send, {SC005}
return
Multi-Monitor QWERTY:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
SetTimer, KeepRunning
return
KeepRunning:
WinGet, szProcessName, ProcessName, A ; Get the process name of the active window
if szProcessName = HogwartsLegacy.exe ; if GAMENAME is running hotkeys enabled note this is the runnung exe, not the launcher/wrapper that may be used to start it (The exe Taskmanager showas when games fully Running)
{
Suspend, off
*1::
Send, {F1}
Sleep, 10
Send, {1}
return
*2::
Send, {F1}
Sleep, 10
Send, {2}
return
*3::
Send, {F1}
Sleep, 10
Send, {3}
return
*4::
Send, {F1}
Sleep, 10
Send, {4}
return
*`::
Send, {F2}
Sleep, 10
Send, {1}
return
*5::
Send, {F2}
Sleep, 10
Send, {2}
return
*6::
Send, {F2}
Sleep, 10
Send, {3}
return
*7::
Send, {F2}
Sleep, 10
Send, {4}
return
*R::
Send, {F3}
Sleep, 10
Send, {1}
return
*T::
Send, {F3}
Sleep, 10
Send, {2}
return
*XButton1::
Send, {F3}
Sleep, 10
Send, {3}
return
*XButton2::
Send, {F3}
Sleep, 10
Send, {4}
return
*F1::
Send, {F4}
Sleep, 10
Send, {1}
return
*F2::
Send, {F4}
Sleep, 10
Send, {2}
return
*F3::
Send, {F4}
Sleep, 10
Send, {3}
return
*F4::
Send, {F4}
Sleep, 10
Send, {4}
return
}
else
{
Suspend, on ; Suspend Script if GAMENAME is not the active Window
}
return
Multi-Monitor Other Keyboard Layouts:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
SetTimer, KeepRunning
return
KeepRunning:
WinGet, szProcessName, ProcessName, A ; Get the process name of the active window
if szProcessName = HogwartsLegacy.exe ; if GAMENAME is running hotkeys enabled note this is the runnung exe, not the launcher/wrapper that may be used to start it (The exe Taskmanager showas when games fully Running)
{
Suspend, off
*SC002::
Send, {F1}
Sleep, 10
Send, {SC002}
return
*SC003::
Send, {F1}
Sleep, 10
Send, {SC003}
return
*SC004::
Send, {F1}
Sleep, 10
Send, {SC004}
return
*SC005::
Send, {F1}
Sleep, 10
Send, {SC005}
return
*SC029::
Send, {F2}
Sleep, 10
Send, {SC002}
return
*SC006::
Send, {F2}
Sleep, 10
Send, {SC003}
return
*SC007::
Send, {F2}
Sleep, 10
Send, {SC004}
return
*SC008::
Send, {F2}
Sleep, 10
Send, {SC005}
return
*R::
Send, {F3}
Sleep, 10
Send, {SC002}
return
*T::
Send, {F3}
Sleep, 10
Send, {SC003}
return
*XButton1::
Send, {F3}
Sleep, 10
Send, {SC004}
return
*XButton2::
Send, {F3}
Sleep, 10
Send, {SC005}
return
*F1::
Send, {F4}
Sleep, 10
Send, {SC002}
return
*F2::
Send, {F4}
Sleep, 10
Send, {SC003}
return
*F3::
Send, {F4}
Sleep, 10
Send, {SC004}
return
*F4::
Send, {F4}
Sleep, 10
Send, {SC005}
return
}
else
{
Suspend, on ; Suspend Script if GAMENAME is not the active Window
}
return