masky007 Profile Joined December 2015 15 Posts Last Edited: 2016-04-15 23:31:54 #1 with any keyboard.

Starcraft 2 let's you rebind almost any key in the hotkey setup, but not every key. For example you can't change modifiers like Shift or Ctrl etc. So basically, you can't change that in Starcraft 2 alone, unless you have expensive keyboard or you use 3rd party software, and sometimes you want to do it...





You will need 3rd party software called AutoHotkey .

(some of you may already know about this software, and how to use it - great stop reading, you will find nothing new here i believe.)

AutoHotkey - Download link (click)

How to install



Short tutorial how to create a simple script:

+ Show Spoiler +

2. Find "New" in the menu.

3. Click "AutoHotkey Script" inside the "New" menu.

4. Give the script a new name. Note: It must end with a .ahk extension. Ex. MyScript.ahk

5. Find the newly created file on your desktop and Right-Click it.

6. Click "Edit Script".

7. A window should have popped up, probably Notepad. If so, SUCCESS!

8. Remove the line

SendMode Input ; Recommended for new scripts due to its superior speed and reliability.

(because it can cause the ctrl to get stucked on certain machines)

9. At the end of the script add these two lines of code after the text:



LCtrl::LShift

Return

This makes the LCtrl to act as a LShift. If you want to change any other key first you type the key you want to change add "::" and type the desired key to remap it.



9. Save the changes

10. Run the script. (icon of AutoHotkey would appear in your system try that the script is running. You can right click to pause, reload or exit etc. As long as the script is running keyboard will be affected by your script, unless you pause or close the script.

You can do crazy stuff with AutoHotkey, so If you want to learn more about scripting follow the detailed help file of AutoHotkey.

1. Right-Click on your desktop.2. Find "New" in the menu.3. Click "AutoHotkey Script" inside the "New" menu.4. Give the script a new name. Note: It must end with a .ahk extension. Ex. MyScript.ahk5. Find the newly created file on your desktop and Right-Click it.6. Click "Edit Script".7. A window should have popped up, probably Notepad. If so, SUCCESS!8. Remove the line9. At the end of the script add these two lines of code after the text:9. Save the changes10. Run the script. (icon of AutoHotkey would appear in your system try that the script is running. You can right click to pause, reload or exit etc. As long as the script is running keyboard will be affected by your script, unless you pause or close the script.You can do crazy stuff with AutoHotkey, so If you want to learn more about scripting follow the detailed help file of AutoHotkey.



My script for egg-hotkeying and selecting (remapped LShift with LCtrl):

+ Show Spoiler +

I have added 1 more line of code that makes the script active, only when the Starcraft 2 window is active, so i can use my keyboard normally when i am not playing Starcraft.

I have also added a shortcut of my script in the Windows Startup folder, so my script runs when i turn on my computer.

If you don't know how to put the script in the startup folder:

+ Show Spoiler + 1. Press the windows key on your keyboard

2. In the search bar type "run" (without the quotes) and press "Enter"

3. In there type in "shell:startup" (without the quotes) and press "Enter". This will open a folder for you (this is the Windows startup folder) create a shortcut from your script there, or simply put the script there.

Now whenever you start your PC the script will be active (but also only when you are playing SC2. You can download it from here I have added 1 more line of code that makes the script active, only when the Starcraft 2 window is active, so i can use my keyboard normally when i am not playing Starcraft.I have also added a shortcut of my script in the Windows Startup folder, so my script runs when i turn on my computer.If you don't know how to put the script in the startup folder:



How i use AutoHotkey for SC2 (egg-hotkeying method for Zerg):

+ Show Spoiler + AutoHotkey to change the behavior of the LShift and LCtrl, i actually only swap those with one another. My reason is simple, i play zerg, and i egg-hotkey.

The egg-hotkey method on standard hotkey setup looks like this:

+ Show Spoiler + 1. produce units from larvae

2. LCtrl+click on the eggs //selects only the eggs without the rest of the larvae

3. LShift + control group [number] //adds the selected eggs in an existing control group or creates new if you haven't already..

After the swapped LShift with LCtrl the method looks like this:

+ Show Spoiler + 1. produce units from larvae

2. LShift+click on the eggs //selects only the eggs without the rest of the larvae

3. LShift + control group [number] //adds the selected eggs in an existing control group or creates new if you haven't already..



It makes much more sense for egg-hotkeying right? Instead of holding down LCtrl than LShift to add the morphed units it to a control group, you only hold down LShift, click, and press a number without letting off the LShift.

- The drawback of this method is that you'll need to rebind every hotkey from Shift to Ctrl (and vice versa) in the hotkey setup in SC2. Becase you want everything else to stay (act) the same way as before (expect for this). Also your quee command is now on the CTRL instead of the SHIFT (no workaround for this without cheating and loong code).

- Selecting units now makes much more sense to me (perhaps because i am used working on Windows, holding down Ctrl to select or deselect from selection - now selecting/deselecting units, works the same in SC2 as in Windows, instead using the old way, with "Shift" to select or deselect units.

-You need like less than a week to get used to this method and you won't regret it.

If you don't know how to egg-htokey you can learn from this tutorial in great detail

Specifically i useto change the behavior of theand, i actually only swap those with one another. My reason is simple, i play zerg, and iThe egg-hotkey method on standard hotkey setup looks like this:After the swapped LShift with LCtrl the method looks like this:It makes much more sense for egg-hotkeying right? Instead of holding down LCtrl than LShift to add the morphed units it to a control group, you only hold down LShift, click, and press a number without letting off the LShift.- The drawback of this method is that you'll need to rebind every hotkey from Shift to Ctrl (and vice versa) in the hotkey setup in SC2. Becase you want everything else to stay (act) the same way as before (expect for this). Also your quee command is now on the CTRL instead of the SHIFT (no workaround for this without cheating and loong code).- Selecting units now makes much more sense to me (perhaps because i am used working on, holding down Ctrl to select or deselect from selection - now selecting/deselecting units, works the same in SC2 as in Windows,-You need like less than a week to get used to this method and you won't regret it. PiG actually uses this in his experimental " The Core " hotkey layout (he told me in the comments in one of my posts on reddit ). I use it myself and i really love it. I believe you will as well



WARNING

+ Show Spoiler +

UPDATE: To compensate for the concern that Blizzard can scan your running processes and simply get you banned for only using a software that's on their "watch list" while playing the game. For that matter we will do a workaround: We will mask the process with already existing (and widely popular process - Google Chrome (32 bit)



Here is a (if you use the compiled script make sure to put that in your StartUp folder and remove original .ahk script from there if you did that earlier)

If you are concerned with safety of the .exe i provide (i totally understand), or you want to do it yourself in your own scripts, here is how:

+ Show Spoiler +

2. Compile your script with AutoHotkey

3. Open your compiled script in Resource Hacker

4. Open another instance of Resource Hacker and open the original google chrome "chrome.exe" located in "C:\Program Files (x86)\Google\Chrome\Application" (now you have side by side the script and the original chrome exes)

5. In both instances of Resource Hacker navigate to "Version info> 1 : 1033"

6. Copy the whole code (on the right side in Resource Hacker) from the original chrome and paste it (replacing the original code) in your compiled script instance in resource hacker.

7. Press the compile button

8. File>Save As and name your file this time "chrome.exe"

That's it.

note: Actually you don't have to use google chrome specifically to mask your scripts, you can do it with any other .exe and you will mask it with just another name, or you could fill in the information with something entirely random.

1. Make sure you have installed google chrome, AutoHotkey (with the compiler) and Resource Hacker (download link) 2. Compile your script with AutoHotkey (here is how to do it) , name your compiled script compiled_chrome.exe (for icon google search "google ico" and download and use that .ico file to compile yous script with)3. Open your compiled script in Resource Hacker4. Open another instance of Resource Hacker and open the original google chrome "chrome.exe" located in "C:\Program Files (x86)\Google\Chrome\Application" (now you have side by side the script and the original chrome exes)5. In both instances of Resource Hacker navigate to "Version info> 1 : 1033"6. Copy the whole code (on the right side in Resource Hacker) from the original chrome and paste it (replacing the original code) in your compiled script instance in resource hacker.7. Press the compile button8. File>Save As and name your file this time "chrome.exe"That's it.note: Actually you don't have to use google chrome specifically to mask your scripts, you can do it with any other .exe and you will mask it with just another name, or you could fill in the information with something entirely random.





Also i have opened a thread on Blizzard official forums asking specifically for that matter and you can track it yourself here(still waiting for Blue to give a answer):

http://us.battle.net/sc2/en/forum/topic/20743114221



So final notice: I think the chances to get you banned for this is very very low especially if you compile and mask your script. And even if blizzard can sniff something suspicious (which i highly doubt it) they will probably first warn you before perma-ban you. And after all this is only a swapping the modifiers as you would with a keyboard that has the built in functions for that... which is 100% allowed by Blizzard.

Final words: Use at your own risk.

EDIT: While the above method is not against the Blizzard's terms of use (because as long as "1 key press = 1 action" is allowed), though hoby2000 (in the comments) has a legit point.: To compensate for the concern that Blizzard can scan your running processes and simply get you banned for only using a software that's on their "watch list" while playing the game. For that matter we will do a workaround: We will mask the process with already existing (and widely popular process - Google Chrome (32 bit)Here is a link to the compiled script If you are concerned with safety of the .exe i provide (i totally understand), or you want to do it yourself in your own scripts, here is how:Also i have opened a thread on Blizzard official forums asking specifically for that matter and you can track it yourself here(still waiting for Blue to give a answer):So final notice: I think the chances to get you banned for this is very very low especially if you compile and mask your script. And even if blizzard can sniff something suspicious (which i highly doubt it) they will probably first warn you before perma-ban you. And after all this is only a swapping the modifiers as you would with a keyboard that has the built in functions for that... which is 100% allowed by Blizzard.



SAFE ALTERNATIVE:

+ Show Spoiler + If you are still concerned about the safety of your account and you still want to do this, you can use other software such as KeyTweak (download) - With this program the changes are made directly in to the registry and the downside is that you need to restart or relog your PC for the changes to take effect. (that was the killer thing that forced me to use AutoHotkey - it sucks reloging windows back and forth every time i want to play starcraft) I'll show you how you can transform your cheap 5$ keyboard to expensive gaming dedicated keyboards like razor's balckwidow (ofc the quality of your keys will stay the same but those keyboards have very special features like remapping keys, or recording macros). This tutorial will show you how to do just that,For example you can't change modifiers likeoretc. So basically, you can't change that in Starcraft 2 alone, unless you have expensive keyboard or you use 3rd party software, and sometimes you want to do it...

hoby2000 Profile Blog Joined April 2010 United States 895 Posts #2 Your warning means nothing. Blizzard isn't going to inspect your script. They don't give a shit. If you run AHK while playing on Bnet, you will be banned eventually. Or if someone thinks you're hacking despite using AHK for legitimate reasons, you will still be banned.



Your whole schpiel about "1 for 1 and we are good" is not a reason Blizzard will even consider. They detect programs and I bet you this is on their hot list. Again, they won't read your script, they will just see you're running a program that could easily be used for cheating. A lesson without pain is meaningless for nothing can be gained without giving something in return.

masky007 Profile Joined December 2015 15 Posts Last Edited: 2016-04-15 23:37:36 #3 On April 13 2016 08:37 hoby2000 wrote:

Your warning means nothing. Blizzard isn't going to inspect your script. They don't give a shit. If you run AHK while playing on Bnet, you will be banned eventually. Or if someone thinks you're hacking despite using AHK for legitimate reasons, you will still be banned.



Your whole schpiel about "1 for 1 and we are good" is not a reason Blizzard will even consider. They detect programs and I bet you this is on their hot list. Again, they won't read your script, they will just see you're running a program that could easily be used for cheating.



You actually might be right (Why i will be updating this tomorrow - it's too late now)! However blizzards cheater scan program is actually scanning for much more than the processes only, like time between pressed keys, repetiton of the time lag in between - basicly scanning for cheaters in many more advanced methods. The script in the guide is legit is not against the rules, however you are right they might just ban you for using the AHK, and won't scan your script if its ok or not - however there is a way to hide the process from blizzard, and be safe against it. Tomorrow when i have the time i will update the guide setp by setp how to do it - you only have to compile the script into exe and give a name to already existing process, e.x. SVCHOST.EXE or Google Chrome.exe etc..



EDIT: the guide has been updated You actually might be right (Why i will be updating this tomorrow - it's too late now)! However blizzards cheater scan program is actually scanning for much more than the processes only, like time between pressed keys, repetiton of the time lag in between - basicly scanning for cheaters in many more advanced methods. The script in the guide is legit is not against the rules, however you are right they might just ban you for using the AHK, and won't scan your script if its ok or not - however there is a way to hide the process from blizzard, and be safe against it.EDIT: the guide has been updated

TedBurtle Profile Blog Joined April 2014 Belarus 201 Posts Last Edited: 2016-04-13 04:51:21 #4 you can change hotkeys in game, and its not matter what KB you are using ;/ why bothering with some soft Unbeatable Protoss

masky007 Profile Joined December 2015 15 Posts #5 On April 13 2016 13:10 TedBurtle wrote:

you can change hotkeys in game, and its not matter what KB you are using ;/ why bothering with some soft

Why do you comment on an article when you haven't even read the first few lines? Why do you comment on an article when you haven't even read the first few lines?

joshiraj5 Profile Joined April 2016 4 Posts #6 --- Nuked ---

TedBurtle Profile Blog Joined April 2014 Belarus 201 Posts #7 On April 13 2016 20:23 masky007 wrote:

Show nested quote +

On April 13 2016 13:10 TedBurtle wrote:

you can change hotkeys in game, and its not matter what KB you are using ;/ why bothering with some soft

Why do you comment on an article when you haven't even read the first few lines? Why do you comment on an article when you haven't even read the first few lines?

i've read whole thing...and all your examples can be done in game ;/ i've read whole thing...and all your examples can be done in game ;/ Unbeatable Protoss

insitelol Profile Joined August 2012 836 Posts #8 "For example you can't change modifiers like Shift or Ctrl etc". Less is more.

TedBurtle Profile Blog Joined April 2014 Belarus 201 Posts #9 On April 14 2016 19:56 insitelol wrote:

"For example you can't change modifiers like Shift or Ctrl etc".

Yeah, you can do it in sc2 in game ;/ ....



Options->Hotkeys -> Global ->Control groups.... Yeah, you can do it in sc2 in game ;/ ....Options->Hotkeys -> Global ->Control groups.... Unbeatable Protoss

insitelol Profile Joined August 2012 836 Posts #10 Please stop this. You can't bind E,R,T etc as a modifier key. Less is more.

masky007 Profile Joined December 2015 15 Posts #11 On April 13 2016 08:37 hoby2000 wrote:

Your warning means nothing. Blizzard isn't going to inspect your script. They don't give a shit. If you run AHK while playing on Bnet, you will be banned eventually. Or if someone thinks you're hacking despite using AHK for legitimate reasons, you will still be banned.



Your whole schpiel about "1 for 1 and we are good" is not a reason Blizzard will even consider. They detect programs and I bet you this is on their hot list. Again, they won't read your script, they will just see you're running a program that could easily be used for cheating.



I updated the "WARNING" section - now the script is masked as google chrome in the running programs/processes. I updated the "WARNING" section - now the script is masked as google chrome in the running programs/processes.

jake1138 Profile Joined September 2011 United States 82 Posts #12 I use AHK to unbind the mouse "back button" in browsers. I've had that running for years. I've never gotten banned by Blizzard so I doubt running AHK or any keyboard/mouse rebinding software will get you banned.

masky007 Profile Joined December 2015 15 Posts #13 On April 15 2016 04:17 jake1138 wrote:

I use AHK to unbind the mouse "back button" in browsers. I've had that running for years. I've never gotten banned by Blizzard so I doubt running AHK or any keyboard/mouse rebinding software will get you banned.

Nice to know, though i have found some instances where people got banned in other blizzard games for using AHK (but they were botters/cheaters if i remember well so it might seem they don't just ban people when they see the process) Nice to know, though i have found some instances where people got banned in other blizzard games for using AHK (but they were botters/cheaters if i remember well so it might seem they don't just ban people when they see the process)

Iksf Profile Joined March 2011 United Kingdom 444 Posts Last Edited: 2016-04-15 17:45:29 #14



Always used SharpKeys

So final notice: I think the chances to get you banned for this is very very low especially if you compile and mask your script. And even if blizzard can sniff something suspicious (which i highly doubt it) they will probably first warn you before perma-ban you. And after all this is only a swapping the modifiers as you would with a keyboard that has the built in functions for that... which is 100% allowed by Blizzard.





Just because Blizzard can't detect it doesn't mean its ethically sound. Personally I don't really give a damn but plenty of people would argue this kinda stuff shouldn't be allowed, like the people who argued against that overlay build order thing program - equally a lot of people including myself on this one think things like select AI target / Jakatak's rapid fire should be removed. If I was organising a LAN tournament I certainly wouldn't be allowing the players to install things like Autohotkey on the computers.



Just because Blizzard can't detect it doesn't mean its ethically sound. Personally I don't really give a damn but plenty of people would argue this kinda stuff shouldn't be allowed, like the people who argued against that overlay build order thing program - equally a lot of people including myself on this one think things like select AI target / Jakatak's rapid fire should be removed. If I was organising a LAN tournament I certainly wouldn't be allowing the players to install things like Autohotkey on the computers.

However blizzards cheater scan program is actually scanning for much more than the processes only, like time between pressed keys, repetiton of the time lag in between - basicly scanning for cheaters in many more advanced methods.





Can guarantee from my own experience this isn't true. Firstly I use a PS/2 keyboard connector which gives higher repeat rates and never had any issue. Secondly I artificially increased the repeat rate and decreased delay with filterkeys on windows, no issue (and was very buggy with things like ctrl and shift getting stuck + ultimately didn't really find it very useful for gameplay). Thirdly I've played SC2 on Linux quite a lot as well as Windows, the options for setting the repeat rate and delay there are far better and work bug free in SC2, no ban.



I think people give Warden too much credit, need to remember Warden's far from brilliant success stopping hackers between WoW and SC2.



Can guarantee from my own experience this isn't true. Firstly I use a PS/2 keyboard connector which gives higher repeat rates and never had any issue. Secondly I artificially increased the repeat rate and decreased delay with filterkeys on windows, no issue (and was very buggy with things like ctrl and shift getting stuck + ultimately didn't really find it very useful for gameplay). Thirdly I've played SC2 on Linux quite a lot as well as Windows, the options for setting the repeat rate and delay there are far better and work bug free in SC2, no ban.I think people give Warden too much credit, need to remember Warden's far from brilliant success stopping hackers between WoW and SC2.

masky007 Profile Joined December 2015 15 Posts Last Edited: 2016-04-15 23:37:09 #15 On April 16 2016 02:26 Iksf wrote:

If I was organising a LAN tournament I certainly wouldn't be allowing the players to install things like Autohotkey on the computers.



-i wouldn't allow AHK on tournaments however, this, with AHK, is only useful when you don't own a keyboard that lets you rebind your keys on the fly (which keyboards like that are allowed at tournaments)



-i wouldn't allow AHK on tournaments however, this, with AHK, is only useful when you don't own a keyboard that lets you rebind your keys on the fly (which keyboards like that are allowed at tournaments) On April 16 2016 02:26 Iksf wrote:

Can guarantee from my own experience this isn't true. Firstly I use a PS/2 keyboard connector which gives higher repeat rates and never had any issue. Secondly I artificially increased the repeat rate and decreased delay with filterkeys on windows, no issue (and was very buggy with things like ctrl and shift getting stuck + ultimately didn't really find it very useful for gameplay). Thirdly I've played SC2 on Linux quite a lot as well as Windows, the options for setting the repeat rate and delay there are far better and work bug free in SC2, no ban.



I think people give Warden too much credit, need to remember Warden's far from brilliant success stopping hackers between WoW and SC2.





I am pretty sure Warden scans for different things that you stated, you increased the speed of your hardware, but only that.. Now Warden would scan for things like repetition over time.. check this out:

You have a macro that injects all 5 hatcheries in 2.258 seconds.. (random number of my head).

You press that key and 2.258 seconds

after that you do it again.. again 2.258..

do that in a number of ways and Warden will pick this and flag it as non-human behavior.



another eg. it could also pick that behavior up from the certain x.y position of the mouse clicks..

lets say you have some other cheating script that hand-helds your mining workers at the very beginning of each game (each worker to it's own mineral patch) so you loose least mining time when you start the game..

That script will have to select workers from specified x.y. coordinates on the screen. No human will press i.e. 112,22, 542,27 over and over gain - again repetition.



This is what Warden mainly looks in for - or game integrity for some dll injects..

And ofcourse that can be bypassed by giving randomization to variables, making it lot harder to detect.



What you all said is all fine, i think every more serious player made sure he gets out the most speed of his hardware, as you did, whatever way possible - that is 110% allowed.



I am pretty sure Warden scans for different things that you stated, you increased the speed of your hardware, but only that.. Now Warden would scan for things like repetition over time.. check this out:You have a macro that injects all 5 hatcheries in 2.258 seconds.. (random number of my head).You press that key and 2.258 secondsafter that you do it again.. again 2.258..do that in a number of ways and Warden will pick this and flag it as non-human behavior.another eg. it could also pick that behavior up from the certain x.y position of the mouse clicks..lets say you have some other cheating script that hand-helds your mining workers at the very beginning of each game (each worker to it's own mineral patch) so you loose least mining time when you start the game..That script will have to select workers from specified x.y. coordinates on the screen. No human will press i.e. 112,22, 542,27 over and over gain - again repetition.This is what Warden mainly looks in for - or game integrity for some dll injects..And ofcourse that can be bypassed by giving randomization to variables, making it lot harder to detect.What you all said is all fine, i think every more serious player made sure he gets out the most speed of his hardware, as you did, whatever way possible - that is 110% allowed. (and was very buggy with things like ctrl and shift getting stuck + ultimately didn't really find it very useful for gameplay)

Did you tried the script? And it was buggy getting ctrl stuck? (i forget to mention that can happen on certain machines)

I compiled new one for you

Or if you want to try the fix remove the line

SendMode Input (you can also remove everything after the ; at that line, as it states a comment)

from your script and it should be fine.

From gameplay point of view i love it man.. well perhaps its a little, but i love little things when pile up and than they make allot hell of a difference



edit: thanks for the input, ill put that as a note that can happen in the guide

edit2: updated the guide with the new link and added the step to remove the line for whoever finds this useful Did you tried the script? And it was buggy getting ctrl stuck? (i forget to mention that can happen on certain machines)I compiled new one for you https://www.dropbox.com/s/g6igeaj6zvfkoiv/CtrlShiftSwapCompiled.v2.rar?dl=0 Or if you want to try the fix remove the linefrom your script and it should be fine.From gameplay point of view i love it man.. well perhaps its a little, but i love little things when pile up and than they make allot hell of a differenceedit: thanks for the input, ill put that as a note that can happen in the guideedit2: updated the guide with the new link and added the step to remove the line for whoever finds this useful