Skip to content

Have NVDA report keyboard shortcut/input gesture collisions for add-ons at load time #15242

@britechguy

Description

@britechguy

Is your feature request related to a problem? Please describe.

Please refer to NVDA Group topic,
NVDA and NVDA Shortcut Key Collision Avoidance - Does this exist?, for more information and the comments of others.

As more and more shortcuts come into being, many of which are somewhat "everything but the kitchen sink" in the range of what they do, shortcut collisions between those add-ons is not only bound to happen, but is already happening in certain combinations.

I believe that what determines "who owns/who wins" for a given keyboard shortcut (AKA input gesture) is the order in which add-ons load, which can differ for individuals depending on which add-ons they added when.

It is very, very easy either to forget that one add-on uses a specific keyboard shortcut or never to have known it in the first place if that shortcut is not one you ever use for that add-on. Later, if you add another that uses that same shortcut and there is a collision between two or more add-ons using it, nothing is reported.

Describe the solution you'd like

I would like NVDA to do an "input gestures check" at load time, after all add-ons have loaded, to check whether any keyboard shortcut/input gesture collisions exist and, if they do, to report those to the user. I do NOT expect NVDA to attempt to resolve those collisions, that would be up to the user, since only they can know how they'd like to resolve the situation and redefine a given input gestures.

Ideally, and if possible, it would be good to have each collision reported with:
Shortcut/gesture involved
Add-Ons list where collisions for that shortcut have been detected.
Which single add-on in that list currently "owns" that shortcut/gesture if no redefinitions are made.

Describe alternatives you've considered

None.

Additional context

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug squash targetfeaturefeature/input-gesturesp3https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions