Download
(33 Kb)
Download
Updated: 08/10/15 02:00 AM
Compatibility:
Update 6 (1.6.5)
Updated:08/10/15 02:00 AM
Created:08/07/15 07:20 PM
Monthly downloads:18
Total downloads:3,418
Favorites:4
MD5:
Talen-Shei's KeyBind Swapper
Version: 0.7MA
by: Talen-Shei [More]
Easily create global keybind profiles to share across characters!

New version up! This version will delete all saved information so be wary!
New version has undergone a slight overhaul.
Added support for multiple accounts.
Fixed some issues with the addon menu.
Note that with syncing enabled you still must save your binds manually. The sync only loads the saved set. Please remember to save your binds!

Features:
  • Global Profiles (Now Multi-Account)
  • Support for non-vanilla keybinds
  • LAM2.0 addon-menu
  • Use /loadkeys or /importkeys to import from the currently selected profile or use /loadkeys <profile name> to load a specific profile (also works with /importkeys) if you use a name that is not in the database this will load the users choice selected in LAM
  • use /savekeys or /exportkeys to save to the currently selected profile if you want to save a new profile through this command you can use /savekeys <profile name> This will overwrite any profile with this same name so be careful! (also works with exportkeys)



Possible bugs?
(please test )
  • Breaking after removing an addon that added keybinds
  • Possible issue with multi-language set-ups?
8-10-15 Moved Multi-Account support into main branch and reconfigured settings
added ability to set an account-wide sync option to automatically load keybinds on login
Only works when Single Target mode is on.
8-9-15 Added Beta Multiple Account support.
8-8-15 Fixed /exportkeys slash command
Optional Files (0)


Archived Files (2)
File Name
Version
Size
Uploader
Date
0.51
33kB
Talen-Shei
08/08/15 02:47 PM
0.5
31kB
Talen-Shei
08/07/15 07:22 PM


Post A Reply Comment Options
Unread 09/01/15, 09:33 AM  
antmck2014

Forum posts: 1
File comments: 22
Uploads: 0
Keybindings on werewolf skills

I tried loading my previously saved keybindings, but it didn't work on my werewolf skills.
Don't know if it didn't save those or I did something wrong.
When I activate my ultimate ww transform I had to move my skills to the correct key slots again.
Report comment to moderator  
Reply With Quote
Unread 08/21/15, 12:32 PM  
Talen-Shei
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 13
Uploads: 1
Originally Posted by Anceane
errr sorry me again ( -sorry i have some trouble to explain the problem ))

What is the difference between the two options :
- Single target mode
- Account wide

As both says in tooltips :
This set an entire account to sync one profile

If i want to have a profile unique for one character which one should i use ?

I am asking this because, i have 2 characters who do not use the same addons as the others, and when i wanted to use your addon, /loadkeys XXXXX applied the keybind not by searching the names of the addons or the keybinds generaly, but by numered list and pushing further down the other keybindings.


example :

Character A :
- addon 1 Minimap : F1
- addon 2 LUI extended : F2
- addon 3 ESO : F3
- addon 4 Destinations : F4

Character B will get :
Addon 1 Minimap : F1
Addon 2 LUI extended : F2
Addon 3 Destinations : F3


As the second character does not use ESO, the keybinds are all mixed.

(and i tried to use the new addons made by Votan to complete yours, and this does the same things)
I feared something like this might happen. It will take some more coding to fix this issue, but the problem should be solvable. Thanks for the report! I will likely have a fix within a few weeks. Life is crazy right now, between everything going on right now I don't have much time to work on this, but I'll try to hurry the fix along.
Report comment to moderator  
Reply With Quote
Unread 08/21/15, 12:27 PM  
Talen-Shei
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 13
Uploads: 1
Re: Error to import keys for a new character

Originally Posted by Anceane
At creation character, i typed /loadkeys XXXX, some of the keys were imported right some no but well i decided to keep that and save what was good, and this error popped :

Code:
2015-08-18T04:06:36.070-05:00 |cff0000Lua Error: user:/AddOns/KeyBindSwapper/KeyBindSwapper.lua:42: attempt to index a nil value
stack traceback:
	user:/AddOns/KeyBindSwapper/KeyBindSwapper.lua:42: in function 'getKeyBinds'
	user:/AddOns/KeyBindSwapper/KeyBindSwapper.lua:154: in function 'saveBinds'
	EsoUI/Ingame/SlashCommands/SlashCommands.lua:124: in function 'DoCommand'
	EsoUI/Ingame/ChatSystem/SharedChatSystem.lua:1845: in function 'SharedChatSystem:SubmitTextEntry'
	EsoUI/Ingame/ChatSystem/SharedChatSystem.lua:2711: in function 'ZO_ChatTextEntry_Execute'
	14406795741938050902:3: in function '(main chunk)'
	(tail call): ?|r
No save was authorized

This is strange.... Are you sure you used /loadkeys <profile name> and not /savekeys <profile name>?

the function getKeyBinds is used to populate the list of current keybinds and is not called by the /loadkeys slash command. I will try to find the time to test this at character creation, but I would suggest not loading keybinds until you have gotten into the game. Also, if I may suggest for the time being, use the LAM 2.0 menu. I will download the code now to ensure that it is up-to-date with the master branch when I can.


This could be an issue related to single character mode. Did you have single character mode selected when attempting this?

Note: if you get an error saving please file a bug report with a copy of the error returned from the console and steps required to cause the error and immediately delete the profile.
Report comment to moderator  
Reply With Quote
Unread 08/18/15, 02:07 AM  
Anceane
 
Anceane's Avatar
AddOn Author - Click to view AddOns

Forum posts: 306
File comments: 1017
Uploads: 1
Error to import keys for a new character

At creation character, i typed /loadkeys XXXX, some of the keys were imported right some no but well i decided to keep that and save what was good, and this error popped :

Code:
2015-08-18T04:06:36.070-05:00 |cff0000Lua Error: user:/AddOns/KeyBindSwapper/KeyBindSwapper.lua:42: attempt to index a nil value
stack traceback:
	user:/AddOns/KeyBindSwapper/KeyBindSwapper.lua:42: in function 'getKeyBinds'
	user:/AddOns/KeyBindSwapper/KeyBindSwapper.lua:154: in function 'saveBinds'
	EsoUI/Ingame/SlashCommands/SlashCommands.lua:124: in function 'DoCommand'
	EsoUI/Ingame/ChatSystem/SharedChatSystem.lua:1845: in function 'SharedChatSystem:SubmitTextEntry'
	EsoUI/Ingame/ChatSystem/SharedChatSystem.lua:2711: in function 'ZO_ChatTextEntry_Execute'
	14406795741938050902:3: in function '(main chunk)'
	(tail call): ?|r
No save was authorized
Report comment to moderator  
Reply With Quote
Unread 08/17/15, 02:54 AM  
Anceane
 
Anceane's Avatar
AddOn Author - Click to view AddOns

Forum posts: 306
File comments: 1017
Uploads: 1
errr sorry me again ( -sorry i have some trouble to explain the problem ))

What is the difference between the two options :
- Single target mode
- Account wide

As both says in tooltips :
This set an entire account to sync one profile

If i want to have a profile unique for one character which one should i use ?

I am asking this because, i have 2 characters who do not use the same addons as the others, and when i wanted to use your addon, /loadkeys XXXXX applied the keybind not by searching the names of the addons or the keybinds generaly, but by numered list and pushing further down the other keybindings.


example :

Character A :
- addon 1 Minimap : F1
- addon 2 LUI extended : F2
- addon 3 ESO : F3
- addon 4 Destinations : F4

Character B will get :
Addon 1 Minimap : F1
Addon 2 LUI extended : F2
Addon 3 Destinations : F3


As the second character does not use ESO, the keybinds are all mixed.

(and i tried to use the new addons made by Votan to complete yours, and this does the same things)
Last edited by Anceane : 08/17/15 at 02:55 AM.
Report comment to moderator  
Reply With Quote
Unread 08/14/15, 02:22 PM  
Talen-Shei
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 13
Uploads: 1
Originally Posted by Anceane
Well i have a mix of english and french keybinds but that works, i was just surprised, and as it works do not bother with that, i will not either )

Thanks for looking anyway and answering me. And i love your addon
You're very welcome. I will take a deeper look into what could cause this to happen, in-case it is related to my add-on, so that I can prevent a repeat occurrence.
Report comment to moderator  
Reply With Quote
Unread 08/14/15, 02:13 PM  
Anceane
 
Anceane's Avatar
AddOn Author - Click to view AddOns

Forum posts: 306
File comments: 1017
Uploads: 1
Well i have a mix of english and french keybinds but that works, i was just surprised, and as it works do not bother with that, i will not either )

Thanks for looking anyway and answering me. And i love your addon

Originally Posted by Talen-Shei
Originally Posted by Anceane
Langage game English - Computer langage french -
Canadian Multilingual standard Keyboard


Could it be the problem causing that since i use your addon half of my keybinds are in french ? (was using Binder before, and it has been removed from the vars folder).

For example i have now this :



before = now
Home = Origine
Page up = Page Prec.
Page down = Page suiv.

Thank you
I don't see any reason this should happen. I retrieve the saved keybinds by iterating through all of the binds you can have and saving them (including their names for debugging purposes, but they are not used for setting keybinds). This sounds very much like an issue with localization and I have not even tried to read what the localization is, nor to I deal with anything in words. It's all numeric. From what I understand there should be no possibility of my add-on causing this issue, but I haven't seen what happens behind the functions I use.

From my code:
Lua Code:
  1. if keycode == 0 and keymod1 == 0 and keymod2 == 0 and keymod3 == 0 and keymod4 == 0 then
  2.     if IsProtectedFunction("UnbindKeyFromAction") then
  3.         CallSecureProtected("UnbindKeyFromAction", layer,cat,action,index)
  4.     else
  5.         UnbindKeyToAction(layer,cat,action,index)
  6.     end
  7. else
  8.     if IsProtectedFunction("BindKeyToAction") then
  9.         CallSecureProtected("BindKeyToAction", layer,cat,action,index,keycode,keymod1,keymod2,keymod3,keymod4)
  10.     else
  11.         BindKeyToAction(layer,cat,action,index,keycode,keymod1,keymod2,keymod3,keymod4)
  12.     end
  13. end

layer cat action and index are all numeric values that are read from the save table and should be localization ignorant.
Report comment to moderator  
Reply With Quote
Unread 08/14/15, 12:49 PM  
Talen-Shei
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 13
Uploads: 1
Originally Posted by Anceane
Langage game English - Computer langage french -
Canadian Multilingual standard Keyboard


Could it be the problem causing that since i use your addon half of my keybinds are in french ? (was using Binder before, and it has been removed from the vars folder).

For example i have now this :



before = now
Home = Origine
Page up = Page Prec.
Page down = Page suiv.

Thank you
I don't see any reason this should happen. I retrieve the saved keybinds by iterating through all of the binds you can have and saving them (including their names for debugging purposes, but they are not used for setting keybinds). This sounds very much like an issue with localization and I have not even tried to read what the localization is, nor to I deal with anything in words. It's all numeric. From what I understand there should be no possibility of my add-on causing this issue, but I haven't seen what happens behind the functions I use.

From my code:
Lua Code:
  1. if keycode == 0 and keymod1 == 0 and keymod2 == 0 and keymod3 == 0 and keymod4 == 0 then
  2.     if IsProtectedFunction("UnbindKeyFromAction") then
  3.         CallSecureProtected("UnbindKeyFromAction", layer,cat,action,index)
  4.     else
  5.         UnbindKeyToAction(layer,cat,action,index)
  6.     end
  7. else
  8.     if IsProtectedFunction("BindKeyToAction") then
  9.         CallSecureProtected("BindKeyToAction", layer,cat,action,index,keycode,keymod1,keymod2,keymod3,keymod4)
  10.     else
  11.         BindKeyToAction(layer,cat,action,index,keycode,keymod1,keymod2,keymod3,keymod4)
  12.     end
  13. end

layer cat action and index are all numeric values that are read from the save table and should be localization ignorant.
Report comment to moderator  
Reply With Quote
Unread 08/13/15, 04:24 AM  
Anceane
 
Anceane's Avatar
AddOn Author - Click to view AddOns

Forum posts: 306
File comments: 1017
Uploads: 1
Langage game English - Computer langage french -
Canadian Multilingual standard Keyboard


Could it be the problem causing that since i use your addon half of my keybinds are in french ? (was using Binder before, and it has been removed from the vars folder).

For example i have now this :

before = now
Home = Origine
Page up = Page Prec.
Page down = Page suiv.

Thank you
Report comment to moderator  
Reply With Quote
Unread 08/10/15, 11:14 AM  
Talen-Shei
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 13
Uploads: 1
Lol

Originally Posted by xMovingTarget
Talen, I fell in love with you!


Thanks for this awesome addon! Will make the lives of many ppl easier. =)
lol Target. I'm glad you like it.
Report comment to moderator  
Reply With Quote
Unread 08/10/15, 05:33 AM  
xMovingTarget

Forum posts: 3
File comments: 11
Uploads: 0
Talen, I fell in love with you!


Thanks for this awesome addon! Will make the lives of many ppl easier. =)
Report comment to moderator  
Reply With Quote
Unread 08/09/15, 12:11 PM  
Talen-Shei
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 13
Uploads: 1
Multi-Account

The beta should support Multi-Account profiles. Once the upload is verified you should all be able to download it and give it a shot.
Report comment to moderator  
Reply With Quote
Unread 08/08/15, 12:54 PM  
Talen-Shei
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 13
Uploads: 1
Multiple Accounts

Originally Posted by QuadroTony
nice replacement for Binder!!

also will be very appreciated if you add a feature to share keydinds across accounts too!
For the time being I do not have a means to test this. It seems from the save file it should work regardless.

Lua Code:
  1. ["$AccountWide"] =
  2.             {
  3.                 ["version"] = 0.3000000000,
  4.                 ["BindingTarget"] = "Main",
  5.                 ["GlobalTargetSystem"] = false,
  6.                 ["AvailKeyTables"] =
  7.                 {
  8.                     [2] = "PVP",
  9.                     [1] = "Main",
  10.                 },
  11.                 ["KeyTables"] =
  12.                 { ...
  13.                 },
  14.             },


I do not see any account identifying information there, but it may show up when the game detects a new account.

Edit: stupid me didn't look at the top. If you are familiar with save files this should be an easy thing to accomplish, if not simply find this line:

Lua Code:
  1. ["@Account_Name"] =  -- where account_name is the name of your account and copy from the beginning of this line
  2.         {
  3.              ....
  4.         }, -- copy to here (including this line)
  5.     },  -- paste BEFORE this line and change the @Account_Name to the name of the second account.
  6. } -- last line of the file

This will create a new set of saved vars for the other account. Note: this only works exactly as described if the other account has not been logged into with the mod running. Otherwise you will want to delete the other accounts information first.

Maybe someone else can do a better job at explaining than me, and likely someone has. Check the forums if this is difficult to understand.
Last edited by Talen-Shei : 08/08/15 at 01:04 PM.
Report comment to moderator  
Reply With Quote
Unread 08/08/15, 03:40 AM  
QuadroTony
Banned
 
QuadroTony's Avatar
AddOn Author - Click to view AddOns

Forum posts: 828
File comments: 3866
Uploads: 3
nice replacement for Binder!!

also will be very appreciated if you add a feature to share keydinds across accounts too!
Last edited by QuadroTony : 08/08/15 at 03:41 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: