Jump to content

CoH - Keybind Helper (& Battle-Cry Randomizer)

Recommended Posts


If you are anything like me, when you start playing a new game (or replay a 20 yr. old classic like CoH), you tend to rebind all the keys to what you are used to with other games, or there are some odd combinations that you find works for that particular game.


City of Heroes goes beyond simply inverting my Y-Axis camera and tweaking a few movement keys - at least for me. This game is complex, and the available keybind system is equally complex. Personally, I feel that the complexity is one of its many charms!


The goal of this document is to help ensure that CoH's keybinding system works correctly, that bugs are avoided, that the user (you) can maximize their gameplay experience (with a little front-end work), and that everything is copacetic in the chaotic land of OCD - where people like myself visit often, but don't have a permanent residence...


This program is updated to game version: Issue 27, Page 7 (FEB 20th, 2024), where the default keybinds were revised. I have both sets of default keybinds represented here, listed under their respective Issue and Page in the title. When explaining their function/command, I use "old" o describe the former commands, and "new" to describe the latest version of commands.


WARNING: This is going to appear to be EXTREMELY overwhelming at first. Please do not be intimidated, and give it some time to settle in. Before long, you will have the list committed to your memory and be zipping around like a pro with uber keybinds guiding the way! Trust me when I say: IF I CAN DO THIS, THEN ANYONE CAN!


For all of you TL;DR folks - feel free to skip down to "WRAPPING IT UP"…


...then come back and read the whole thing like a RESPONSIBLE ADULT.


JK! Maybe…


In more detail, on the next tab entitled "KEYBINDS" (IKR?, what a brilliant naming convention!) you will find a list of all the assignable keyboard shortcuts (column A), separated into multiple groupings based on the row that they reside in on a standard QWERTY keyboard. I feel that this is a more homogeneous way to list the keyboard as a whole, instead of the crazy alphanumeric way in the default keybinds file. 


If you are one of those people that uses one of those "other" types of keyboards (aka "the keyboards that shall not be named"), I'm sorry, but you're on your own to adapt this to your personal psychopathic needs, you crazy bastiges!


For example, the first group starts with the ESCAPE key, and then proceeds through all the F-keys (F1-F12). The next group starts with the TILDE (~) key, and goes through all the numbers (1-0), ending with BACKSPACE. The next section starts with TAB. Are you sensing  a pattern here, perhaps?

The nice thing about this layout is that not only are the base keystrokes listed in (what I consider) a logic format, but the "chord" combos (ALT+, CTRL+, SHIFT+) are listed right below each of them as well, so that you can assign a command to the main key, and then have every possible combination with that key right behind it, in an organized fashion.


Furthermore, I have provided explanations for each command (column D) so it is clear what it does! Then, even MORE furthermore... furthermore-more? Further-additionally-more? Further-frankfurter-würstchen-sausage-more? Anyways... I have taken the time to add some visual spacing to the groupings, so that it is easy to follow, but also easy to transfer to the final document when you are complete.


The general goal here is to ensure that all possible combinations have been represented and are easily to find. This way, you can always come back and change things, and not have to manually add in specific chord combos or have to dig/search for a randomly placed group. You know where everything is and can operate with the confidence that all keys are represented. Then you can just re-upload your keybind.txt file the same way as instructed below and... PREST-O-CHANGE-O... new SEXY keybinds for all your characters!

NOTE #1: There are additional chord key combos that specify using the LEFT or RIGHT CHORD keys (LALT+, RALT+, LCTRL+, RCTRL+, LSHIFT+, RSHIFT+) - but I do not list them in this document as CHORD keys (they are listed as solo keys, so that I can remove their function myself). I am invoking my author prerogative to just use the general 'ALT' and not 'LALT' or 'RALT' for a command - because it means that you can press either the L or R ALT key and the command will work. If I needed to think about which side of the keyboard to focus on for specific commands, I would go insane! JUST LET ME MASH BUTTONS!



NOTE #2: There is a pre-defined scheme that you can choose from for the DEFAULT keybinds. This is only selectable once in-game and will override any current keybind set (included changes you made here). However, if you plan to use this guide, I strongly caution against doing this, as it can be wonky (at best), and explode your PC at worst! Well, not really... but WHO KNOWS????


NOTE #3: To help with keeping all of the possible combos clean and accounted for, there is a command called NO OPERATION ("nop"). I have built this command into columns B and C for any keybind that has nothing assigned to it (by default). 

But you can also use this same command to override keybinds that you don't want bound to a keybind or combo - or to do what I have dubbed "reserve" a keybind that will be used for specific archetype / character command. This is useful to make sure that you don't accidentally program something else in that slot, keeping it in a 'NULL' state.



NOTE #4: Upon visiting the KEYBINDS tab, you'll notice that columns D and E are already populated with information. These are MY customized keybinds. I decided to provide what I did with my keybinds as an example to help people get started (it only took me like 50 hours to carefully put mine together, so...).


If you would like to start from scratch, I would suggest that you make a copy of the KEYBINDS tab and wipe all of the things in column E & F. 


Also, please note that all my changes are based upon the NEWER version of defaults (column C). 



NOTE #5: In addition to including my personal custom keybinds, I have also included several additional tabs with other features that I've developed. The colors of the tabs are linked to Column F ('MY CUSTOM DESCRIPTION') of the KEYBINDS tab. Any command that references to a text file (xxxx.txt) is explained inside the TEXT tab (highlighted LIGHT GREEN).


There is also another tab called SPECIAL (highlighted PURPLE), which contains a bunch of pre-made commands for a variety of actions, powers, or skills to simplify gameplay. I have these broken out into multiple categories, that you can filter to find what you are looking for. These can be placed into keybinds or macros at your discretion ( I include builds for both). I use many of these for LMB, RMB, and MouseChord (LMB+RMB) clicks for the instantaneous actions they provide, or I tie them into movement keys to trigger powers that I always forget to use (like AIM or BUILD UP). I loathe powers that require a target reticle.


Anything that links to the MasterMind (MM) archetype and their associated pet commands is highlighted LIGHT BLUE.


Lastly, I created a Battlecry Randomizer (BATTLECRY), and those keybinds are highlighted LIGHT RED. All instructions for use of this semi-separate tool are explained within that tab. If you've played with any of my characters on Excelsior, and saw some odd spam in the local channel during a Task Force or mission, that was me developing this. I'd like to formally apologize to those that put up with my spam while I dialed this process in (it was a lot to tolerate)! Look on the dark-side, though - now MORE people will be spamming these in your group! YAY! You're welcome!



NOTE #6: There are additional mouse buttons entitled BUTTON4 & BUTTON5. These will only apply if you have a mouse with additional buttons. The game also has BUTTON6 - BUTTON8 listed in their metadata, but they have no function in game, so I've excluded them from the list.


I don't use BUTTON4 & BUTTON5, personally. On my gaming mouse, I have my extra buttons (4 total) bound to Page Up, Page Down, Home, and End though the mouse software. This makes them more universally applicable for all games, programs, and daily use IMHO. 



NOTE #7: There are several redundant binds for various keys. Some examples of this are "UP" and "UPARROW", "`" and "TILDE", "[" and "LBRACKET", or "." and "PERIOD". In almost all of these cases, I have used the FULL NAME version for the keybind/combo in the list, and not the short name or symbol. I find it much less confusing when glancing at the commands, or looking them up for modification.


Please note that binding one of these will bind the other as well, so there is no need for the redundant keys to be listed in this doc. That said, if you end up binding both alternatives for some reason, BE SURE TO BIND THEM TO THE SAME COMMAND.


A special note to be made here is an odd / uniquely names key in CoH's list called SYSRQ. This stands for SYSTEM REQUEST, but it is more commonly known as (IMO) as "SCREENSHOT" or "PRINT SCREEN". In windows, pressing this button takes a screenshot. In most games, this button takes screenshots. I think the more generic name was from early versions of computer keyboards, perhaps? Regardless, I felt it wise to mention it here. 



NOTE #8: To keep the syntax of each command consistent, I enclose each final combined command / keybind in quotes. This can help the game engine some, but it is not needed in most cases. It is more so to satisfy my personal level of OCD. I mention this here only to make you aware of what is happening, so that you can also continue this distinguished and proud tradition and give me warm fuzzies in the process knowing that everyone is out there making the world safer through good, wholesome, family-friendly, and repeatable anal-retentive practices! CLINTCH THEM BUTTCHEEKS UP FAM!



NOTE #9: Extending on NOTE #8, your command must be less than 256 characters in total. This is core-game limitation and it applies for keybinds, the /bind command, or the /macro command. To help keep an eye on your current total characters in use, I've added a character counter (Column H) entitled "CHAR COUNT" (I'm REALLY GOOD at the whole 'naming' thing, huh?), which keeps a tally on how many characters are currently in use in Column F. See "WRAPPING THING UP" for an explanation of all the columns and their purpose/function. 



NOTE #10: Extending on NOTE #9, which extends on NOTE #8, which kind-of extends on NOTE #3, which by definition had already violated what the term "COUPLE" means, which was the word in the title of this section, which is before NOTE #1, which could've easily been changed instead of writing out all these unnecessary words... Umm... where was I going with this thought...?


Oh yeah! The command names can be shortened some. A command like "target_custom_far" means the same thing if typed as "targetcustomfar". Sure, its not as pretty when reading, and it may not seem beneficial to save a whole two (2) characters for a single command, but it might save you those precious few characters to keep you under the 256 limit when pooling together a long command string!


There are also built in shorthand commands. A good example of this is how "t, tell, p, private, whisper" all do the same exact thing. There is little need to type out "whisper" in a command when using "t" or "p" will arrive at the same result - and save you some of those high-value character counts!

All this said, wherever possible, I use the commands with underscores intact for visual appeasement.



NOTE #11,273: There are tons of other articles that explain all these notes in more detail (and less sarcastically) but I want to point out "just... one more thing" (Get it? Like Columbo [Peter Falk] used to say? I probably just aged myself greatly there...). I think it will help for you to understand the uses and values of the '+' sign prefix, and how to integrate it into your commands: 


1) A command with no plus sign added is a simple click effect, meaning that when you press the key/combo, it occurs instantly on the downward stroke, and only once. This is common for many keystrokes in the game, like activating an action bar slot. However, if you want to use a command like moving back ("backward") and leave the '+' prefix out, then your character WILL move backwards... but only a single step... once... no matter how long you hold that button down.


2) Adding a single plus sign (+) to a command tells the game engine that you want to repeat that command for as long as you are holding down that button/combo. So adding this in as "+backward" will have your characters moving backwards as long as you keep holding the button down. On the flip side, you cannot use this for an action that should only be used once, like a superpower activation.


3) Adding two plus signs (++) tells the engine that you want to set the command to 0 or 1, essentially turning it on or off (toggle). In the above example, this would be "++backward" and would allow you to press the button once, release it, and your character would start moving backwards and continue to move backwards forever until you press that keystroke again (or until they back up into the side of a nearby building). 


But the (+) syntax can also be applied to useful commands like "++up$$++autorun$$powexec_toggleon Super_Jump", which turns on Super Jump, and then simulates you pressing both W and SPACEBAR (moves your Hero/Villain forward and up into the air). This will continue until you once again make that keystroke, allowing you to move around a map much easier, and easier on your (possibly) old and disheveled fingerbones. I should point out that this specific command can operate funky at times, and isn't something that I use, personally. 


Please also note that if you add a "+" sign at the start of a command on the next tab (KEYBINDS) in Column E, you will need to place an apostrophe (') at the start for Excel to process it correctly and not show an error in the cell (like this-->  '+  ). Also note that the apostrophe will NOT show/transfer to the final COMBINED COMMAND in column G, as the formula extracts what is visually displayed in the cell for data, not the internal edited features or formula. 

If you've read this far, then WHAT THE HELL IS WRONG WITH YOU?!?! Honestly, though, I appreciate you putting up with my verbose typing style and snarky comments.


The final thing to mention is how to FINALLY make use of this system, finally! Finally... [sneaks up to your ear and whispers "finally" once more all creepy-like]:


Column A (KEY NAME / COMBO) - lists the key name, with all its corresponding chord commands (ALT+, CTRL+, SHIFT+).


Column B (DEFAULT COMMAND [old]) - lists the DEFAULT command. These are the commands that existed from ISSUE 25. 


Column C (DEFAULT COMMAND [new]) - lists the DEFAULT command. This is the updated list as of Issue 27, Page 7 (FEB 20th, 2024). The update eliminated several former default commands, added a couple new ones, and changed a bunch of them. I use this column as a reference for all my changes.


Column D (DEFAULT COMMAND DESCRIPTIONS) - describes the action of the default command. If the command has differences between the "old" and "new" versions, I use these terms in the description to explain the changes.


Columns E and F (MY CUSTOM COMMAND / DESCRIPTION) - are for customizing commands and listing their descriptions, or replacing / overruling the command(s) from Column C. As mentioned above, these are already populated with my personal changes.


Column G (COMBINED COMMAND) - assembles the data together via an excel function. It merges the combo name (A) and either the default command (B) or the custom command (D) - giving priority to the custom command (D). It also does some other fancy-pantsy stuff by qualifying whether or not to even place a new command or leave the cell blank, but that is for my fellow Excel nerds to figure out...


Column H (CHAR COUNT) - provides a character counter for column G, so that you can monitor/stay under the 256 character limit more easily.

So... in the most simplest of explanations that I can muster: if you like the default command listed in column C, then you need to do nothing (meaning that it will automatically transfer that command to column G). However, if you wish to use your own command, or you wish to eliminate the original command ("nop"), then you will enter that command into column D, and then describe what you're doing in column E.


The reason I've set up the chart like this (making you enter a new command and description separately from the defaults instead of overriding them), is so that you always have a fallback, in case you get into game and cannot do something that you did before and need to return here to look up the original command (or if you are like me and always forget the commands you've assigned and what they do).


Check out the next section below for instructions on what to do after you've customized all the commands. It explains how to transfer the new keybinds to your CoH folder and replace the current keybind.txt file once you are done.
Once you've completed all your customized adjustments in columns E & F

1) Click on the drop-down menu in cell H3 (CHAR COUNT), uncheck "0" from the filter list, and select "OK". This filters (removes) all vells in column G that have nothing in them).


2) Select the first cell below "COMBINED COMMAND" (typically G4) and highlight all shown commands from G4 through cell G512 (CTRL+SHIFT+DOWN).


3) Copy the list (CTRL+C), open a blank notepad document, paste it (CTRL+V), and then save the file as "keybinds.txt" in a folder of your choosing.


4) Navigate to your COH directory, open the "\settings\live" folder, and paste your new file here, replacing your current KEYBIND.TXT file. (BACKUP if desired)


For new characters, these will be your default keybinds upon creation. For pre-existing characters, you can load these new keybinds via "/bindload".
"ALT+ESC, CTRL+ESC, SHIFT+ESC" are not assignable.
"ALT+TAB" is reserved by Windows for switching between active tabs.
"ALT+ENTER" is reserved by Windows to toggle between windowed mode/full screen.

"ALT+SYSRQ" is reserved by Windows for capturing the current/active window's screenshot (different than the in-game SYSRQ (screenshot) command).

(All of the above commands/combos have purposefully been omitted from the KEYBINDS list!)


Also, "NUMLOCK" is bindable, but it is not recommended to bind to anything if you use any of the numpad keys (like I do for my MasterMinds).

Well, that's it, folks! My job is done here. Now, go make some joyous keybinding memories and prosper in Paragon City!


I would love to hear some feedback on this "not a mod" mod, as well as my keybinds, because I keep finding new/clever/awesome ways of expressing things more easily, and I love to continue to learn (as I have already done extensively from this community)!


  • Thumbs Up 1
Link to comment
Share on other sites

5 hours ago, Marshal_General said:

I read the bottom first because I have always heard that you should wrap it up first.

That's like reading the last chapter in the book, and then enjoying the explanation on why the Cook murdered Professor Plumm in the Library with the Candlestick...


I like Quenten Tarantino movies too... 😋

Link to comment
Share on other sites

So, I held off a while on commenting on this, so as not to discourage any useful discussion. But anyone who hasn't gotten their comments in over two weeks will just have to live with their regrets. 🙂


First, absolute 10/10 on the thought and work invested here. I'm big on binds and anything that advances their understanding, implementation and use among the player base is a solid good.


But three thoughts, here—

  • Too complicated overall. Game mods/extensions have to be plug-in simple, or easy to understand, not "follow a ton of detailed instructions and hope you don't make any mistakes."
  • Too idiosyncratic. This is a solution tailored to, well, you and add-ons need to be as flexible and accommodating as possible.
  • A lot of missed opportunities and inefficient choices — look over all the prior art and borrow the best for each feature.

And what you have to keep in mind is this—

  • Some large percentage of the user base can't be bought, beaten, shamed, lured or arsed into using custom binds—
    • "They're too complicated."
    • "I prefer macros."
    • "I don't want to break the (sacred and perfect) standard key assignments."
    • "I think the regular keys are all just fine, what's your problem?"
    • "I like having fifty macro buttons cluttering my screen."
  • Some fairly small percentage will use a few, add-on, more or less "canned" binds for TP, pets, etc. but won't make any overall changes.
    • Never mind the ones that bitch about how they keep hitting this or another wrong key, or find some key action too hard to use, or have some other perpetual complaint that a (shock! gasp!) custom bind would fix, permanently.
  • The small percentage who like, use, develop and tweak their binds need a simple, open system that fits their needs or can be easily adapted to them.

As for Bind Helper™, there are a couple of bind-builders out there, and some "open" bind sets that can be easily edited. But most of those tools run out of steam once things get complicated, to the point where I don't think anything but dedicated AI (not ChatGPT, at least, not without combining it with a huge level of expertise to unkink its errors) can build any but the simplest, fill-in-the-blank binds.


I have no suggestions about which direction to take your method/tool; it does have some interesting differences from anything else I've seen in the last 20 years. But right now, barring a real breakthrough, nothing substitutes for a comprehensive bind file that can be edited, expanded and uploaded, based on a growing understanding of all the key, command and syntax elements. Any structure will be a one-size-fits-few; any "builder" tool will have limits on its capabilities. Binds aren't hard to learn, despite the pushback of many players (some of whom don't quite seem to understand that Binds == Macros == Binds, except that binds have far more "actuation" options), and learning and implementing them at an upload-file level (and not the scattered bits of individual-entry via  chat) is, IMVHO, the best and only approach.


Bulid on from that.

UPDATED: v4.15 Technical Guide (post 27p7)... 154 pages of comprehensive and validated info on on the nuts and bolts!
ALSO:  GABS Bindfile  ·  WindowScaler  ·  Teleport Guide  ·  and City of Zeroes  all at  www.Shenanigunner.com

Link to comment
Share on other sites

I appreciate the feedback. I truly do. I did ask for it, after all. I don't feel that you are attacking this in any way, and I see the attempt at constructive criticism, so again - thank you. 


But that doesn't mean that I'm not going to respond! 🙂


This is likely not for the casual player, or the seasoned veteran that has their own system already.

This is for people that want to delve deeper into the world of binds and macros but are maybe too confused on where to start.

It is for those people that desire a good comprehensive list of examples (not just a one-off example spread across 20 pages of a forum). I have over 200 customized commands that they can review, pick, omit, or expand upon to fit their needs. These are taken from all over the forums and then further optimized by me in unique ways that perhaps others haven't thought of yet (or maybe they have). 

It is for those that are anal-retentive and find joy in planning out these types of features outside of game.

It is for the oddities - the misfits of the gaming world. It is for my people.

It is for people to use as a steppingstone (not pigeonhole people into one way of thinking). I feel like you are of the opinion that I'm saying, "DO IT LIKE THIS AND YOU MUST FOLLOW THESE INSTRUCTIONS TO THE LETTER", and I'm not. Instructions are these to help guide those that care about them. It can be figured out without them.


I purposefully built it with all of these things in mind.


Sorry to retort critically, but your three points are extremely subjective to your opinion, and not a standard in the modding world. Mods are often VERY specific, VERY general, or somewhere in-between. Also, this is not a mod, or even an extension, but regardless, it still has application IMO.

  • I stated at the start that this was going to be overwhelming. If you find the bind and macro system simple, then I am happy for you, but I suspect that many do not. It took me some time to learn it myself when I came back to CoX, so if I can help others reduce their learning curve, then I will feel like I've done them a service.
  • Of course this is tailored to me! Why else would I make it? However, I also built it to be very generic. People can simply wipe out all of my personal binds (its part of those super specific instructions you mention) and they are left with a blank canvas. Nothing more generic than that!
  • You say that there are missed opportunities and inefficient usages, but you give no examples. Don't paint me with a broad brush. Come at me with knowledge, not generalities. I want to learn too!

Your next three "keep in mind" points are understood, and I doubt any one of those types of people would even read this beyond the title. So, these points are redundant.


I never found any other bind helper programs while I was developing this. Quite frankly, I would have likely still made this, as I find those programs unlikeable to my game style. 


Simple, difficult, or impossible - it's there for your usage or not. I'm not after a popularity contest. As you astutely point out, I made this for myself (it HAD to be made for my own sanity). After making it I decided to share it with others (the whole purpose of community mods IMHO). 


In the end, like any mod I've ever made for any game I've ever played (and I've played a lot, and made a lot of mods), if it helps ONE person, then I'm happy!


I'm not really looking to take this in any general direction. It was in a release-state when I posted this. I have found some mistakes that I've corrected, so I will update it likely once with those, but that's about it. May it live here forever - or die on the vine. 

  • Like 1
Link to comment
Share on other sites

Okay. I'll just note that "This is for people that want to delve deeper into the world of binds and macros but are maybe too confused on where to start." and "I stated at the start that this was going to be overwhelming." are somewhat contradictory,


Either you're attempting to explain it to those who (despite all prior info and art) find binds confusing, or you're taking things to an unprecedented level. I suggest you can't do both.


Binds, overall, are not that complex once the basics are understood. Building an enormous, convoluted "management structure" around them that is neither a tutorial/reference (as is my guide, and others) or a "bind builder" (as are a couple of tools already in existence) is... an interesting approach.


Not one word of my posts are meant to be any kind of attack or discouragement — you might re-read my second paragraph above before assuming any such things.



Edited by Shenanigunner

UPDATED: v4.15 Technical Guide (post 27p7)... 154 pages of comprehensive and validated info on on the nuts and bolts!
ALSO:  GABS Bindfile  ·  WindowScaler  ·  Teleport Guide  ·  and City of Zeroes  all at  www.Shenanigunner.com

Link to comment
Share on other sites

Different people, different brains, it seems.


I, personally, feel that this is very easy to follow, and is basic in nature.


I spent a lot of time on it, sure, but that is mostly my own anal-retentive nature. I only said that it might be overwhelming as a disclaimer, but also followed that up with "Before long, you will have the list committed to your memory and be zipping around like a pro with uber keybinds guiding the way!"


Forewarning, then encouragement. I cannot do more than that.



Not one word of my posts are meant to be any kind of attack or discouragement — you might re-read my second paragraph above before assuming any such things.


Likewise, you should re-read my first sentence:


I don't feel that you are attacking this in any way, and I see the attempt at constructive criticism, so again - thank you. 


We seem to have a disconnect here. I didn't take anything you said as attack-ish. I'm GEN-X. So, even if it was, I wouldn't likely recognize it or be butthurt by comments. 🙂



Edited by Dregn Ryder
Link to comment
Share on other sites

Okay. Very much "twój cyrk, twoje małpy," here.


But a few parting observations:


If you look over the many "tools" and add-ons listed in this forum and discussed here, you'll find that many are in late generations, sometimes their dozenth major release — because the creator was willing to listen to feedback, and implement well-thought suggestions and expansions, and try to aim for that sweet spot between "as easy to use as possible" and "brings as much value as possible for the effort."


Most of these are from very long-time player/contributors who learned or discovered some aspect of the game that could be improved by a "tool" and put both their own effort and what they could learn from prior efforts into it. And then took feedback to improve it, sometimes across years or a decade.


But you will also find quite a few "one and done" contributions, mostly by newcomers. These tend to have sunk to the lower levels of the forum, largely forgotten and ignored, and any good ideas they might have represented more or less lost.


So don't overlook the primary point of my comments: I think you have some interesting and novel ideas with this. But posting one enormously complex version that needs a 3500-word startup guide, and covers a lot of already well-trodden ground in a quirky approach... is just a start in this community.

UPDATED: v4.15 Technical Guide (post 27p7)... 154 pages of comprehensive and validated info on on the nuts and bolts!
ALSO:  GABS Bindfile  ·  WindowScaler  ·  Teleport Guide  ·  and City of Zeroes  all at  www.Shenanigunner.com

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...