PDA

View Full Version : Binder: Character-specific keybinds manager


Aiiane
10-06-2008, 12:34 AM
Hi all. With the amount of time I spend reading this forum, it'd be sort of hard for me not to notice the numerous inquiries of "is there a way to set character-specific keybindings"? Since unfortunately, the answer with the default UI and base client is "no", I decided to help with this situation. The result is Binder.

Binder is a keybinds profile manager that stores per-character keybinding profiles, allowing you to restore the bindings specifically set for a given character automatically when logging in as that character.

If a profile exists for a given character, as soon as you log into that character, it will load up its profile and restore all of the keybindings associated with it.

If you've never yet logged in to a given character with Binder installed, it will simply create a profile for it with the same bindings as the previous character you played.

Okay, okay, enough talking. You can download Binder here:
http://war.curse.com/downloads/war-addons/details/binder.aspx

If you want to verify that Binder is properly installed, simply open the Key Mapping window, and it should list the active profile in the titlebar (like this (http://static.curseforge.net/uploads/19/10/90/binderwin.jpg)).

A single caveat - if you use a localized client and have character names with non-ascii characters in them, Binder might always load a profile called "default" instead of a character-specific one. You can make this "default" profiled saved per-character, however, by following the instructions in the Addon FAQ sticky in this forum to turn on WAR's save_settings_per_character option.

As usual with my addons, please report any bugs and/or make any requests using the ticket tracker for Binder (http://war.curseforge.com/projects/binder/tickets/).

DarkLynx
10-06-2008, 12:43 AM
Sweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeet.

I'll have to give it a try.

Silion
10-06-2008, 02:59 AM
You just can't stop pouring addons all over the place, can you? :)

Kudos for your ideas and filling the needs.

Aiiane
10-06-2008, 10:46 AM
You just can't stop pouring addons all over the place, can you? :)

That just sounds weird. o_O

Archaegeo
10-06-2008, 03:25 PM
Does this do the same thing as binder, just globally?


Q: How do I get WAR to save all my settings on a per-character basis?
A: Open the file at <WAR DIR>\User\UserSettings.xml (while Warhammer is not running) and look for save_settings_per_character="false" near the bottom of the file inside a tag named Interface. Change the value inside the quotes from false to true. Then save the xml file and start up WAR; your settings will now be saved per-character instead of globally.

??

Aiiane
10-06-2008, 03:36 PM
No, because that doesn't affect keybinds, only addon and window layout settings.

Archaegeo
10-06-2008, 03:43 PM
Noted.

In that case, excellent add-on which should be standard for the game. I know my SW definitely needs different key bindings than my Engineer.

Side note, does setting the above to true affect Binder?

Aiiane
10-06-2008, 03:45 PM
Binder will work fine even if that setting is on, it'll just save each character's profile in separate files, rather than having all of the profiles saved in one file. Either way, it's still 1 profile per character.

Setting it to true actually allows Binder to work with characters that have non-ASCII characters in their names, too.

Archaegeo
10-06-2008, 03:50 PM
Ok, I created an Interface folder in C:\Program Files\WarhammerOnline_Beta_ddmf

and inside it i created an AddOns folder

and inside it I unzipped Binder

But when i log in, no dice, I do not see the Profile part when i open key mapping

Any ideas?

Ruinx
10-06-2008, 04:02 PM
Wow, just in time, Aiiane, I was starting to think bitter thoughts about the lack of per-character key-mapping combined with the need to map keys to pet behaviours on two of my classes, and here you are with a fix! Brilliant!

Archaegeo
10-06-2008, 04:27 PM
Ahh, the FAQ is incorrect, its not "Interface" its "interface" and its not "AddOns" its "addons"

Silly rabbits

Aiiane
10-06-2008, 04:39 PM
Case actually doesn't matter...

Villainelle
10-06-2008, 06:48 PM
Aiiane, does Binder help us get around the game's bugs of keybindings resetting, and of one keypress triggering multiple keys? (There are a bunch of other threads about these keybinding issues on this forum.)

Aiiane
10-06-2008, 06:57 PM
Aiiane, does Binder help us get around the game's bugs of keybindings resetting, and of one keypress triggering multiple keys? (There are a bunch of other threads about these keybinding issues on this forum.)

Hm. I couldn't say for sure, because I haven't experienced those issues; however, it might help with the keybindings resetting (since it basically forcibly assigns the keybindings it has in its saved profile one every load) but probably doesn't help with a keypress triggering multiple keys.

You'd have to try it and see though. I have no idea what causes the issue in the first place so it's hard to say if it would fix it. :)

Villainelle
10-06-2008, 06:59 PM
Thanks, will experiment. :D

Edit: okay, experimented. Binder doesn't fix the problem I and some others are having. But, it should be able to if it can be set to reset keybindings to default upon logging in, and then load the character's saved profile. Is that possible?

(I'm also going to post a separate thread about the keybinding issues I'm having, since I've figured out how to reproduce them and what seems to be happening to cause them.)

Moze
10-06-2008, 10:47 PM
Thank you very much! This bug, or even this missing vital feature prevented me from trying different classes, cus I love to bind keys differently for different playstyle. You saved me and all the community atm! \o/

mgj808
10-07-2008, 02:40 PM
Thanks, will experiment. :D

Edit: okay, experimented. Binder doesn't fix the problem I and some others are having. But, it should be able to if it can be set to reset keybindings to default upon logging in, and then load the character's saved profile. Is that possible?


I've been having this problem too, I think binder has most of the capability to fix using a work around. I've found that going to keybindings and resetting them to default and then manually resetting them to what I had before each time I start Warhammer temporarily solves the problem.

I'm assuming Binder does half of this, namely the second half, by automatically resetting each action binding. The other half might be done by the function call RestoreDefaultBindings (http://www.thewarwiki.com/mediawiki/index.php?title=API:RestoreDefaultBindings&action=edit)()

I've tried adding that call into binder.lua in Binder.RestoreBindings() call, right before the loop that begins on line 113. However this doesn't seem to fix the problem. I'll keep playing with it

mgj808
10-07-2008, 03:05 PM
Should I take this to another thread? idk

The important part of this post:
Looking at KeyMappingWindow.OnRawDeviceInput (which I assume is what is called to rebind hotkeys through the keybinding UI), right before the call to AddBinding there's an if statement that's commented "-- Remove the old binding". In this if statement a call to RemoveBinding() is called. Unfortunately I don't know enough about LUA or the warhammer API to replace Aiiane's call to RemoveAllBindings().


Logic for this approach:
I want to mimic the workaround of resetting your keybindings to default and then manually setting them again as much as possible, without having to do anything with the keybinding window. So, since it seems like the keybinding window uses RemoveBinding(), I'd like to be able to do the same.

mgj808
10-07-2008, 03:41 PM
I'm in over my head with this, hopefully somebody more knowledgable will pick up where I left off.

Karnosh
01-09-2009, 06:59 AM
Does this addon work with patch 1.1?

MiztrezzLyn
01-09-2009, 07:11 AM
Yes, I've been using it for quite a while and never had an issue with it not working.

Karnosh
01-09-2009, 07:35 AM
Thank you! :)

There are some incredibly annoying bugs with key binding (like some keys suddenly affecting more than one button) and since it was working perfectly now, I didn't want to mess it up in case Binder was not working.

Works great here as well!

Musca
01-11-2009, 05:32 PM
My Hero!!!

ottosen
03-23-2009, 05:39 AM
Doesn't seem to be working with 1.2, or perhaps I am doing something wrong.

Either way - any solution? Any help would be appreciated greatly :)