-
Notifications
You must be signed in to change notification settings - Fork 3
Getting Started With BindControl
So you've downloaded BindControl, and you're ready to start tinkering with keybinds for fun and profit. Excellent, let's go!
If you downloaded one of the binary releases, you'll just want to double-click on the program at the root of the directory -- bindcontrol.exe for Windows, BindControl.app for MacOS, or just bindcontrol for Linux. You can also, of course, run it from the command line if you like.
If, instead, you cloned the git repository or downloaded a source code archive, it's just as easy -- assuming you have Python and wxPython correctly set up (see the instructions in the README for more info), you should be able to double-click on BindControl.py at the top level, or, at the command line, run python BindControl.py from inside the bindcontrol directory.
BindControl should start up, and present you with the choice to start a new profile, load an existing one, or import a build file:
Click on "Start New Profile." It'll ask you for a Profile name -- a Profile is a collection of keybinds that can be loaded as a group. The typical case is that you'll want to use one Profile per character, but advanced users might end up using Profiles for different Archetypes, different specs, or as a basis for a complicated modular keybind system.
Let's start simple, and name the Profile after one of your characters. For purposes of this document, I'm going to use "Grarr" -- my stalker from back in the day. Enter the name, and after a short delay you'll see the BindControl UI, showing the "General" tab.
You can see that BindControl has loaded a few default settings, and left many open for you to set. Your character is likely showing as a Magic Blaster Hero, with Archery and Atomic Manipulation. You'll want to change these to the correct settings for your character. Set up the Alignment, Origin, Archetype, and the various powersets and power pools appropriately.
Go ahead and save the profile now, either from the "Profile" menu at the top, or via CtrlS (CmdS on MacOS). Let's go see what all BindControl has to offer us!
Let's start out by checking a couple of things we want set up correctly from the get-go. From the "Profile" menu, select the "Preferences" menu item:
The top three entries have to do with your Homecoming and/or Rebirth installation. These are used to install popmenus, either from the Popmenu Editor, or as a feature of some of the keybind schemes. These settings are optional, but if you try to use a feature of BindControl that requires them, you'll get a warning if they're not set up as needed.
Let's go ahead and set these up. If your Homecoming game is installed at the standard location, C:\Games\Homecoming, everything will look fine. If your game is installed somewhere else, the top "Homecoming Game Directory" field will probably be highlighted in red. In this case, go ahead and hit the little "..." button to the right of the field and select the directory where Homecoming is installed. The process is the same for the Rebirth location. You can fill out either, both, or neither of these fields. Also, make sure the "Game Language" picker is correct for your game install.
The "Base Binds Directory" field selects where BindControl writes your keybind files. Because of limitations in the game client, it's recommended to keep this path as short as possible. The default location is C:\coh\. You can pick any place, but know that if you choose a long path like C:\Users\username\Games\Homecoming\keybinds\, you'll end up with frustrating errors later when using some of BindControl's features. This path also cannot contain any spaces or special characters.
(MacOS and Linux Users: You're going to see an extra field here, "In-Game Binds Directory" -- this has to do with running City of Heroes via Wine, and you should check out the instructions for that before moving on.)
The "Binds Reset Key" is an important thing to know. Some of the more complicated features of BindControl, like the Speed on Demand binds, do a lot of heavy lifting behind the scenes on every keypress. Sometimes because of network lag or CPU spikes or other ephemera, the keybinds can get into a confused state. The Binds Reset Key will reset all of the keybinds to a known-good state, and stop all movement. Additionally, it can be used to load a newly-written set of keybinds without needing to copy and paste. CTRLR is the default.
Each of the other checkboxes and fields on the "General" tab alter the behavior of BindControl in minor ways. Hovering over the checkboxes and fields will show tooltips with more information, or check the Manual (under the "Help" menu) for more detailed information. For now, I recommend you leave them set to the defaults.
The other two tabs, Controller and Debug, can be left alone for now. Check the Manual for more information on what's in there.
Go ahead and hit "OK" to apply any changes you made and close the Preferences Dialog.
First up, right here on the "General" tab, we have Chat Binds available. They're preset to the game's defaults, but you can change them here to anything you want.
Let's change one of the binds, just to get a feel for how that works. Click on the "Start Chat" button, which should currently be labeled "ENTER". You should see the keybinding dialog pop up, ready for your input:

When this dialog has keyboard focus, you can type the key, key combo, mouse click, or controller button/axis you want to bind. The vagaries of what is and isn't possible to bind are beyond the scope of this "Getting Started" document, but feel free to tinker around with seeing what the dialog will accept. Nothing will change until you click on the "OK" button, so play around a little.
Once you are ready to move on, hit the DEL key, and click the "OK" button. You should see that the "Start Chat" button is now showing "DELETE". This probably isn't what you want in the long run, but we're going to load it into the game just to show that it's working.
This is the core of BindControl's functionality -- selecting keyboard, mouse, and controller inputs to bind to various in-game functions. The rest of the program has to do with creating interesting and powerful things to bind to.
Got all that? OK, let's try it out -- we're going to write out this new keyboard bind, and apply it to the game. Read on!
At the bottom of the main window, you'll see three buttons:

-
In the center, the "Write Binds" button is the most important button in BindControl. Pressing this will write out this Profile's configured keybinds to the appropriate directory, ready to be loaded into the game. Doing this takes almost no time, and has no downside, so you should feel free to iterate -- tinker with your Profile (save often!), Write Binds, load the binds into the game, test, repeat.
-
To the left, the "Set Binds Location" button will let you choose the specific directory where BindControl will save this profile's keybinds. Unless you're doing a lot of fiddling around with directories and Profiles and so forth, you probably will never need to mess with this.
-
To the right, the "Delete All Binds" button will clear all of BindControl's files out of the Profile's Binds Location. This can be useful if you end up disabling some binds that you were previously using and want to keep your Binds Location clean. BindControl will only delete files that it writes, so if you end up keeping other files in your Binds Location, they should be safe, though this might not be the best practice. In any case, "Delete All Binds" will remove the keybind files, and then a subsequent "Write Binds" will put a fresh copy out there. You might never use this, but it's there if you want it.
Let's go ahead and try out our new DEL chat bind! Click the "Write Binds" button. There should be a very fast progress bar, and then you'll see a dialog that looks a lot like this:

As you can see, if you're updating an existing set of keybinds, you can use the Binds Reset Key. This is a new set of keybinds, though, so you need to install them first. The text field in the middle contains the text you need to paste into the chat window in the game. You can click the tiny button to the right of it to copy the text to the clipboard, or just select and copy it manually.
Leave this dialog open in case you need to come back to it, and start the game, if it's not already running. Log into the character you want to install these binds for, click in the chat field, paste in the command, and hit ENTER.
If everything went as expected, you should see a line that looks like this in the Chat frame:

So let's test it out! Hit the DEL key -- the chat field should become active, ready for you to type.
If it didn't work, go back over the steps above, making sure that the "Start Chat" button in BindControl is labeled "DELETE" and then try again. Write Binds, copy the text, paste it into the game, test.
Congratulations! You've created and loaded a keybind set, and you're ready to start tinkering more. As we read on, we'll look at various tabs, dialogs, and other functions of BindControl in greater depth.
If you like, go ahead and set the "Start Chat" bind back to ENTER, Write Binds, and reload them into the game. Note that now that you've installed the keybind set once, you can just use the Binds Reset Key (CTRLR by default) to reload the binds. With judicious use of ALTTAB you can iterate on your keybinds quickly, testing them as you go, without closing either BindControl or the game.
And that's how it works -- you configure your Profile, and then "Write Binds" and load them into the game. It's a simple workflow, but there's a lot of depth to the things that are possible in the various tabs BindControl has. Let's go ahead and start looking at each tab. Feel free to skip over any that don't seem interesting to you.
BindControl Tabs
General | Custom Binds | Gameplay | Movement Powers | Mastermind / Pet Binds | Inspiration Popper | Popmenu Editor