nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Correct internal gesture ID for Seika Notetaker

Open school510587 opened this issue 6 months ago • 4 comments

Link to issue number:

Fixes issue 3 of #16828 .

Summary of the issue:

The br(seikantk):XXX IDs of bk:space and bk:space+dots are incorrect. Although it has few influence to UX, it may bring trouble to add-on developers.

Description of user facing changes

There must be one option displayed when adding a new gesture in Input gestures dialog is about Seika Notetaker. Without this PR, the option is always backspace+dX, e.g. backspace+d1+d3+d4+d5. Now, backspace+d1+d3+d4+d5, d1+d3+d4+d5+space, and backspace+d1+d3+d4+d5+space are displayed correctly according to the actual space key(s) pressed by the user.

Description of development approach

Type of space parameter of class InputGesture becomes int. It may be 1(backspace), 2(space), or 3(both). The correct key name is obtained from _getKeyNames.

Testing strategy:

  1. Open Input gestures dialog.
  2. Select an item and press Add.
  3. Press (the right) space with dots 1, 3, 4, and 5 on Seika Notetaker.
  4. d1+d3+d4+d5+space (Seika Notetaker) should be present.

If both spaces are pressed, the result should be backspace+d1+d3+d4+d5+space.

Known issues with pull request:

3 entries will be required to build a new item in gesture map. For example, br(seikantk):BACKSPACE+d1+d3+d4+d5, br(seikantk):d1+d3+d4+d5+SPACE, and br(seikantk):BACKSPACE+d1+d3+d4+d5+SPACE must be present to completely define the action for space with dots 1, 3, 4, and 5.

Code Review Checklist:

  • [ ] Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • [ ] Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • [x] UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • [ ] API is compatible with existing add-ons.
  • [ ] Security precautions taken.

Summary by CodeRabbit

  • New Features
    • Enhanced gesture handling logic to improve user interaction with the input system.
    • Updated space parameter representation to reflect key values, improving clarity and functionality.
  • Bug Fixes
    • Ensured consistency in the interpretation of the space parameter across different methods.

school510587 avatar Aug 23 '24 19:08 school510587