nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.11k stars 637 forks source link

Impossible to set caret to the position of the review cursor in rich edit controls when handle keys from other applications is enabled. #13968

Open lukaszgo1 opened 2 years ago

lukaszgo1 commented 2 years ago

Initially described in issue #13420

Steps to reproduce:

  1. Open NVDA's log viewer or Wordpad,
  2. Set your caret somewhere and move review cursor to the top of the edit field.
  3. Try to move caret to the position of the review cursor by pressing NVDA+Shift+numpad minus twice.
  4. In keyboard settings disable "Handle keys from other applications" and repeat steps 2 to 3.

Actual behavior:

When Handle keys from other applications is enabled caret fails to move.

Expected behavior:

Caret should be moved to the review position regardless of the "Handle keys from other applications" being enabled or disabled.

NVDA logs, crash dumps and other attachments:

Log snipped with "Handle keys from other applications" enabled:

IO - inputCore.InputManager.executeGesture (15:02:16.639) - winInputHook (3116):
Input: kb(desktop):shift+NVDA+numpadMinus
IO - speech.speech.speak (15:02:16.649) - MainThread (7152):
Speaking ['Move focus']
IO - inputCore.InputManager.executeGesture (15:02:16.649) - winInputHook (3116):
Input: kb(desktop):NVDA+
IO - inputCore.InputManager.executeGesture (15:02:16.759) - winInputHook (3116):
Input: kb(desktop):shift+NVDA+numpadMinus
IO - speech.speech.speak (15:02:16.769) - MainThread (7152):
Speaking ['Move focus']
IO - inputCore.InputManager.executeGesture (15:02:16.769) - winInputHook (3116):
Input: kb(desktop):NVDA+

Notice the additional lines Input: kb(desktop):NVDA+ which should not be there.

Log snipped with "Handle keys from other applications" disabled:

IO - inputCore.InputManager.executeGesture (15:03:29.438) - winInputHook (3116):
Input: kb(desktop):shift+NVDA+numpadMinus
IO - speech.speech.speak (15:03:29.448) - MainThread (7152):
Speaking ['Move focus']
IO - inputCore.InputManager.executeGesture (15:03:29.588) - winInputHook (3116):
Input: kb(desktop):shift+NVDA+numpadMinus
IO - speech.speech.speak (15:03:29.648) - MainThread (7152):
Speaking ['Developer Scratchpad mode enabled\r']

System configuration

NVDA installed/portable/running from source:

Both installed and portable.

NVDA version:

Latest Alpha, 2022.2

Windows version:

Tested on Windows 7 but should not matter.

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

Wordpad, NVDA's log viewer, QRead

Other information about your system:

None relevant

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.

The same issue occurs with 2019.2

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?

Haven't tried.

lukaszgo1 commented 2 years ago

@cary-rowen Would you be able to confirm that disabling "Handle keys from other applications" makes it possible to move caret to the position of the review cursor in bookworm?

cary-rowen commented 2 years ago

yes i can confirm this.

cary-rowen commented 2 years ago

Also, as you said in #13420, Say all needs to be improved.

LeonarddeR commented 1 year ago

@lukaszgo1 Can you still reproduce this with Wordpad in current alpha versions? Note that in NVDA itself, we forcefully disable UIA.

cary-rowen commented 1 year ago

Hi @leonardder

"Handle keys from other applications" is checked.

Excitingly, I can no longer reproduce this in WordPad and Bookworm using NVDA-alpha-28931,186a8d70. But still reproducible in NVDA's log viewer.

Thanks

LeonarddeR commented 1 year ago

I'm afraid we can not use UIA in NVDA's log viewer. That said, we could more safely consider disabling ITextDocument2 by default for the log viewer.

cary-rowen commented 1 year ago

Can we assume that #15314 has fixed (or partially fixed) this issue?