Thread Tools Display Modes
03/26/17, 11:16 AM   #1
OSean980
Join Date: Apr 2014
Posts: 15
[Request] Hide Keybind Strips

I made this request for the Azurah addon, but maybe it would be better as an independent addon or part of some other addon such as Hide Elements. First, I'd like to know if it's even possible to do.

Originally Posted by OSean980
I recently saw a dialog window that did not have anything other than the text options, and realized that a large reason I dislike ESO's user interface is because I generally dislike the display of key prompts that float out beside an option without any good visual integration. Is it possible to hide all the keybind strips through the UI? For example, on a dialog window, it will say "[E] Accept [Alt] Decline". I would like to have the keybinds hidden, so only the options are present such as "Accept Decline". Also in the default quest tracker window, it displays "[T]" beside the quest title to cycle through quests. Without having to unbind the T key, which also affects the death recap window, I want to be able to hide that key prompt. Hiding the E prompt for "[E] Search" and "[E] Interact", and the F prompt for player interactions, would be ideal as well. I'm not sure how the top and bottom bars in UI screens such as inventory would function if the key prompts are hidden, so maybe provide a toggle for that specific case?
  Reply With Quote
03/27/17, 01:51 AM   #2
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,973
Not tested ingame:
I'm not going to build this addon, just had a quick look at the keybind strip source and it might be this function here you could overwrite it so the keybinding's text won't prefix the (E) etc.

Src file:
http://esodata.uesp.net/current/src/...ls.lua.html#60

function name:
Lua Code:
  1. ZO_Keybindings_GenerateKeyMarkup(name)

Lua Code:
  1. function ZO_Keybindings_GenerateKeyMarkup(name)
  2.     return ("|u25%%:25%%:key:%s|u"):format(name)
  3. end

Your function:
Lua Code:
  1. function my_ZO_Keybindings_GenerateKeyMarkup(name)
  2.     return name
  3. end
  4.  
  5. --My version of ZOs function.
  6. if ZO_Keybindings_GenerateKeyMarkup ~= nil then
  7.    ZO_Keybindings_GenerateKeyMarkup = my_ZO_Keybindings_GenerateKeyMarkup
  8. end


But there is another function located here, which might needs to be altered:
http://esodata.uesp.net/current/src/...s.lua.html#162

It will build the keybind text by help of function
Lua Code:
  1. bindingText, key, mod1, mod2, mod3, mod4 = ZO_Keybindings_GetHighestPriorityBindingStringFromAction(actionName, KEYBIND_TEXT_OPTIONS_FULL_NAME, KEYBIND_TEXTURE_OPTIONS_EMBED_MARKUP, alwaysPreferGamepadMode)

Lua Code:
  1. function ZO_Keybindings_RegisterLabelForBindingUpdate(label, actionName, showUnbound, gamepadActionName, onChangedCallback, alwaysPreferGamepadMode)
  2.     local function UpdateRegisteredKeybind()
  3.         local bindingText, key, mod1, mod2, mod3, mod4
  4.         if gamepadActionName and (alwaysPreferGamepadMode or IsInGamepadPreferredMode()) then
  5.             bindingText, key, mod1, mod2, mod3, mod4 = ZO_Keybindings_GetHighestPriorityBindingStringFromAction(gamepadActionName, KEYBIND_TEXT_OPTIONS_FULL_NAME, KEYBIND_TEXTURE_OPTIONS_EMBED_MARKUP, alwaysPreferGamepadMode)
  6.         end
  7.         if not bindingText or #bindingText == 0 then
  8.             bindingText, key, mod1, mod2, mod3, mod4 = ZO_Keybindings_GetHighestPriorityBindingStringFromAction(actionName, KEYBIND_TEXT_OPTIONS_FULL_NAME, KEYBIND_TEXTURE_OPTIONS_EMBED_MARKUP, alwaysPreferGamepadMode)
  9.         end
  10.         if showUnbound or showUnbound == nil then
  11.             bindingText = bindingText or ZO_Keybindings_GenerateKeyMarkup(GetString(SI_ACTION_IS_NOT_BOUND))
  12.         else
  13.             label:SetHidden(bindingText == nil)
  14.             bindingText = bindingText or ""
  15.         end
  16.         label:SetText(bindingText)
  17.         if onChangedCallback then
  18.             onChangedCallback(label, bindingText, key, mod1, mod2, mod3, mod4)
  19.         end
  20.     end

Not sure if this would need to be altered as well, and if there are other functions to consider.

Last edited by Baertram : 03/27/17 at 01:54 AM.
  Reply With Quote
03/27/17, 10:51 AM   #3
OSean980
Join Date: Apr 2014
Posts: 15
Awesome. Thanks for digging to find all this Baertram.

Once I motivate myself to figure out how lua and zos api works, I'll make this modification. (Probably never going to happen )

If any kind addon author wants to take on this task from me before then, I would be very grateful.
  Reply With Quote

ESOUI » AddOns » AddOn Search/Requests » [Request] Hide Keybind Strips


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off