7
votes

I am a newbie to Autohotkey, and I can't figure this out despite reading through this site and the official documentation.

I just want to have certain hotkeys work only with certain applications. So for example, if I press spacebar in a certain game I want it to send ` (grave), but if I'm not in that game I want spacebar to function normally. Everything I try seems to make spacebar do nothing when I'm not in game. I can try using an "else" statement to send the spacebar, but that just seems to make an infinite loop. Help!

EDIT: Thank you NbdNnm. Here's exactly what ended up working for me:

#IfWinActive League of Legends (TM) Client
Space:: `
#IfWinActive

1
You should be able to change the code to just #IfWinActive League of Legends. The default Title Match mode does not require full match so the (TM) Client may be a liability if they add the build number to the title, say League of Legends (TM) v1.001 ClientNelson

1 Answers

8
votes

Try this and make sure you have the latest version of AutoHotkey. Put the application process name in the strYourAppExeName variable and put your hotkey definitions in the #if block.

strYourAppExeName := "notepad.exe"
strYourMessage := "``(grave)"

#If WinActive("ahk_exe " strYourAppExeName)
    Space::SendInput, % strYourMessage
#if