nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.09k stars 628 forks source link

Suggestion, possibility to locate a nvda command when pressing the keys #7074

Open fernando-jose-silva opened 7 years ago

fernando-jose-silva commented 7 years ago

Good afternoon dears. I would suggest a feature on nvda. I have been personalizing my nvda for a long time, so my copy has several configurations and addons. It is very common that I attach a new addon in nvda and that the configuration keys of this new addon conflict with the keys already assigned to an existing addon or even to a nvda configuration. In this case I have to re-assign a key combination to this new addon or re-assign a new key combination to an existing addon. It happens that when looking for a new free key combination to use I have to test combination by combining until I find a combination available, and for many times I assign a new combination that at first has no conflicts, but later I discover that there are conflicts because when I assi For some reason I did not persuade that it harmed any resource of an addom or of the own nvda. So, I believe it would be useful to press a key combination in the nvda gestures dialog and nvda itself tells me if the key combination is available for use or if it is already assigned to an nvda configuration or addon. Thank you.

ehollig commented 7 years ago

I believe you are able to retrieve this information by pressing NVDA+1 to turn on input help mode and press the command you would like to assign. I am unsure if this works for a modified keyboard layout though. CC @feerrenrut

fernando-jose-silva commented 7 years ago

You have a clue, this just does not work for add-ons I believe are older ones that do not expose shortcut keys in the help. Could the keyboard help or nvda's own input gesture window inform me of already duplicated keyboard commands, for my copy of nvda that already has years of customization would be very useful, only in a small search I have already found a few commands Duplicates. I believe that this would not only be valid for me.

feerrenrut commented 7 years ago

I think there are two use cases here (please correct me if these don't make sense to you, or there are more):

fernando-jose-silva commented 7 years ago

Perfect are these two situations.

derekriemer commented 7 years ago

this actually is a bigger issue since keys are context specific.

feerrenrut commented 7 years ago

@derekriemer Could you elaborate on that? Do the use-cases suggested need to change, or should there be additional use-cases? Are you pointing out that keys are context sensitive because it makes it more complicated to fix this issue?

derekriemer commented 7 years ago

@feerrenrut I was pointing out that not all keys are available at all times, so using input help is not suitable for this, because new keys can come into existance at any point. However, we can't even enumerate all the keys without making keyMaps register themselves with us (Because a completely random NVDAObject can decide hey, I want this key), and it may not exist yet. Just something for the implementer to be aware of.

yplassiard commented 6 years ago

Hi all, Here is another approach to, maybe, solve this issue: In addition to the check of the already bound gesture in the Gestures' dialog for global Plugins, we could imagine that when pressing a gesture, if more than one match is found, we could present a dialog to let the user choose which action to execute.

Typical workflow

We may also, in another feature, implements other enhancements, such as thae ability for NVDA to remember which gesture has been executed based on the user's choice and do not ask for this again until the end of the NVDA session.

Implementation

This kind of feature would greatly benefit from the extensionPoints introduced in late 2017 into the NVDA core to filter and decide what to do depending on the context.

What do you think?

Adriani90 commented 5 years ago

@yplassiard I think your approach sounds reasonable. cc: @nvdaes

Adriani90 commented 5 years ago

related also to #3848

gregjozk commented 5 years ago

Hi,

only for clarificationn: from my point of view, we want that NVDA shows key conflicts. these may happen due to addon's instalation, reassign existing gesture; also we must differentiate between global and app specific gestures. one of solutions could be another category in input gestures dialog, where duplicate items would be listed. e.g. here would be all elements with nvda+j key assigned. if one of them is app specific (input gesture dialog was opened during use Ms Word), it can be marked with * "star" due to higher priority. if I understand correctly, app specific gestures override global ones.

regards

Carlos-EstebanM commented 3 years ago

Hi all. A developer has an addon for Check Input Gestures duplicate, with an option in the submenu tools. Is a good idea have this feature in the core? Yes, is possible check if a command has an action with the input help, but the user need a feature for check if an addon have other action for a command. Is necessary for the users that use no official addons, for example. For example, is possible that a developer use NVDA+shift+c for an action, but the command NVDA+shift+c, in the tables, is only available in Word and Excel and some people don’t know this command. A possible form is an option for check in the menu NVDA, tools, or a category for gestures duplicate. The addon developed is here: https://github.com/grisov/checkGestures

Regards.

yplassiard commented 3 years ago

Very good idea. Would be a good idea that NVDA, upon first launch of a newly installed add-on, checks for dupplicates and present the list of conflicting gestures so that the user would be able to reassign them immediately, or, if we don't want to "block" the user until the gestures are reassigned, just warn him/her and let hm do the reassign within the gestures dialog.

nvdaes commented 3 years ago

@Carlos-EstebanM, you provided a link to the add-on, but I think you didn't mention to @grisov, who is its developer. Let's mention this person with @, in case the author is interested in receiving messages of this thread.

Carlos-EstebanM commented 3 years ago

OK, the next time I also go to mention the author also with the user in GitHub.

grisov commented 3 years ago

Hello colleagues,

Thank you for mention me in this conversation.
Like many NVDA users, I'm also interested in this question.
The add-on identifies only the most common situations of duplication of gestures, but it seems to me that this is enough.

Checking keyboard shortcuts at the time of their assignment and during the installation of add-ons are very good ideas.
I'll think about whether I can implement it in the add-on.

Good luck!

bhavyashah commented 2 years ago

This ticket is likely a duplicate of #3605 or #3605 is a duplicate of this ticket. Not sure what triage policy is: in case there is valuable conversation on duplicate tickets, do we still close all but one or is it alright to leave multiple open?

seanbudd commented 2 years ago

@bhavyashah we would close all but one. We would keep the one with the most information. In this case, I think these are separate features that could fix a common problem. I think implementing both of these features may be worth doing.