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

Support the new Microsoft Quick input method for Chinese Traditional (Hong Kong) #11562

Merged
merged 12 commits into from Oct 12, 2020

Conversation

michaelDCurran
Copy link
Member

Link to issue number:

None.

Summary of the issue:

Windows 10 introduces a newer version of the Microsoft Quick input method for Chinese Traditional (Hong Kong). these new version is all UI automation, integrated into the windowsinternal composableshell_experiences textinput_inputapp.
Users expect Automatically reading all candidates in a list, including their number, and optional short character descriptions.

Description of how this pull request fixes the issue:

Ensure that these UI automation candiate items and lists get the correct behaviour in NVDA by making use of our existing candidate behaviour NVDAObjects.

Testing performed:

  • In Windows 10 settings:
  • Add the chinese Traditional (Hong Kong) language
  • Add the Microsoft Quick input method as a keyboard to this language if not there already.
  • In Notepad or another text editor:
  • Switch to chinese Traditional (Hong Kong) language with alt+shift
  • Ensure that you are in native input mode by tapping leftShift+rightShift until you are.
  • Type h then i. A candidate list should appear and NVDA should read it all. Moving the up and down arrows should speak the currently selected item.
  • Press 5 to choose the 5th candidate. A new Associated phrases list should appear and NVDA should automatically read all candidates.
  • Press shift+1 to choose the first assocated phrase and NVDA should announce that these symbols are typed into the document.

Known Issues

None

change log

New features:

  • Added support for the new chinese Traditional Quick Input method in Windows 10.

@michaelDCurran michaelDCurran added this to the 2020.4 milestone Sep 4, 2020
@michaelDCurran
Copy link
Member Author

@josephsl I have asked for your review on this pr as it directly touches a lot of your work in windowsinternal_composableshell_experiences_textinput_inputapp.py.
I hope this does not majorly conflict with any planned work you have -- but the Hong Kong community is quite interested in seeing this support very soon, in order that they can again enter characters with NvDA on Windows 10.

@lijianwei2019
Copy link

@larry801

@larry801
Copy link
Contributor

larry801 commented Sep 5, 2020

Tested the snapshot on Windows 10 19042 20207
Candidate and description can be announced.
When candidate has only one character, there is a long form description follows short form description, which is quite annoying.

Speaking [LangChangeCommand ('zh_CN'), '(你们的你)、1. 称对方,多称指一个人,有时也指称若干人:你厂。你方。 2. 泛指任何人:你死我活。', EndUtteranceCommand()]

@michaelDCurran
Copy link
Member Author

michaelDCurran commented Sep 5, 2020 via email

@larry801
Copy link
Contributor

larry801 commented Sep 5, 2020

Yes it happens on old Microsoft Quick input method. I will file another issue instead

@larry801
Copy link
Contributor

larry801 commented Sep 5, 2020

Found another issue about New Microsoft Quick

press h and y then use down and right arrow keys to navigate around candidates
nvda keeps reading blank

@michaelDCurran
Copy link
Member Author

@larry801 are you saying that if I commit your suggestions here the new Pinyin input method will also work? or are there other changes needed as well? If so then perhaps we should leave that for another pr. But if your suggested changes are all that is needed at a minimum then I'll be happy to take them here.

@larry801
Copy link
Contributor

larry801 commented Sep 9, 2020

@michaelDCurran Yes the three changes are all that is needed at a minimum.

@josephsl
Copy link
Collaborator

josephsl commented Sep 9, 2020 via email

michaelDCurran and others added 2 commits September 10, 2020 14:56
Co-authored-by: Larry Wang <41977369+larry801@users.noreply.github.com>
feerrenrut
feerrenrut previously approved these changes Sep 10, 2020
Copy link
Contributor

@feerrenrut feerrenrut left a comment

Choose a reason for hiding this comment

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

Generally this looks fine to me, and I think there is plenty of time for this to get testing.

print(f"oldText: {oldText}")
print(f"newText: {newText}")
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this might need to be removed.

@josephsl
Copy link
Collaborator

Hi mick and everyone,

I must say this PR is much better than the version I have implemented in Windows 10 App Essentials, as it also supports Hanja entry in 21H1 (Korean). Once merged into master, I'll "backport" this to NVDA 2020.1 environment via WinTenApps so folks can preview this change.

Thanks.

@josephsl
Copy link
Collaborator

Follow-up: this PR may also fix #10093 provided that @nishimotz can confirm it. Thanks.

@josephsl

This comment has been minimized.

@josephsl

This comment has been minimized.

@feerrenrut
Copy link
Contributor

If I'm not wrong, no issues have been found with this. If the debug logging is removed this should be ready to merge.

@michaelDCurran michaelDCurran merged commit fe6a96b into master Oct 12, 2020
1 check passed
@michaelDCurran michaelDCurran deleted the microsoftQuickInput branch October 12, 2020 03:49
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.

None yet

5 participants