nvaccess / nvda

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

Toggle keyboard help with nvda plus 1 from Braille keyboard not working #14413

Open DGartmann opened 1 year ago

DGartmann commented 1 year ago

Steps to reproduce:

  1. In the Input Gestures dialog, under the category named "Emulated system keyboard keys ", define a Braille command to the following command: "Virtually toggles the NVDA key to emulate a keyboard shortcut with braille input". You can, for example, bind it to dot1+dot3+dot4+dot5+space.
  2. Save the change by tabbing to the OK-button and press either Enter or Space.
  3. Press the Braille command for the NVDA key that was defined in item 1, followed by the digit 1 on the Braille device.

    Actual behavior:

Keyboard help is then turned on as expected. Press the same sequence on the Braille device. The output is as follows: "Inputs braille dots via the braille keyboard".

Expected behavior:

Keyboard help should be turned off just like when pressing NVDA+1 on the computer keyboard.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2022.3.2 and 2022.4 beta 3.

Windows version:

Windows11.

Name and version of other software in use when reproducing the issue:

Other information about your system:

Tested both with a HumanWAre Brailliant BI40X and a Focus 40 5th Generation.

Other questions

Does the issue still occur after restarting your computer?

Yes.

Have you tried any other versions of NVDA? If so, please report their behaviors.

If NVDA add-ons are disabled, is your problem still occurring?

Yes.

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes.

CyrilleB79 commented 1 year ago

Hi @DGartmann

I can reproduce with French keyboard, but not with English keyboard layout. The issue can be reproduced with other shortcuts including modifiers + a number, e.g. NVDA+2, ctrl+2 (in MS Word). A main difference between these two layouts is that to write numbers with the French keyboard layout, the shift modifier key needs to be pressed.

Which keyboard layout are you using? To write a number with the keys above the QWERTY row keys, do you need to press the shift modifier?

Technical note:

In the Python console with the English keyboard layout:

>>> keyboardHandler.KeyboardInputGesture.fromName('NVDA+1').displayName
'NVDA+1'
>>> keyboardHandler.KeyboardInputGesture.fromName('NVDA+1').modifierNames
['NVDA']

In the Python console with the French keyboard layout:

>>> keyboardHandler.KeyboardInputGesture.fromName('NVDA+1').displayName
'NVDA+majuscule+1'
>>> keyboardHandler.KeyboardInputGesture.fromName('NVDA+1').modifierNames
['NVDA', 'shift']
DGartmann commented 1 year ago

Hi @CyrilleB79. I am using the Danish keyboard layout. The numbers row above the letters produce numbers without the need to hold down the Shift key. However, I wasn't paying much attention to which keyboard layout I was using because I was typing on my Braille device. I just tried switching to the US English keyboard layout and am getting the same behavior from my Braille device as I am describing in this issue.

DGartmann commented 1 year ago

The behavior is still present in NVDA 2023.2 beta 1 so I'll leave this issue open.