Skip to content

UI Automation in Windows Console: remove the isTyping logic from UIA consoles#9673

Merged
michaelDCurran merged 4 commits into
nvaccess:masterfrom
codeofdusk:cmduia3-no-istyping
Jun 17, 2019
Merged

UI Automation in Windows Console: remove the isTyping logic from UIA consoles#9673
michaelDCurran merged 4 commits into
nvaccess:masterfrom
codeofdusk:cmduia3-no-istyping

Conversation

@codeofdusk

Copy link
Copy Markdown
Contributor

Link to issue number:

Builds on #9614.

Summary of the issue:

Currently, in UIA consoles:

  • In console applications that update the screen while the user is typing (i.e. before winConsoleUIA._isTyping is cleared), reporting of new text and speak typed words may not function correctly.

Description of how this pull request fixes the issue:

This PR removes the _isTyping check from consoles. Instead:

  • LiveText objects strip spaces when filtering typed characters from new text.
  • In UIA consoles, if a new text line (after stripping spaces) contains two characters or fewer, it is not reported.
  • when a new line is written to the console, the typed word buffer and typed character queue are flushed.

Testing performed:

On Windows 10 1903, with "speak typed words" and UIA in consoles enabled:

  1. Opened a command console.
  2. In a git repository, typed git log.
  3. pressed q.
  4. typed git and pressed space.

Before this change: NVDA says "qgit".
After this change: NVDA says "git".

Known issues with pull request:

When typing quickly, a few typed characters may bypass the filter, resulting in doubled or incorrectly echoed characters. A more severe form of this issue also occurs in legacy consoles. We might want to filter more aggressively at the risk of missing some new text.

Change log entry:

None.

This makes autoread work with more console programs at the cost of a few typed characters possibly being echoed/doubled.
@codeofdusk codeofdusk force-pushed the cmduia3-no-istyping branch from 264697c to 9414605 Compare June 5, 2019 22:48
@codeofdusk

Copy link
Copy Markdown
Contributor Author

@codeofdusk

Copy link
Copy Markdown
Contributor Author

@michaelDCurran Mind having another look at this?

@michaelDCurran michaelDCurran left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the liblouis submodule has accidentally been updated to a different commit.

@codeofdusk

Copy link
Copy Markdown
Contributor Author

@michaelDCurran Did this fix it?

@michaelDCurran michaelDCurran left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is all good now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants