Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 4 commits into from
Jun 17, 2019

Conversation

codeofdusk
Copy link
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
Copy link
Contributor Author

@codeofdusk
Copy link
Contributor Author

@michaelDCurran Mind having another look at this?

Copy link
Member

@michaelDCurran michaelDCurran left a comment

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
Contributor Author

@michaelDCurran Did this fix it?

Copy link
Member

@michaelDCurran michaelDCurran left a comment

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