N0ich / dialogkey-DF

GNU General Public License v3.0
11 stars 3 forks source link

Prevents battleground scoreboard default keybind when awaiting resurrection #42

Closed AlexFolland closed 3 months ago

AlexFolland commented 3 months ago

When awaiting resurrection in a battleground, the default keybind for the battleground scoreboard of Shift+Space doesn't work, and DialogKey just spams "[DialogKey] This dialog cannot be clicked by DialogKey. Sorry!".

I was not trying to cancel the resurrection; just trying to view the battleground scoreboard.

Please make DialogKey not active at all and not overriding the Shift+Space keybind while the battleground resurrection dialog is visible.

FuriousProgrammer commented 3 months ago

This issue is actually already solved within the addon's options, although looking at it again right now it could definitely be organized better.

Under the Priority settings, either disable "Capture Broken Inputs" or enable "Ignore DialogKey with Modifiers".

Also, I'd highly recommend you change from using Spacebar to literally any other key! I personally use F, overlapping blizzard's interact action keybind.

AlexFolland commented 3 months ago

You use qwerty F to open the battleground scoreboard? That's my right movement key, so the suggestion doesn't work for me.

Yes, "Capture Broken Inputs" is called showErrorMessage in the code, so I didn't realize it was connected. I thought it was very weird that the option to show error messages was also changing the interaction logic, when it should only determine whether to show the error message. My pull request solved that without me realizing that the intention for the option had already been changed retroactively without renaming the database variable. Thanks for pointing out that the functionality already exists.

I think it would be good to make this particular interaction work by default, since it affects anyone using the default DialogKey and default battleground scoreboard keybinds, when it didn't for most of the previous years using DialogKey. There could be many people who uninstalled DialogKey because they encountered this and aren't programmers like me who can fix it for themselves.

FuriousProgrammer commented 3 months ago

You use qwerty F to open the battleground scoreboard? That's my right movement key, so the suggestion doesn't work for me.

Ah, no, I meant for the DialogKey keybind. I believe I still have Space+Shift as my default for the battleground scoreboard.

My pull request solved that without me realizing that the intention for the option had already been changed retroactively without renaming the database variable.

Yeah, a handful of the options are like that. Originally the option /only/ controlled the error message itself, but I found that doing so without also consuming the input is bad UX. It's unfortunately not trivial to simply change the name of the option in the Ace3 database -- doing so just /creates a new option/ in the addon and ignores the old one, effectively resetting the setting to its default for everyone.

I think it would be good to make this particular interaction work by default

Good defaults are hard! In this specific case the better option is to default-enable the "Ignore Modifier Keys" setting, I can't remember why we chose to have that off by default in the first place honestly. Noitch tried to change the default DialogKey from Spacebar to something else (Spacebar is a remarkably awful keybind for it, in practice!) but we had dozens of people complain that this caused the addon to stop working entirely. ><

That said, it's really not my problem if people find DialogKey doing something they don't like and don't think to check and explore the in-game options. As I said above, I admit that the settings could be laid out better (and the custom blacklist, while working in code, doesn't have an in-game configuration yet!) but this addon is very finnicky to get working in the first place, let alone deal with the myriad reasons and use-cases people have for it.

Frankly, this is something that Blizzard needs to add to their official interface as an accessibility feature!

AlexFolland commented 3 months ago

That said, it's really not my problem if people find DialogKey doing something they don't like and don't think to check and explore the in-game options.

Now that the issue is documented here and people can search for and find a solution here, I'm less concerned. Thanks for your time with this.

As I said above, I admit that the settings could be laid out better (and the custom blacklist, while working in code, doesn't have an in-game configuration yet!) but this addon is very finnicky to get working in the first place, let alone deal with the myriad reasons and use-cases people have for it.

As a fellow addon author, I totally get that. The entire tooltip functionality in my biggest addon, AutoGear, is completely broken on WoW mainline after version 10.0.2 and even Blizzard devs basically admitted to me in the WoW UI dev chat that they didn't think of my use case and that the same functionality I used to use is no longer possible, and not intentionally, so now AutoGear is bizarrely classic-only. I've had weeks of back-and-forth with users complaining about it and even a dev who was trying in earnest to fix it together with me. It's annoying how Blizzard keeps doing these major refactors, especially ones which accidentally lose functionality. They should leave the addon API untouched unless they're solving a real problem and improving functionality and/or significantly improving performance.

Frankly, this is something that Blizzard needs to add to their official interface as an accessibility feature!

Agreed. DialogKey has felt essential since I first installed it many years ago and I appreciate that you've kept it updated over the years. It's truly an important part of my gameplay; especially questing and getting through those long dialogs like that quest at the end of Uldaman.