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
Editing Korean letters with NVDA and braille display issue. #5640
Comments
Hi, |
Hmm. So what do the arrow keys do? Do they exit composition?
Also, I don't understand the issue with mixed Korean/English. I would
have thought that typing English characters should exit composition.
Btw, I think you want @michaelDCurran. :)
|
Hi, eventually found the correct one… When I press arrow keys, cursor moves as expected, closing the input composition window in the process. From: James Teh [mailto:notifications@github.com] Hmm. So what do the arrow keys do? Do they exit composition? Also, I don't understand the issue with mixed Korean/English. I would Btw, I think you want @michaelDCurran. :) — |
The meaning of mixed Korean and English is that starting with some Korean letters and in the middle of Korean letters, typing some English. Thank you. 김 형 섭 / Hyongsop Kim 서울시 종로구 가회동 1-29 http://dialogueinthedark.co.kr -----Original Message----- Hi, eventually found the correct one… When I press arrow keys, cursor moves as expected, closing the input composition window in the process. From: James Teh [mailto:notifications@github.com] Sent: Sunday, January 3, 2016 4:38 PM To: nvaccess/nvda Cc: josephsl Subject: Re: [nvda] Editing Korean letters with NVDA and braille display issue. (#5640) Hmm. So what do the arrow keys do? Do they exit composition? Also, I don't understand the issue with mixed Korean/English. I would have thought that typing English characters should exit composition. Btw, I think you want @michaelDCurran. :) — Reply to this email directly or view it on GitHub <">#5640 (comment)> .Image removed by sender. — |
I understood that, but what I'm querying is whether the composition
window disappears when English characters are typed. I imagined it
would, but it'd be good to have someone confirm this.
|
Hello, in the middle of Korean typing, if I press key that change to English, composition window is finished. Thank you. 김 형 섭 / Hyongsop Kim 서울시 종로구 가회동 1-29 http://dialogueinthedark.co.kr -----Original Message----- I understood that, but what I'm querying is whether the composition window disappears when English characters are typed. I imagined it would, but it'd be good to have someone confirm this. — |
So when you type English characters, the composition window disappears,
but NVDA doesn't recognise this and continues to display just the
composition in braille?
|
Yes, if I open the new document and type just English, no problem. Thank you. 김 형 섭 / Hyongsop Kim 서울시 종로구 가회동 1-29 http://dialogueinthedark.co.kr -----Original Message----- So when you type English characters, the composition window disappears, but NVDA doesn't recognise this and continues to display just the composition in braille? — |
Is this fixed in the latest snapshot for the "next" branch? I'm guessing this is #4145. |
Sorry for the late reply. If you need more testing, please let me know. 김 형 섭 / Hyongsop Kim 서울시 종로구 가회동 1-29 http://dialogueinthedark.co.kr -----Original Message----- Also in word program, if I type some Korean letters and type English letters, the English letters are not appeared in my braille display. Is this fixed in the latest snapshot for the "next" branch? I'm guessing this is #4145. — |
@josephsl, can you reproduce the mixed Korean/Englihs issue in Word? I
don't understand why you can't see the English characters on the display
if the composition window disappears.
|
Hi, Confirmed: when I type English, switch to Korean, type something and then switch back to English, I can’t see English characters on my BrailleNote (using it as a braille display). Thanks. From: James Teh [mailto:notifications@github.com] @josephsl, can you reproduce the mixed Korean/Englihs issue in Word? I — |
Can you provide the devInfo for the focus after typing English
characters please?
|
Here it is (may not be formatted correctly: name: u'Microsoft Word Document' role: ROLE_EDITABLETEXT states: STATE_MULTILINE, STATE_FOCUSABLE, STATE_FOCUSED isFocusable: True hasFocus: True Python object: <NVDAObjects.Dynamic_IAccessibleWordDocumentWindowNVDAObject object at 0x09E22570> Python class mro: (<class 'NVDAObjects.Dynamic_IAccessibleWordDocumentWindowNVDAObject'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.winword.WordDocument'>, <class 'NVDAObjects.behaviors.EditableTextWithoutAutoSelectDetection'>, <class 'editableText.EditableTextWithoutAutoSelectDetection'>, <class 'NVDAObjects.behaviors.EditableText'>, <class 'editableText.EditableText'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>) description: None location: (0, 172, 1349, 534) value: None appModule: <'appModuleHandler' (appName u'winword', process ID 5052) at address 9c520d0> appModule.productName: u'Microsoft Office 2013' appModule.productVersion: u'15.0.4779.1001' TextInfo: <class 'NVDAObjects.window.winword.WordDocumentTextInfo'> windowHandle: 461392 windowClassName: u'_WwG' windowControlID: 0 windowStyle: 1442840576 windowThreadID: 1856 windowText: u'Microsoft Word Document' displayText: u'' IAccessibleObject: <POINTER(IAccessible) ptr=0xb262f80 at 9e26620> IAccessibleChildID: 0 IAccessible event parameters: windowHandle=461392, objectID=-4, childID=0 IAccessible accName: u'Microsoft Word Document' IAccessible accRole: ROLE_SYSTEM_CLIENT IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580) IAccessible accDescription: None IAccessible accValue: None From: James Teh [mailto:notifications@github.com] Can you provide the devInfo for the focus after typing English — |
Okay. So the composition window is definitely disappearing. Do you see
other text on the line or only the Korean characters you just composed?
And you're saying only the English characters are missing? Are the
English characters always missing then?
|
Thank you Joseph, for helping me to explain detaily. If I type Korean, after all characters including English, numbers, other characters are not displayed on my braile display. So even just one word that Korean typed, all characters are not displayed. Thank you. 김 형 섭 / Hyongsop Kim 서울시 종로구 가회동 1-29 http://dialogueinthedark.co.kr -----Original Message----- Okay. So the composition window is definitely disappearing. Do you see other text on the line or only the Korean characters you just composed? And you're saying only the English characters are missing? Are the English characters always missing then? — |
Hi, English characters disappear when typing them after typing Korean. STR:
|
When the English characters are missing, if you alt+tab out and back in again, do they appear? Can you give me a quick key sequence to get some Korean characters for testing? |
Hi, Some keystrokes I used:
English: Hello (then no space) Note that braille output table should be Korean also. |
I have located the underlying issue: The easiest way to fix this is to use queueEvent instead of executeEvent. However, there may be side-effects to do with timing with input composition handling. We will have to just see. A safer way might be to have executeEvent take an optional keyword argument, say "fromQueue" which would only be set to true when coming from the queue (i.e. not called directly by outside code). If fromQueue is False, executeEvent itself should update lastQueuedFocusObject as from an external point of view, the call is really the equivalent to queueEvent except that it happens straight away. Any thoughts @jcsteh? |
A simple way to describe this issue, if not noted already, is that once composition ends, although the braille display again shows the document content, it no longer updates due to typed characters. Selection detection is also broken. |
But handleInputCompositionStart also uses executeEvent, so why would lastQueuedFocusObject be the composition object? And if it isn't, what is it then?
I'm actually a bit worried about the fact that we use executeEvent at all. executeEvent isn't supposed to be called from a background thread. That means speech and braille could be happening in the background thread and we only guarantee that those need to work in the main thread. Also, there could be race conditions with focus events between the two threads.
If there's some special reason we need to use executeEvent for input composition, we could also just set lastQueuedFocusObject directly before calling it. Obviously, we shouldn't be tweaking eventHandler internals like that, but it's probably safer to deal with a special case internally rather than exposing something publicly which might be frequently misunderstood. Yes, anyone could tweak lastQueuedFocusObject, but if they do, we can say "you tweaked stuff you shouldn't have; you're on your own". |
Please test this try build which hopefully fixes the issue: |
Hello, thank you very much for your fixing this issue. 김 형 섭 / Hyongsop Kim 서울시 종로구 가회동 1-29 http://dialogueinthedark.co.kr -----Original Message----- Please test this try build which hopefully fixes the issue: http://www.nvaccess.org/files/nvda/try/i5640/nvda_snapshot_try-i5640-11798,c38150f.exe — |
Hi Mick, I can also confirm the issue is resolved. Thanks. Now the question is if this fix broke anything major… From: khsbory [mailto:notifications@github.com] Hello, thank you very much for your fixing this issue. 김 형 섭 / Hyongsop Kim 서울시 종로구 가회동 1-29 http://dialogueinthedark.co.kr -----Original Message----- Please test this try build which hopefully fixes the issue: http://www.nvaccess.org/files/nvda/try/i5640/nvda_snapshot_try-i5640-11798,c38150f.exe — — |
Incubated in cd543f6. |
Sorry for slow response. Recently Japanese Team have confirmed that this issue happens with 2013.3jp and later versions. It should be filed as new issue, because Japanese IME may be something different from Korean IME. |
Hello, I’m Hyongsop Kim in Korea.
In Notepad or another word program, if I type just English letters, there is no problem.
But if I type Korean letters, my braille display cannot be scrolled to prior or next line, just panning within same line.
If I go to prior or next line, I have to press keyboard arrow keys, not braille display scroll key.
Also in word program, if I type some Korean letters and type English letters, the English letters are not appeared in my braille display.
So if I check, I have to move keyboard arrow keys.
Please check and fix this issue.
Thank you.
The text was updated successfully, but these errors were encountered: