BindControl is a helper app for creating and maintaining keybinds for City of Heroes.
It is an enhanced port of Konoko and Monorail's CityBinder 0.76, using Python and the WxWidgets UI toolkit.
During City of Heroes' original run, CityBinder was the go-to app for keybinds. It's written in lua, using the IUP toolkit, and the required versions of those can be difficult to set up for development on modern OSes. I wanted to add features and clean up the UI, so in a stunningly unwise act of hubris, I instead started work on BindControl.
I worked on it on-and-off for the remainder of the original run of the game, then shelved it, ostensibly forever. Now here in the age of the SCORE, Homecoming, and other servers, it once again has value, so I've dusted it off and continued to add features and modernize it.
With Homecoming recently securing the licensing for City of Heroes from NCSoft, development of the game and its ecosystem, BindControl included, is likely to remain very Homecoming-centric in the near to medium term. Recent changes to BindControl's Speed on Demand code incorporate changes made specifically in Homecoming Issue 27, and while it will probably continue to work elsewhere, I don't currently have a presence on these other servers to test and validate. Please feel free to open issues for non-Homecoming servers, but know that they might not receive as much attention as Homecoming-specific ones do.
Runs on Windows, MacOS, and Linux
Separate profiles for different characters, archetypes, or situations
Controller support (WIP, binds created with a controller work perfectly, but BindControl itself sometimes has trouble detecting controller input to create such binds)
Basic Gameplay Binds
Custom Binds
Movement / Speed-on-Demand
powexec_location cursor
feature incorporated into Teleport binds, with "teleport immediately" and "teleport on key release" options availableInspiration Popper
Mastermind / Pet Binds
Windows users: try the ZIP file from the latest release, and give feedback. If that works for you, it's the quickest path to victory.
MacOS users: an experimental binary release has been made available. It is not signed and/or notarized, and might or might not work at all. Any feedback is encouraged.
Linux users: an extremely experimental binary release is now available. You should be able to unzip the zipfile anywhere, and run the "BindControl" binary from within it.
If you receive malware warnings, please read my comments on that issue.
Windows users, follow the instructions on the above sites' download pages to install Python and wxPython.
MacOS users, I recommend following the instructions in this article at opensource.com to get Python 3 installed and working by default. Once everything is working, you will want to run pip3 install wxPython
.
Linux users, install your distribution's packages for Python 3 and wxPython.
Clone this repo, or download the source as a ZIP file
Windows (and possibly Mac) users: Double-click BindControl.py
in the top-level folder
Mac / Linux users: In a terminal, cd
to where you put the BindControl source, then python BindControl.py
. Some distributions might need python3
instead of python
.
BindControl is in many places a direct port of CityBinder code, and in most other places was extremely influenced by it. Keybinding code drew from similar code in PADRE.
Various newer functionality was added to CityBinder for Homecoming by tailcoat, who kindly provided his source code and permission to adapt for use with BindControl, as well as offered suggestions and advice for improvements.
Citybinder's acknowledgements are reproduced below:
Obviously, without Cryptic and NCSoft to have created/funded/published
City of Heroes and City of Villains, there would be no point to this
program. Thanks to Gnarly and the numerous people who contributed to the
creation of the Speed on Demand System. Thanks to Sandolphan/Khaiba and
the many people who posted Mastermind binds in the CoV Beta forums.
Again thanks to Sandolphan for the Bodyguard mode binds. Also thanks
to the following people, who directly contributed to CityBinder, either
with bug reports, feature suggestions, or contirbuted binds.
PerezPersuader, Blue_Daze, Back_Blast, IronVulture, Darkelven,
Shadowhand, Knight_Marshal, Nilt_, Psygon, DuskA, CyberKnight7, ErieFF,
Darc_Reign, Beerninja, BarfBag, Oronis, TrystarMojo, Pyrobard,
Ang_Rui_Shen, Konoko, Draznar, Local_Man, tyrose, Caustic, 80sboi,
DarknessEternal, reiella, Robotech_Master, Ground_Zeroo, Stylina, and
ShieldBearer.
The improved Inspiration Popper design was gratefully adapted from an unreleased version of CityBinder for Homecoming by Tailcoat.
Github Actions for automated building of binary releases graciously provided by JamzTheMan.
Additional feedback and suggestions provided in the Homecoming Forums thread and in Github issues by:
DevoDog68, BlackSpectre, Premmy, kenlon, Lumenia, xizar, autobotpinto
BindControl is licensed under the GPL version 3 or later.
emerson@hayseed.net