Giter VIP home page Giter VIP logo

checkgestures's Introduction

NVDA Check Input Gestures

  • Author: Oleksandr Gryshchenko
  • Version: 1.0
  • NVDA compatibility: 2020.3 and beyond
  • Download stable version

Find and fix input gestures conflicts in NVDA and add-ons. The general term "input gestures" includes keyboard commands, commands entered from Braille keyboards and gestures of touch screens.

Each of the installed add-ons can make changes to the NVDA configuration by adding or reassigning existing input gestures. If the same input gestures are binded to several functions, it will be impossible to call some of them.

Search for duplicate gestures

To detect duplicate gestures, call the NVDA menu, go to the "Tools" submenu, then - "Check Input Gestures" and activate the menu item "Search for duplicate gestures...".

After that, all input gestures used in NVDA will be checked in the following order:

  1. globalCommands;
  2. globalPlugins.

If the same input gestures will be detected, which are assigned to different functions, their list will be displayed in a separate dialog box.

After pressing the Enter key on the selected list item, the corresponding NVDA function will be selected and opened in the standard "Input Gestures..." dialog, where you can delete or reassign the associated gesture.

Note: As you know, features that don't have a text description do not appear in the "Input Gestures..." dialog. Therefore, after activating such an element, the corresponding warning will be displayed.

Gestures without description

To view the list of gestures binded with functions without a text description, if they are found in your NVDA configuration, you need to call the NVDA menu, go to the submenu "Tools", then - "Gestures without description...".

Such features do not appear in the standard NVDA "Input Gestures..." dialog, so it is not yet possible to delete or reassign associated gestures.

Help

One way to view this help page is to call up the NVDA menu, go to the "Tools" submenu, then - "Check Input Gestures", and activate "Help".

Note: All features of the add-on are presented in the NVDA "Input Gestures" dialog and you can assign your own keyboard shortcuts to each of them.

Contributions

We are very grateful to everyone who made the effort to develop, translate and maintain this add-on:

  • Jani Kinnunen - Finnish translation;
  • Wafiqtaher - Arabic translation;
  • Angelo Miguel Abrantes - Portuguese translation;
  • Cagri Dogan - Turkish translation;
  • Cary Rowen - simplified Chinese translation.

Change log

Version 1.0.5

  • the add-on has been tested for compatibility with NVDA 2023.1;
  • changed the short name of the add-on in the store and updated the download link in ReadMe.

Version 1.0.3

  • the add-on has been tested for compatibility with NVDA 2022.1;
  • implemented search for duplicate input gestures;
  • implemented search for input gestures binded to functions without a text description.

Altering of add-on source code

You may clone this repo to make alteration to NVDA Check Input Gestures.

Third Party dependencies

These can be installed with pip:

  • markdown
  • scons
  • python-gettext

To package the add-on for distribution

  1. Open a command line, change to the root of this repo
  2. Run the scons command. The created add-on, if there were no errors, is placed in the current directory.

checkgestures's People

Contributors

cary-rowen avatar cyrilleb79 avatar grisov avatar jkinnunen avatar stefanbanita avatar tech10 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

checkgestures's Issues

A proposal on the list view of results

Hi Oleksandr,
it would be very interesting if you organized the dialog with two lists.
I try to explain myself!
The first list could have only the shortcuts, selected, by pressing the TAB key, you go to a second list where there are the scripts connected to the shortcuts, such as:
NVDA + Ctrl + b (Desktop Layout);
TAB
Script description or function name: Markdown to HTML conversion. The result is displayed in your default browser;
Category: Markdown Forever
Script description or function name: Show NVDA browsing mode settings;
Category: Configuration

This way, when looking for duplicates, the result is more organized.
I say this because, right now, the duplicate shortcuts are randomly distributed.
With two lists we could organize the shortcuts in the first and the scripts in the second; so, if a shortcut has multiple scripts linked, they could all be listed in the second list.
Much faster to organize duplicate shortcuts, without having to search for them one by one.
Greetings and thanks !!!

Will v1.0.6 be in the NVDA Add-On Store?

I've downloaded it directly from here, and it is compatible with NVDA 2024.1, and I presume that was one of the main purposes for this dot level release.

It is not, at least at the moment, showing up in the Add-On Store, but the prior version, 1.0.5, is and is noted as incompatible.

I just wanted to make you aware of this in case there is a hitch somewhere preventing version 1.0.6 from making it into the Add-On Store.

Gestures without descriptions are not displayed in all cases

STR:

  1. Install an add-on like placeMarkers
  2. In the source code of placeMarkers, go to some scripts like those used to open the bookmarks or specific search folder and place a # before the description word.
  3. Save the add-on and restart NVDA.
  4. Search for commands without description with Check Gestures add-on.

Expected:

The above scripts should be displayed in the dialog.

Actual:

They aren't displayed, but NVDA behavior is as expected since these commands cannot be assigned.

I think that NVDA's behavior is useful like that, so that we can assign commands for example to gestures that should be sent but not reassigned, useful to change the behavior of NVDA in apps with default gestures. So I think that this add-on should display these gestures since they maybe important for the user.

I've reviewed the add-on and, according to documentation, if I'm not wrong about this issue, for now user experience should be improved before posting it on the website, according to the current criteria followed by reviewers (this may change when the new process proposed by @feerrenrut is in place, not sure).
Thanks and let me know in case I'm missing something.

Compatibility with 2019.3.1 is advertised but not suported

Hello

Here is an error found when testing with NVDA 2019.3.1.

STR

Run NVDA 2019.3.1 with this add-on.

Actual result

The add-on does not load and the following error is in the log:

Error importing global plugin checkGestures
Traceback (most recent call last):
  File "globalPluginHandler.pyc", line 23, in listPlugins
  File "importlib\__init__.pyc", line 127, in import_module
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\checkGestures\globalPlugins\checkGestures\__init__.py", line 17, in <module>
    from .graphui import DuplicatedGesturesDialog, UnsignedGesturesDialog
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\checkGestures\globalPlugins\checkGestures\graphui.py", line 12, in <module>
    from gui.inputGestures import InputGesturesDialog
ModuleNotFoundError: No module named 'gui.inputGestures'

Expected result

Two solutions:

  • Solution 1: The add-on loads and works successfully with NVDA 2019.3.1
  • Solution 2: Modify the compatibility flags to cover a range where the add-on is really working.
    I do not have a preference. Personally, I was just using NVDA 2019.3.1 for test purpose and I do not need this add-on while testing, so solution 2 is enough for me.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.