Jump to content

Page 7 Keybind System Changes — Technical Discussion


Recommended Posts

On 3/21/2024 at 2:56 AM, BlackSpectre said:

use /showbind on every single key, button, and key/button combination

 

EDIT: A slash command has been added for this functionality, so I am removing this file. I'll leave the rest of the post up, though.

 

As a follow-up to my previous post, the showbind dump file worked exactly like I hoped it would. I set it up to output every primary key and chord key combo for the primary keys listed on the wiki page for key names at this link, with the exception of the non-English keys and the joystick buttons (didn't know how to code the joystick buttons).

 

I've attached the file here:

 

<removed file>

 

 

Save it to your favorite place for binds, and load it using the /bind_load_file command. In my case, I saved it to:

 

C:\Games\HC\settings\beta\binds

 

and loaded it (from Brainstorm) using:

 

/bind_load_file binds/showbind_all.txt

 

I used a relative path in my bind load command, but you may need to use an absolute path if you save it somewhere other than one of the server sub-folders in the settings folder. It should output the results in chat for all currently bound keys. You'll need to dig the results out of your chat log, so be sure to have chat logging on. The output isn't the prettiest, but if you need to know what all your keys are bound to, it should tell you. Keys bound to nothing will report 'Nothing' and keys bound to 'nop' will report 'nop'. Here's a snippet of the output for the default 'Modern' bind profile:

 

Spoiler

2024-03-21 22:39:46 Key A binded to: +left
2024-03-21 22:39:46 Key B binded to: ++first
2024-03-21 22:39:46 Key C binded to: chat
2024-03-21 22:39:46 Key D binded to: +right
2024-03-21 22:39:46 Key E binded to: +turnright
2024-03-21 22:39:46 Key F binded to: follow
2024-03-21 22:39:46 Nothing
2024-03-21 22:39:46 Key H binded to: helpwindow
2024-03-21 22:39:46 Nothing
2024-03-21 22:39:46 Nothing
2024-03-21 22:39:46 Nothing
2024-03-21 22:39:46 Nothing
2024-03-21 22:39:46 Key M binded to: map
2024-03-21 22:39:46 Key N binded to: nav
2024-03-21 22:39:46 Nothing
2024-03-21 22:39:46 Key P binded to: powers
2024-03-21 22:39:46 Key Q binded to: +turnleft
2024-03-21 22:39:46 Key R binded to: ++autorun
2024-03-21 22:39:46 Key S binded to: +backward
2024-03-21 22:39:46 Key T binded to: target
2024-03-21 22:39:46 Nothing
2024-03-21 22:39:46 Key V binded to: +ctm_invert
2024-03-21 22:39:46 Key W binded to: +forward$$playerturn
2024-03-21 22:39:46 Key X binded to: +down
2024-03-21 22:39:46 Nothing
2024-03-21 22:39:46 Key Z binded to: powexec_abort
2024-03-21 22:39:46 Key ESC binded to: unselect
2024-03-21 22:39:46 Key F1 binded to: inspexec_slot 1
2024-03-21 22:39:46 Key F2 binded to: inspexec_slot 2
2024-03-21 22:39:46 Key F3 binded to: inspexec_slot 3
2024-03-21 22:39:46 Key F4 binded to: inspexec_slot 4
2024-03-21 22:39:46 Key F5 binded to: inspexec_slot 5
2024-03-21 22:39:46 Key F6 binded to: local &lt;color white&gt;&lt;bgcolor red&gt;RUN!
2024-03-21 22:39:46 Key F7 binded to: say &lt;color black&gt;&lt;bgcolor #22aa22&gt;Ready! $$ emote thumbsup
2024-03-21 22:39:46 Key F8 binded to: local &lt;color black&gt;&lt;bgcolor #aaaa22&gt;HELP! $$ emote whistle
2024-03-21 22:39:46 Key F9 binded to: local &lt;color white&gt;&lt;bgcolor #2222aa&gt;&lt;scale .75&gt;level $level $archetype$$local &lt;color white&gt;&lt;bgcolor #2222aa&gt;Looking for team
2024-03-21 22:39:46 Key F10 binded to: say $battlecry $$ emote attack

 

It's not the most elegant solution, and it's a bit unfriendly to new users and/or folks that aren't familiar with loading bind files. But for bind enthusiasts, perhaps it will do until Number Six is able to add a slash command to save the binds to a dedicated file.

Edited by AboveTheChemist
removing file
  • Thanks 2
Link to comment
Share on other sites

14 hours ago, Number Six said:

 

So, going to quote this because it isn't quite accurate and use it to springboard off onto a deeper dive into how the keybind system works. I explained a lot of this in the OP's previous thread on this topic but judging from the replies it looks like some of it bears repeating...

Thanks for the corrections AND the interesting info, @Number Six. I would LOVE to dive deeper into all of this, but for right now I can only spare a few minutes to post real fast and then get back to RL.  Anyway, just wanted to say thanks.

Link to comment
Share on other sites

22 hours ago, Number Six said:

Very few people were using them and Joystick probably needs a serious look to revamp it for modern game controllers (that's a whole other can of worms).

 

I have been using game controllers to play City of Heroes since I started playing just before the drop of episode 2.

I have always used Logitech controllers and used their profiler to set the controller to act like a keyboard.

Here is my thread about my use of the Logitech F310 and how I set up that controller.

The setup works very well for me and it might be helpful to look at my setup when setting up defaults for controllers.

 

 

 

Also, if you are setting up for controllers/joysticks I would make sure to make one setup for the XBox controller and one for PlayStation controllers. I don't use either, but those seem to be one one most likely to be "ported" over for use. I don't believe either of these have a default profiler system that allows them to be set to operate like a keyboard.

 

I included in my post is my setup file for the Logitech F310.

 

 

1408241209_Logitechf310-rightstickY-axis.jpg.d73af897605697957f1ba035c2425d1d.jpg

Edited by UltraAlt

If someone posts a reply quoting me and I don't reply, they may be on ignore.

(It seems I'm involved with so much at this point that I may not be able to easily retrieve access to all the notifications)

Some players know that I have them on ignore and are likely to make posts knowing that is the case.

But the fact that I have them on ignore won't stop some of them from bullying and harassing people, because some of them love to do it. There is a group that have banded together to target forum posters they don't like. They think that this behavior is acceptable.

Ignore (in the forums) and /ignore (in-game) are tools to improve your gaming experience. Don't feel bad about using them.

Link to comment
Share on other sites

  • City Council

FYI, this just went to beta:

 

 

Of interest may be the new slash commands that were added. These function like /show_bind in that they show the "winning" bind for a given key, except they do it for all keys, so they produce output equivalent to the old /bindsave. Since they work like /showbind, they're named similarly to that command. There's one command that simply shows the list, while the other saves it to a file suitable for offline editing.

 

I think it's important to note that the output shouldn't be fed to /bindload unless you know exactly what you're doing -- it's intended to use to as a starting point to build your own custom file to load, or to dump the list of defaults for purposes like populating a wiki page. Like the old /bindsave, it suffers from some gotchas that may come back to bite you, especially if you switch profiles. Anyone who's not doing advanced offline editing probably should stick with the /bindsave family of commands.

 


 

Since it works like /bind_save used to, it's subject to the same oddities and bugs. One I found in about 5 minutes of playing around is that if you unbind a key in the UI, either by pressing escape or by binding a different key, then use /showbindall, that key will be missing entirely instead of bound to "nop". Once you log out and back in to the same character, saving it then includes the "nop" as it should. The same bug existed in the old /bindsave but I don't know if it was discovered or it documented anywhere -- that bug doesn't exist with the new version because it works differently.

  • Thanks 4
  • Thumbs Up 2
Link to comment
Share on other sites

On 3/21/2024 at 11:06 AM, Number Six said:

Don't know about sharing them ingame, would be tricky since they're purely clientside. That's something that with a little bit of code support could be done with client mods though.

 

I don't see this working as it would be Real easy to mess up a bind via the chat function as I could see it mistranslating it TBH. It all comes down to the reserved characters vs characters that are usable in keybinds in my mind.

  • Banjo 1

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  Heroica! (by @Shenanigunner)

 

Link to comment
Share on other sites

I am delighted to see the addition of the /showbindall and /showbindallfile commands with today's patch, restoring the ability to dump all current keybinds regardless of their origin. This addresses almost all of my concerns with the P7 change. Thanks to the Devs for recognizing the need for this functionality and restoring it.

 

The next step, I think, is to initiate a continuing discussion of what needs to be done to improve and stabiliize the whole 'key bind' subsystem — make it easier to get started with for novices and those afraid of breaking the game, which would probably include expanding and improving the Profile feature; keep it fully accessible to the advanced UI tweaker crowd *cough* for all the advantages that can be exploited with it, and not least, deal with the internal code/inefficiencies/bugs that seem to have been behind the P7 changes in the first place.

 

I think it's an area of the game/UI that's long overdue for some TLC, and if it makes the interface more flexible and stable from the inside, so much the better.

  • Like 2

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...