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

Lagging navigation and typing in RichEdit50W controls #14285

Open rehakp opened 2 years ago

rehakp commented 2 years ago

Steps to reproduce:

  1. Download MemPad (https://www.horstmuc.de/wmem.htm) 64-bit and start it.
  2. Press F9, then a context menu, select first item "Insert next" and choose it, then press Ctrl+Tab to go to an edit field.
  3. Type a few sentences that will span several lines when text is being wrapped.
  4. Try to navigate by cursor keys Up/Down and Left/Right and typing in the middle of the written text to see how poor the performance is.

Actual behavior:

f9
MemPad: Uložit soubor
Název souboru:  editační pole  prázdný
pravá šipka
prázdný
escape
*.lst - MemPad  nedostupné
MemPad - ver. 3.69  dialog  Pokračovat bez uložení?
Ano  tlačítko  Alt+a
pravá šipka
Ne  tlačítko  Alt+n
levá šipka
Ano  tlačítko  Alt+a
enter
*.lst - MemPad
stromové zobrazení
kontextová nabídka
Kontext  nabídka
dolní šipka
Přidat jako další   Ctrl+N  p  1 z 18
enter
*.lst - MemPad
stromové zobrazení
editační pole  vybráno &Nová stránka
ctrl+tab
editační pole  víceřádkové  prázdný
dolní šipka
Zkusíme si něco naspat česky, anglicky to moc nejde.
shift+ČáRKA
enter
Zkusíme si něco naspat česky, anglicky to moc nejde. Píšeme jednoduše, řespto se písmena zaměňují.
dolní šipka
You will see how letters are being swapped, e.g. P for R in words such as protože
pravá šipka
mimo odkaz  prázdný
levá šipka
e
pravá šipka
mimo odkaz  prázdný
pravá šipka
pravá šipka
prázdný
enter
You will see how letters are being swapped, e.g. P for R in words such as protože.
dolní šipka
Cursor movement or letters typed one per second.
backspace
mezera
dolní šipka
Cursor movement or letters typed one per second. In English there are almost no mistakes but in Czech there are many although no sellchpecking is active.
backspace
p
backspace
backspace
backspace
backspace
s
dolní šipka
sellcheckipng spellchecking spellchecking
pravá šipka
mimo odkaz  prázdný
dolní šipka
sellcheckipng spellchecking spellchecking sepllchecking
pravá šipka
mimo odkaz  prázdný
dolní šipka
sellcheckipng spellchecking spellchecking sepllchecking sepllchecking
pravá šipka
mimo odkaz  prázdný
backspace
p
backspace
s
numerická 7
Cursor movement or letters typed one per second. In English there are almost no mistakes but in Czech there are many although no sellchpecking is active. 
numerická 7
You will see how letters are being swapped, e.g. P for R in words such as protože.
numerická 7
Zkusíme si něco naspat česky, anglicky to moc nejde. Píšeme jednoduše, řespto se písmena zaměňují.
pravá šipka
pravá šipka
pravá šipka
mimo odkaz  prázdný
backspace
w
backspace
backspace
s
dolní šipka
sellcheckipng spellchecking spellchecking sepllchecking sepllchecking sw swapped letters
dolní šipka
sellcheckipng spellchecking spellchecking sepllchecking sepllchecking sw swapped letters sellpcheck sepllcheck
pravá šipka
mimo odkaz  prázdný
enter
sellcheckipng spellchecking spellchecking sepllchecking sepllchecking sw swapped letters sellpcheck sepllcheck
enter
typing slow:
enter
spellcheck protože
backspace
dvojtečka
backspace
z
enter
fast:
dolní šipka
protože protože rpotože
pravá šipka
mimo odkaz  prázdný
dolní šipka
protože protože rpotože proč protože 
dolní šipka
protože protože rpotože proč protože 
pravá šipka
mimo odkaz  prázdný
dolní šipka
protože protože rpotože proč protože prostě roptože to tak je
pravá šipka
pravá šipka
mimo odkaz  prázdný
enter
protože protože rpotože proč protože prostě roptože to tak je
horní šipka
protože protože rpotože proč protože prostě roptože to tak je
horní šipka
fast:
horní šipka
spellcheck protože

For me it is up to one second from keypress to NVDA speaking a letter, word or a line when navigating within the edit area that uses this type of control. The same behaviour can be observed in other application such as Miranda NG and its chat field or MemPad (https://www.horstmuc.de/wmem.htm). When typing, swapping letters in words is a common symptom.

Expected behavior:

You see it from the previous output where I present correct words by "slow typing" and wrong ones by "fast typing".

NVDA logs, crash dumps and other attachments:

none

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2022.4 beta2

Windows version:

Windows 10 22H2

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

MemPad (https://www.horstmuc.de/wmem.htm), Miranda NG (observed in chat edit area as well there)

Other information about your system:

DXDiag output included (I don't see any possibility to attach files):

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.

Yes, occurs in past versions as well (up to two/three years backwards).

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?

Yes.

seanbudd commented 2 years ago

This is possibly a problem with the implementation of the application/website, as a starting point please submit feedback to the authors to let them know about the problem. Please reproduce this issue and provide a log file of the behaviour. Ensure your log level is set to debug in general preferences.

Kind Regards, NV Access Software Developers

rehakp commented 2 years ago

Hello, this is, in my point of view, certainly not an application issue as this same application worked with older NVDA releases and it works with Narrator without any issues and in optimum speed. Below is the log output: IO - speech.speech.speak (10:22:54.933) - MainThread (20068): Speaking ['Adaptech.lst - MemPad', CancellableSpeech (still valid)] DEBUG - NVDAObjects.NVDAObject._get_placeholder (10:22:54.935) - MainThread (20068): Potential unimplemented child class: <NVDAObjects.IAccessible.IAccessible object at 0x07AC18F0> IO - braille.BrailleBuffer.update (10:22:54.936) - MainThread (20068): Braille regions text: ['Adaptech.lst - MemPad'] IO - braille.BrailleHandler.update (10:22:54.936) - MainThread (20068): Braille window dots: 17 145 1 1234 2345 15 14 125 3 123 234 2345 - 36 - 1347 15 134 12347 1 145 IO - inputCore.InputManager.executeGesture (10:22:55.940) - winInputHook (17848): Input: kb(laptop):rightArrow IO - inputCore.InputManager.executeGesture (10:22:57.350) - winInputHook (17848): Input: kb(laptop):rightArrow IO - speech.speech.speak (10:22:57.735) - MainThread (20068): Speaking ['editační pole', 'víceřádkové', CancellableSpeech (still valid), 'When typing this line it goes a bit faster but when I try to tyep at the of the rpeceding line characters are being entered after a 1-second delay! Even when tyipng this sentence there is such a delay. I am sure I tye correcptly but characters are being swapped. You can see how far the "" letterp went from "tye"p to be asted ipnto "correctly". This is definitely a NVDA bug as now I am typing with Narrator and no such problem exists.'] DEBUG - NVDAObjects.NVDAObject._get_placeholder (10:22:57.748) - MainThread (20068): Potential unimplemented child class: <NVDAObjects.Dynamic_IAccessibleRichEdit50WindowNVDAObject object at 0x08395ED0> IO - inputCore.InputManager.executeGesture (10:22:57.959) - winInputHook (17848): Input: kb(laptop):rightArrow IO - inputCore.InputManager.executeGesture (10:22:59.752) - winInputHook (17848): Input: kb(laptop):downArrow IO - braille.BrailleBuffer.update (10:23:00.423) - MainThread (20068): Braille regions text: ['When typing this line it goes a bit faster but when I try to tyep at the of the rpeceding line characters are being entered after a 1-second delay! Even when tyipng this sentence there is such a delay. I am sure I tye correcptly but characters are being swapped. You can see how far the "" letterp went from "tye"p to be asted ipnto "correctly". This is definitely a NVDA bug as now I am typing with Narrator and no such problem exists. '] IO - braille.BrailleHandler.update (10:23:00.424) - MainThread (20068): Braille window dots: 13457 1 1235 1235 1 2345 135 1235 - 1 1345 145 - 1345 135 - 234 136 14 125 - 1234 1235 135 12 123 15 134 - 15 1346 24 234 2345 234 3 - IO - braille.BrailleHandler.update (10:23:00.425) - MainThread (20068): Braille window dots: 13457 1 1235 1235 1 2345 135 1235 - 1 1345 145 - 1345 135 - 234 136 14 125 - 1234 1235 135 12 123 15 134 - 15 1346 24 234 2345 234 3 - DEBUG - editableText.EditableText._hasCaretMoved (10:23:00.658) - MainThread (20068): Caret didn't move before timeout. Elapsed: 100 ms IO - inputCore.InputManager.executeGesture (10:23:01.914) - winInputHook (17848): Input: kb(laptop):rightArrow IO - speech.speech.speak (10:23:03.399) - MainThread (20068): Speaking ['When typing this line it goes a bit faster but when I try to tyep at the of the rpeceding line characters are being entered after a 1-second delay! Even when tyipng this sentence there is such a delay. I am sure I tye correcptly but characters are being swapped. You can see how far the "" letterp went from "tye"p to be asted ipnto "correctly". This is definitely a NVDA bug as now I am typing with Narrator and no such problem exists.'] DEBUG - editableText.EditableText._hasCaretMoved (10:23:03.631) - MainThread (20068): Caret didn't move before timeout. Elapsed: 100 ms IO - speech.speech.speak (10:23:03.638) - MainThread (20068): Speaking ['mimo odkaz', 'prázdný'] IO - inputCore.InputManager.executeGesture (10:23:04.131) - winInputHook (17848): Input: kb(laptop):end IO - braille.BrailleBuffer.update (10:23:06.360) - MainThread (20068): Braille regions text: ['When typing this line it goes a bit faster but when I try to tyep at the of the rpeceding line characters are being entered after a 1-second delay! Even when tyipng this sentence there is such a delay. I am sure I tye correcptly but characters are being swapped. You can see how far the "" letterp went from "tye"p to be asted ipnto "correctly". This is definitely a NVDA bug as now I am typing with Narrator and no such problem exists. '] IO - braille.BrailleHandler.update (10:23:06.361) - MainThread (20068): Braille window dots: 13457 1 1235 1235 1 2345 135 1235 - 1 1345 145 - 1345 135 - 234 136 14 125 - 1234 1235 135 12 123 15 134 - 15 1346 24 234 2345 234 3 - IO - braille.BrailleHandler.update (10:23:06.362) - MainThread (20068): Braille window dots: 13457 1 1235 1235 1 2345 135 1235 - 1 1345 145 - 1345 135 - 234 136 14 125 - 1234 1235 135 12 123 15 134 - 15 1346 24 234 2345 234 3 - DEBUG - editableText.EditableText._hasCaretMoved (10:23:06.568) - MainThread (20068): Caret didn't move before timeout. Elapsed: 100 ms IO - speech.speech.speak (10:23:06.575) - MainThread (20068): Speaking ['prázdný'] DEBUG - speech.manager.SpeechManager._handleIndex (10:23:06.577) - MainThread (20068): Unknown index 6, speech probably cancelled from main thread. IO - braille.BrailleBuffer.update (10:23:09.188) - MainThread (20068): Braille regions text: ['When typing this line it goes a bit faster but when I try to tyep at the of the rpeceding line characters are being entered after a 1-second delay! Even when tyipng this sentence there is such a delay. I am sure I tye correcptly but characters are being swapped. You can see how far the "" letterp went from "tye"p to be asted ipnto "correctly". This is definitely a NVDA bug as now I am typing with Narrator and no such problem exists. '] IO - braille.BrailleHandler.update (10:23:09.189) - MainThread (20068): Braille window dots: 13457 1 1235 1235 1 2345 135 1235 - 1 1345 145 - 1345 135 - 234 136 14 125 - 1234 1235 135 12 123 15 134 - 15 1346 24 234 2345 234 3 - IO - braille.BrailleHandler.update (10:23:09.190) - MainThread (20068): Braille window dots: 13457 1 1235 1235 1 2345 135 1235 - 1 1345 145 - 1345 135 - 234 136 14 125 - 1234 1235 135 12 123 15 134 - 15 1346 24 234 2345 234 3 - IO - inputCore.InputManager.executeGesture (10:23:09.759) - winInputHook (17848): Input: kb(laptop):enter DEBUG - editableText.EditableText._hasCaretMoved (10:23:09.817) - MainThread (20068): Caret move detected using event. Elapsed: 0 ms IO - inputCore.InputManager.executeGesture (10:23:11.563) - winInputHook (17848): Input: kb(laptop):leftArrow IO - inputCore.InputManager.executeGesture (10:23:12.995) - winInputHook (17848): Input: kb(laptop):rightArrow IO - speech.speech.speak (10:23:13.065) - MainThread (20068): Speaking ['When typing this line it goes a bit faster but when I try to tyep at the of the rpeceding line characters are being entered after a 1-second delay! Even when tyipng this sentence there is such a delay. I am sure I tye correcptly but characters are being swapped. You can see how far the "" letterp went from "tye"p to be asted ipnto "correctly". This is definitely a NVDA bug as now I am typing with Narrator and no such problem exists.\r'] DEBUG - editableText.EditableText._hasCaretMoved (10:23:13.168) - MainThread (20068): Caret move detected using event. Elapsed: 0 ms IO - speech.speech.speak (10:23:13.175) - MainThread (20068): Speaking ['mimo odkaz', 'prázdný'] IO - inputCore.InputManager.executeGesture (10:23:13.231) - winInputHook (17848): Input: kb(laptop):rightArrow IO - inputCore.InputManager.executeGesture (10:23:13.437) - winInputHook (17848): Input: kb(laptop):rightArrow IO - inputCore.InputManager.executeGesture (10:23:13.632) - winInputHook (17848): Input: kb(laptop):rightArrow IO - inputCore.InputManager.executeGesture (10:23:14.043) - winInputHook (17848): Input: kb(laptop):rightArrow IO - inputCore.InputManager.executeGesture (10:23:14.345) - winInputHook (17848): Input: kb(laptop):rightArrow IO - inputCore.InputManager.executeGesture (10:23:14.667) - winInputHook (17848): Input: kb(laptop):rightArrow IO - inputCore.InputManager.executeGesture (10:23:15.749) - winInputHook (17848): Input: kb(laptop):shift+a IO - inputCore.InputManager.executeGesture (10:23:15.925) - winInputHook (17848): Input: kb(laptop):n IO - inputCore.InputManager.executeGesture (10:23:16.015) - winInputHook (17848): Input: kb(laptop):d IO - braille.BrailleBuffer.update (10:23:16.599) - MainThread (20068): Braille regions text: ['When typing this line it goes a bit faster but when I try to tyep at the of the rpeceding line characters are being entered after a 1-second delay! Even when tyipng this sentence there is such a delay. I am sure I tye correcptly but characters are being swapped. You can see how far the "" letterp went from "tye"p to be asted ipnto "correctly". This is definitely a NVDA bug as now I am typing with Narrator and no such problem exists. '] IO - braille.BrailleHandler.update (10:23:16.600) - MainThread (20068): Braille window dots: 13457 1 1235 1235 1 2345 135 1235 - 1 1345 145 - 1345 135 - 234 136 14 125 - 1234 1235 135 12 123 15 134 - 15 1346 24 234 2345 234 3 - IO - braille.BrailleHandler.update (10:23:16.601) - MainThread (20068): Braille window dots: 13457 1 1235 1235 1 2345 135 1235 - 1 1345 145 - 1345 135 - 234 136 14 125 - 1234 1235 135 12 123 15 134 - 15 1346 24 234 2345 234 3 - DEBUG - speech.manager.SpeechManager._handleIndex (10:23:16.648) - MainThread (20068): Unknown index 9, speech probably cancelled from main thread. IO - braille.BrailleBuffer.update (10:23:16.823) - MainThread (20068): Braille regions text: ['And '] IO - braille.BrailleHandler.update (10:23:16.824) - MainThread (20068): Braille window dots: 17 1345 145 - IO - braille.BrailleHandler.update (10:23:16.824) - MainThread (20068): Braille window dots: 17 1345 145 - IO - inputCore.InputManager.executeGesture (10:23:18.066) - winInputHook (17848): Input: kb(laptop):space IO - speech.speech.speakTypedCharacters (10:23:18.092) - MainThread (20068): typed word: And IO - braille.BrailleBuffer.update (10:23:18.174) - MainThread (20068): Braille regions text: ['And '] IO - braille.BrailleHandler.update (10:23:18.174) - MainThread (20068): Braille window dots: 17 1345 145 - - IO - braille.BrailleHandler.update (10:23:18.175) - MainThread (20068): Braille window dots: 17 1345 145 - - IO - inputCore.InputManager.executeGesture (10:23:18.271) - winInputHook (17848): Input: kb(laptop):n IO - braille.BrailleBuffer.update (10:23:18.395) - MainThread (20068): Braille regions text: ['And n '] IO - braille.BrailleHandler.update (10:23:18.396) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 - IO - braille.BrailleHandler.update (10:23:18.396) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 - IO - inputCore.InputManager.executeGesture (10:23:18.936) - winInputHook (17848): Input: kb(laptop):o IO - inputCore.InputManager.executeGesture (10:23:18.992) - winInputHook (17848): Input: kb(laptop):w IO - inputCore.InputManager.executeGesture (10:23:19.071) - winInputHook (17848): Input: kb(laptop):space IO - braille.BrailleBuffer.update (10:23:19.127) - MainThread (20068): Braille regions text: ['And now '] IO - braille.BrailleHandler.update (10:23:19.127) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - IO - braille.BrailleHandler.update (10:23:19.128) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - IO - speech.speech.speakTypedCharacters (10:23:19.138) - MainThread (20068): typed word: now IO - inputCore.InputManager.executeGesture (10:23:19.212) - winInputHook (17848): Input: kb(laptop):t IO - braille.BrailleBuffer.update (10:23:19.285) - MainThread (20068): Braille regions text: ['And now '] IO - braille.BrailleHandler.update (10:23:19.286) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - - IO - braille.BrailleHandler.update (10:23:19.286) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - - IO - inputCore.InputManager.executeGesture (10:23:19.297) - winInputHook (17848): Input: kb(laptop):h IO - braille.BrailleBuffer.update (10:23:19.468) - MainThread (20068): Braille regions text: ['And now th '] IO - braille.BrailleHandler.update (10:23:19.468) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 - IO - braille.BrailleHandler.update (10:23:19.469) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 - IO - inputCore.InputManager.executeGesture (10:23:20.304) - winInputHook (17848): Input: kb(laptop):e IO - inputCore.InputManager.executeGesture (10:23:20.399) - winInputHook (17848): Input: kb(laptop):space IO - braille.BrailleBuffer.update (10:23:20.498) - MainThread (20068): Braille regions text: ['And now the '] IO - braille.BrailleHandler.update (10:23:20.499) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - IO - braille.BrailleHandler.update (10:23:20.500) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - IO - speech.speech.speakTypedCharacters (10:23:20.508) - MainThread (20068): typed word: the IO - inputCore.InputManager.executeGesture (10:23:20.514) - winInputHook (17848): Input: kb(laptop):t IO - inputCore.InputManager.executeGesture (10:23:20.680) - winInputHook (17848): Input: kb(laptop):e IO - braille.BrailleBuffer.update (10:23:20.732) - MainThread (20068): Braille regions text: ['And now the t '] IO - braille.BrailleHandler.update (10:23:20.732) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 - IO - braille.BrailleHandler.update (10:23:20.733) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 - IO - inputCore.InputManager.executeGesture (10:23:20.871) - winInputHook (17848): Input: kb(laptop):s IO - braille.BrailleBuffer.update (10:23:20.904) - MainThread (20068): Braille regions text: ['And now the te '] IO - braille.BrailleHandler.update (10:23:20.904) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 - IO - braille.BrailleHandler.update (10:23:20.905) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 - IO - inputCore.InputManager.executeGesture (10:23:21.066) - winInputHook (17848): Input: kb(laptop):t IO - braille.BrailleBuffer.update (10:23:21.115) - MainThread (20068): Braille regions text: ['And now the tes '] IO - braille.BrailleHandler.update (10:23:21.116) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 - IO - braille.BrailleHandler.update (10:23:21.116) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 - IO - inputCore.InputManager.executeGesture (10:23:21.171) - winInputHook (17848): Input: kb(laptop):space IO - braille.BrailleBuffer.update (10:23:21.288) - MainThread (20068): Braille regions text: ['And now the test '] IO - braille.BrailleHandler.update (10:23:21.288) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - IO - braille.BrailleHandler.update (10:23:21.289) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - IO - speech.speech.speakTypedCharacters (10:23:21.323) - MainThread (20068): typed word: test IO - inputCore.InputManager.executeGesture (10:23:21.331) - winInputHook (17848): Input: kb(laptop):f IO - inputCore.InputManager.executeGesture (10:23:21.481) - winInputHook (17848): Input: kb(laptop):o IO - inputCore.InputManager.executeGesture (10:23:21.541) - winInputHook (17848): Input: kb(laptop):r IO - braille.BrailleBuffer.update (10:23:21.597) - MainThread (20068): Braille regions text: ['And now the test f '] IO - braille.BrailleHandler.update (10:23:21.597) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 - IO - braille.BrailleHandler.update (10:23:21.598) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 - IO - inputCore.InputManager.executeGesture (10:23:21.611) - winInputHook (17848): Input: kb(laptop):space IO - speech.speech.speakTypedCharacters (10:23:21.636) - MainThread (20068): typed word: for IO - inputCore.InputManager.executeGesture (10:23:21.823) - winInputHook (17848): Input: kb(laptop):d IO - braille.BrailleBuffer.update (10:23:21.856) - MainThread (20068): Braille regions text: ['And now the test for '] IO - braille.BrailleHandler.update (10:23:21.856) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - - IO - braille.BrailleHandler.update (10:23:21.857) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - - IO - inputCore.InputManager.executeGesture (10:23:22.059) - winInputHook (17848): Input: kb(laptop):e IO - braille.BrailleBuffer.update (10:23:22.170) - MainThread (20068): Braille regions text: ['And now the test for d '] IO - braille.BrailleHandler.update (10:23:22.171) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 - IO - braille.BrailleHandler.update (10:23:22.172) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 - IO - inputCore.InputManager.executeGesture (10:23:22.266) - winInputHook (17848): Input: kb(laptop):b IO - inputCore.InputManager.executeGesture (10:23:22.361) - winInputHook (17848): Input: kb(laptop):u IO - braille.BrailleBuffer.update (10:23:22.464) - MainThread (20068): Braille regions text: ['And now the test for de '] IO - braille.BrailleHandler.update (10:23:22.464) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 - IO - braille.BrailleHandler.update (10:23:22.465) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 - IO - inputCore.InputManager.executeGesture (10:23:22.532) - winInputHook (17848): Input: kb(laptop):g IO - inputCore.InputManager.executeGesture (10:23:22.696) - winInputHook (17848): Input: kb(laptop):g IO - braille.BrailleBuffer.update (10:23:22.744) - MainThread (20068): Braille regions text: ['And now the test for debu '] IO - braille.BrailleHandler.update (10:23:22.745) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 - IO - braille.BrailleHandler.update (10:23:22.745) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 - IO - braille.BrailleBuffer.update (10:23:22.990) - MainThread (20068): Braille regions text: ['And now the test for debugg '] IO - braille.BrailleHandler.update (10:23:22.990) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 - IO - braille.BrailleHandler.update (10:23:22.991) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 - IO - inputCore.InputManager.executeGesture (10:23:23.035) - winInputHook (17848): Input: kb(laptop):i IO - inputCore.InputManager.executeGesture (10:23:23.237) - winInputHook (17848): Input: kb(laptop):n IO - inputCore.InputManager.executeGesture (10:23:23.292) - winInputHook (17848): Input: kb(laptop):g IO - braille.BrailleBuffer.update (10:23:23.355) - MainThread (20068): Braille regions text: ['And now the test for debuggi '] IO - braille.BrailleHandler.update (10:23:23.355) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 - IO - braille.BrailleHandler.update (10:23:23.356) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 - IO - inputCore.InputManager.executeGesture (10:23:23.367) - winInputHook (17848): Input: kb(laptop):space IO - speech.speech.speakTypedCharacters (10:23:23.392) - MainThread (20068): typed word: debugging IO - inputCore.InputManager.executeGesture (10:23:23.526) - winInputHook (17848): Input: kb(laptop):t IO - inputCore.InputManager.executeGesture (10:23:23.596) - winInputHook (17848): Input: kb(laptop):o IO - braille.BrailleBuffer.update (10:23:23.636) - MainThread (20068): Braille regions text: ['And now the test for debugging '] IO - braille.BrailleHandler.update (10:23:23.637) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - - IO - braille.BrailleHandler.update (10:23:23.637) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - - IO - inputCore.InputManager.executeGesture (10:23:23.724) - winInputHook (17848): Input: kb(laptop):space IO - inputCore.InputManager.executeGesture (10:23:23.906) - winInputHook (17848): Input: kb(laptop):s IO - braille.BrailleBuffer.update (10:23:24.001) - MainThread (20068): Braille regions text: ['And now the test for debugging to '] IO - braille.BrailleHandler.update (10:23:24.001) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - 2345 135 - IO - braille.BrailleHandler.update (10:23:24.002) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - 2345 135 - IO - speech.speech.speakTypedCharacters (10:23:24.012) - MainThread (20068): typed word: to IO - inputCore.InputManager.executeGesture (10:23:24.249) - winInputHook (17848): Input: kb(laptop):e IO - braille.BrailleBuffer.update (10:23:24.288) - MainThread (20068): Braille regions text: ['And now the test for debugging to s '] IO - braille.BrailleHandler.update (10:23:24.288) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - 2345 135 - 234 - IO - braille.BrailleHandler.update (10:23:24.289) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - 2345 135 - 234 - IO - inputCore.InputManager.executeGesture (10:23:24.402) - winInputHook (17848): Input: kb(laptop):e IO - inputCore.InputManager.executeGesture (10:23:24.512) - winInputHook (17848): Input: kb(laptop):space IO - inputCore.InputManager.executeGesture (10:23:24.647) - winInputHook (17848): Input: kb(laptop):w IO - braille.BrailleBuffer.update (10:23:24.669) - MainThread (20068): Braille regions text: ['And now the test for debugging to se '] IO - braille.BrailleHandler.update (10:23:24.669) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - 2345 135 - 234 15 - IO - braille.BrailleHandler.update (10:23:24.670) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - 2345 135 - 234 15 - IO - speech.speech.speakTypedCharacters (10:23:24.682) - MainThread (20068): typed word: see IO - inputCore.InputManager.executeGesture (10:23:24.779) - winInputHook (17848): Input: kb(laptop):h IO - inputCore.InputManager.executeGesture (10:23:24.873) - winInputHook (17848): Input: kb(laptop):a IO - inputCore.InputManager.executeGesture (10:23:25.042) - winInputHook (17848): Input: kb(laptop):t IO - braille.BrailleBuffer.update (10:23:25.069) - MainThread (20068): Braille regions text: ['And now the test for debugging to see w '] IO - braille.BrailleHandler.update (10:23:25.070) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - 2345 135 - 234 15 15 - 12356 - IO - braille.BrailleHandler.update (10:23:25.070) - MainThread (20068): Braille window dots: 17 1345 145 - 1345 135 12356 - 2345 125 15 - 2345 15 234 2345 - 124 135 1235 - 145 15 12 136 1245 1245 24 1345 1245 - 2345 135 - 234 15 15 - 12356 - IO - inputCore.InputManager.executeGesture (10:23:25.117) - winInputHook (17848): Input: kb(laptop):space IO - inputCore.InputManager.executeGesture (10:23:25.253) - winInputHook (17848): Input: kb(laptop):h IO - inputCore.InputManager.executeGesture (10:23:25.353) - winInputHook (17848): Input: kb(laptop):a IO - braille.BrailleBuffer.update (10:23:25.463) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what '] IO - braille.BrailleHandler.update (10:23:25.463) - MainThread (20068): Braille window dots: 1 2345 - IO - braille.BrailleHandler.update (10:23:25.464) - MainThread (20068): Braille window dots: 1 2345 - IO - speech.speech.speakTypedCharacters (10:23:25.474) - MainThread (20068): typed word: what IO - inputCore.InputManager.executeGesture (10:23:25.587) - winInputHook (17848): Input: kb(laptop):p IO - inputCore.InputManager.executeGesture (10:23:25.736) - winInputHook (17848): Input: kb(laptop):p IO - inputCore.InputManager.executeGesture (10:23:25.831) - winInputHook (17848): Input: kb(laptop):e IO - braille.BrailleBuffer.update (10:23:25.841) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what ha '] IO - braille.BrailleHandler.update (10:23:25.842) - MainThread (20068): Braille window dots: 1 2345 - 125 1 - IO - braille.BrailleHandler.update (10:23:25.843) - MainThread (20068): Braille window dots: 1 2345 - 125 1 - IO - braille.BrailleBuffer.update (10:23:26.229) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haepp '] IO - braille.BrailleHandler.update (10:23:26.229) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 - IO - braille.BrailleHandler.update (10:23:26.230) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 - IO - inputCore.InputManager.executeGesture (10:23:26.275) - winInputHook (17848): Input: kb(laptop):n IO - braille.BrailleBuffer.update (10:23:26.715) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppn '] IO - braille.BrailleHandler.update (10:23:26.715) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 - IO - braille.BrailleHandler.update (10:23:26.716) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 - IO - inputCore.InputManager.executeGesture (10:23:26.841) - winInputHook (17848): Input: kb(laptop):s IO - inputCore.InputManager.executeGesture (10:23:26.945) - winInputHook (17848): Input: kb(laptop):space IO - inputCore.InputManager.executeGesture (10:23:27.154) - winInputHook (17848): Input: kb(laptop):d IO - inputCore.InputManager.executeGesture (10:23:27.275) - winInputHook (17848): Input: kb(laptop):u IO - braille.BrailleBuffer.update (10:23:27.328) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns '] IO - braille.BrailleHandler.update (10:23:27.328) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - IO - braille.BrailleHandler.update (10:23:27.329) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - IO - speech.speech.speakTypedCharacters (10:23:27.339) - MainThread (20068): typed word: haeppns IO - inputCore.InputManager.executeGesture (10:23:27.399) - winInputHook (17848): Input: kb(laptop):r IO - inputCore.InputManager.executeGesture (10:23:27.520) - winInputHook (17848): Input: kb(laptop):i IO - braille.BrailleBuffer.update (10:23:27.742) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns du '] IO - braille.BrailleHandler.update (10:23:27.742) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 - IO - braille.BrailleHandler.update (10:23:27.743) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 - IO - inputCore.InputManager.executeGesture (10:23:28.003) - winInputHook (17848): Input: kb(laptop):n IO - inputCore.InputManager.executeGesture (10:23:28.058) - winInputHook (17848): Input: kb(laptop):g IO - inputCore.InputManager.executeGesture (10:23:28.143) - winInputHook (17848): Input: kb(laptop):space IO - braille.BrailleBuffer.update (10:23:28.275) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns duri '] IO - braille.BrailleHandler.update (10:23:28.275) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 - IO - braille.BrailleHandler.update (10:23:28.276) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 - IO - speech.speech.speakTypedCharacters (10:23:28.288) - MainThread (20068): typed word: during IO - braille.BrailleBuffer.update (10:23:28.704) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during '] IO - braille.BrailleHandler.update (10:23:28.705) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - - IO - braille.BrailleHandler.update (10:23:28.705) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - - IO - inputCore.InputManager.executeGesture (10:23:29.004) - winInputHook (17848): Input: kb(laptop):t IO - inputCore.InputManager.executeGesture (10:23:29.167) - winInputHook (17848): Input: kb(laptop):y IO - inputCore.InputManager.executeGesture (10:23:29.276) - winInputHook (17848): Input: kb(laptop):p IO - inputCore.InputManager.executeGesture (10:23:29.500) - winInputHook (17848): Input: kb(laptop):i IO - braille.BrailleBuffer.update (10:23:29.566) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during t '] IO - braille.BrailleHandler.update (10:23:29.567) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 - IO - braille.BrailleHandler.update (10:23:29.567) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 - IO - inputCore.InputManager.executeGesture (10:23:29.684) - winInputHook (17848): Input: kb(laptop):n IO - inputCore.InputManager.executeGesture (10:23:29.729) - winInputHook (17848): Input: kb(laptop):g IO - inputCore.InputManager.executeGesture (10:23:29.853) - winInputHook (17848): Input: kb(laptop):. IO - braille.BrailleBuffer.update (10:23:30.037) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyip '] IO - braille.BrailleHandler.update (10:23:30.038) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 - IO - braille.BrailleHandler.update (10:23:30.039) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 - IO - speech.speech.speakTypedCharacters (10:23:30.063) - MainThread (20068): typed word: tyipng IO - braille.BrailleBuffer.update (10:23:30.543) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. '] IO - braille.BrailleHandler.update (10:23:30.543) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - IO - braille.BrailleHandler.update (10:23:30.544) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - IO - inputCore.InputManager.executeGesture (10:23:34.138) - winInputHook (17848): Input: kb(laptop):space IO - braille.BrailleBuffer.update (10:23:34.709) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. '] IO - braille.BrailleHandler.update (10:23:34.710) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - - IO - braille.BrailleHandler.update (10:23:34.711) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - - IO - inputCore.InputManager.executeGesture (10:23:34.912) - winInputHook (17848): Input: kb(laptop):shift+y IO - inputCore.InputManager.executeGesture (10:23:35.277) - winInputHook (17848): Input: kb(laptop):o IO - inputCore.InputManager.executeGesture (10:23:35.446) - winInputHook (17848): Input: kb(laptop):u IO - braille.BrailleBuffer.update (10:23:35.461) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. Y '] IO - braille.BrailleHandler.update (10:23:35.462) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 - IO - braille.BrailleHandler.update (10:23:35.463) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 - IO - inputCore.InputManager.executeGesture (10:23:35.566) - winInputHook (17848): Input: kb(laptop):space IO - inputCore.InputManager.executeGesture (10:23:35.732) - winInputHook (17848): Input: kb(laptop):c IO - inputCore.InputManager.executeGesture (10:23:35.938) - winInputHook (17848): Input: kb(laptop):a IO - braille.BrailleBuffer.update (10:23:36.030) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. You '] IO - braille.BrailleHandler.update (10:23:36.030) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 135 136 - IO - braille.BrailleHandler.update (10:23:36.031) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 135 136 - IO - speech.speech.speakTypedCharacters (10:23:36.041) - MainThread (20068): typed word: You IO - inputCore.InputManager.executeGesture (10:23:36.048) - winInputHook (17848): Input: kb(laptop):n IO - inputCore.InputManager.executeGesture (10:23:36.150) - winInputHook (17848): Input: kb(laptop):space IO - braille.BrailleBuffer.update (10:23:36.509) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. You can '] IO - braille.BrailleHandler.update (10:23:36.509) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 135 136 - 14 1 1345 - IO - braille.BrailleHandler.update (10:23:36.510) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 135 136 - 14 1 1345 - IO - inputCore.InputManager.executeGesture (10:23:36.515) - winInputHook (17848): Input: kb(laptop):f IO - speech.speech.speakTypedCharacters (10:23:36.552) - MainThread (20068): typed word: can IO - inputCore.InputManager.executeGesture (10:23:36.735) - winInputHook (17848): Input: kb(laptop):r IO - inputCore.InputManager.executeGesture (10:23:36.918) - winInputHook (17848): Input: kb(laptop):e IO - braille.BrailleBuffer.update (10:23:37.148) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. You can f '] IO - braille.BrailleHandler.update (10:23:37.148) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 135 136 - 14 1 1345 - 124 - IO - braille.BrailleHandler.update (10:23:37.149) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 135 136 - 14 1 1345 - 124 - IO - inputCore.InputManager.executeGesture (10:23:37.248) - winInputHook (17848): Input: kb(laptop):q IO - inputCore.InputManager.executeGesture (10:23:37.404) - winInputHook (17848): Input: kb(laptop):u IO - inputCore.InputManager.executeGesture (10:23:37.483) - winInputHook (17848): Input: kb(laptop):e IO - inputCore.InputManager.executeGesture (10:23:37.738) - winInputHook (17848): Input: kb(laptop):n IO - braille.BrailleBuffer.update (10:23:37.764) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. You can fre '] IO - braille.BrailleHandler.update (10:23:37.764) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 135 136 - 14 1 1345 - 124 1235 15 - IO - braille.BrailleHandler.update (10:23:37.766) - MainThread (20068): Braille window dots: 1 2345 - 125 1 15 1234 1234 1345 234 - 145 136 1235 24 1345 1245 - 2345 13456 24 1234 1345 1245 3 - 134567 135 136 - 14 1 1345 - 124 1235 15 - IO - inputCore.InputManager.executeGesture (10:23:37.828) - winInputHook (17848): Input: kb(laptop):t IO - inputCore.InputManager.executeGesture (10:23:37.995) - winInputHook (17848): Input: kb(laptop):l IO - inputCore.InputManager.executeGesture (10:23:38.035) - winInputHook (17848): Input: kb(laptop):y IO - inputCore.InputManager.executeGesture (10:23:38.115) - winInputHook (17848): Input: kb(laptop):space IO - braille.BrailleBuffer.update (10:23:38.378) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. You can frequen '] IO - braille.BrailleHandler.update (10:23:38.379) - MainThread (20068): Braille window dots: 1345 - IO - braille.BrailleHandler.update (10:23:38.379) - MainThread (20068): Braille window dots: 1345 - IO - speech.speech.speakTypedCharacters (10:23:38.390) - MainThread (20068): typed word: frequently IO - inputCore.InputManager.executeGesture (10:23:38.794) - winInputHook (17848): Input: kb(laptop):s IO - braille.BrailleBuffer.update (10:23:38.884) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. You can frequently '] IO - braille.BrailleHandler.update (10:23:38.884) - MainThread (20068): Braille window dots: 1345 2345 123 13456 - - IO - braille.BrailleHandler.update (10:23:38.885) - MainThread (20068): Braille window dots: 1345 2345 123 13456 - - IO - inputCore.InputManager.executeGesture (10:23:38.997) - winInputHook (17848): Input: kb(laptop):e IO - inputCore.InputManager.executeGesture (10:23:39.145) - winInputHook (17848): Input: kb(laptop):e IO - inputCore.InputManager.executeGesture (10:23:39.219) - winInputHook (17848): Input: kb(laptop):space IO - braille.BrailleBuffer.update (10:23:39.513) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. You can frequently s '] IO - braille.BrailleHandler.update (10:23:39.513) - MainThread (20068): Braille window dots: 1345 2345 123 13456 - 234 - IO - braille.BrailleHandler.update (10:23:39.514) - MainThread (20068): Braille window dots: 1345 2345 123 13456 - 234 - IO - speech.speech.speakTypedCharacters (10:23:39.524) - MainThread (20068): typed word: see IO - inputCore.InputManager.executeGesture (10:23:39.604) - winInputHook (17848): Input: kb(laptop):s IO - inputCore.InputManager.executeGesture (10:23:39.901) - winInputHook (17848): Input: kb(laptop):w IO - inputCore.InputManager.executeGesture (10:23:40.138) - winInputHook (17848): Input: kb(laptop):a IO - braille.BrailleBuffer.update (10:23:40.140) - MainThread (20068): Braille regions text: ['And now the test for debugging to see what haeppns during tyipng. You can frequently see '] IO - braille.BrailleHandler.update (10:23:40.140) - MainThread (20068): Braille window dots: 1345 2345 123 13456 - 234 15 15 - - IO - braille.BrailleHandler.update (10:23:40.141) - MainThread (20068): Braille window dots: 1345 2345 123 13456 - 234 15 15 - - IO - inputCore.InputManager.executeGesture (10:23:40.270) - winInputHook (17848): Input: kb(laptop):p IO - inputCore.InputManager.executeGesture (10:23:40.415) - winInputHook (17848): Input: kb(laptop):p IO - inputCore.InputManager.executeGesture (10:23:40.542) - winInputHook (17848): Input: kb(laptop):e IO - braille.BrailleBuffer.update (10:23:40.709) - MainThread (20068):

Adriani90 commented 1 year ago

@rehakp I tested with both 64bit and 32bit versions of Mempad but I cannot reproduce this issue. Can you please test with the last NVDA alpha version? Is it still occuring for you? You can download it here: https://www.nvaccess.org/files/nvda/snapshots/

rehakp commented 1 year ago

Hello @Adriani90, I tried with the Alpha version from today run as a temporary copy. Should I try to install it, I might try. This way it behaves in the very same way, swapping letters as soon as I type more words on a line, starting to occur after e.g. 40 characters. I eventually discovered that the caret movement is not fluent, it rather jumps. Try to type or paste a paragraph in MemPad approx. 500 characters long (by the paragraph I mean the line ending with a newline character). When you position the caret at the start of the line and press and hold the Right Arrow key, you will see caret jumping (I don't know precisely, maybe by words). When you paste that same paragraph into the Notepad application and perform the same caret movement test you will discover that it moves from character to character continuously in constant speed with no characters jumped over. Not only that the caret jumps but its movement is a bit slower in MemPad than in Notepad. I traced this caret behaviour on my Braille display. Moving the caret 40 Braille cells (my display width) by holding the Right Arrow key lasts for approx. 1/4 of a second longer in MemPad than in Notepad.

Adriani90 commented 1 year ago

Ok this might be related to the fact that you have a braille display connected, I have to test this with a braille display as well. Does this issue occur even when you don't use a braille display?

rehakp commented 1 year ago

Well it appears that with "No braille display" chosen this no longer occurs. What a surprise for me that some edit areas like a Chromium-based web browser could have, even with the braille display, superior performance and response whereas such edit areas like in MemPad not.

Adriani90 commented 1 year ago

cc: @leonardder, @michaelDCurran

rehakp commented 1 year ago

Hello, any chance to get this sorted out in a near future?

LeonarddeR commented 1 year ago

Could you please try the following on a python console and report back the behavior you find when operating this control after executing it?

import UIAHandler
UIAHandler.badUIAWindowClassNames = tuple(i for i in UIAHandler.badUIAWindowClassNames if i != 'RICHEDIT50W')
rehakp commented 1 year ago

Wow, performance is now stunning, thanks! No lags while typing, caret movement is so fast as in e.g. Notepad in old Windows XP/7, fantastic! Just noticed that NVDA now reports "RichEdit Control Document" whenever focusing that control but that's no problem at all.

LeonarddeR commented 1 year ago

Looks like we need to reconsider the badUIAWindowClassNames.

LeonarddeR commented 1 year ago

It looks like Windows offer UIA by default for all RichEdit50W controls now. This was worked around in https://github.com/nvaccess/nvda/commit/d5a3383bb2. I think this needs a decision by @michaelDCurran. We can consider making this specific app using UIA again, but I'd rather reconsider blacklisting the RichEditclasses.

rehakp commented 1 year ago

Although I don't develop for NVDA and don't have as much knowledge in UIA, I don't think it is a matter of this app only as my test now exhibited the same behaviour in the Miranda NG program that has been making use of the Scriver chat plugin using RichEdit50W as well.

LeonarddeR commented 1 year ago

How about Wordpad?

rehakp commented 1 year ago

Yes, the same. However, I should have stated a key aspect - the longer the logical (visual) line, the more it slows down. If I have word wrapping turned on as per the default Wordpad setting, or even in MemPad, everything seems a lot better, however, even when I maximize the window and the line length gets above 150 or around 200 characters, the problem is already noticeable. When turning word wrap off, the announced line could get to hundreds of characters and although announced in its entirety (due to the object model from which it gets retrieved) it is very hard to navigate. With the two-line fix you provided this does not occur.

marrie commented 1 year ago

I'm not sure if this would count with rich text however I do have a document which slows down after a while when using spell check, f7 and alt f7 to check for everything. I'll attempt to attach it, failing that, I'll attempt to paste in a link.
Here is a link to the over 100 page docX file.

Adriani90 commented 11 months ago

Could someone please test if this issue still occurs in the last alpha version of NVDA? I mean the one containing the code from #14888?

LeonarddeR commented 11 months ago

It is very unlikely that #14888 fixed this issue.

rehakp commented 11 months ago

Hi @leonardder, although the current alpha does not particularly solve lagging, it ultimately prevents letters swapping while lagging occurs and that's what I am most upset about this issue. I am willing to wait some seconds until all text appears in the edit field but it must be typed correctly, and it really is in this alpha, so many thanks @michaelDCurran for that, probably unintentional positive change!

Adriani90 commented 3 months ago

@rehakp there were some improvements to caret movement in the last weeks, could you please test with NVDA last alpha whether this issue still occurs for youu?

PEERSOFTdev commented 3 months ago

Hello,

I tested briefly in a temporary copy of nvda_snapshot_alpha-32997,3f82ab67 on a line of around 340 characters in length in MemPad. Observed behaviour is comparable to the current stable version in responsiveness when moving by characters (a 1-second delay) as well as when typing.

From: Adriani90 @.> Sent: Friday, July 19, 2024 11:45 PM To: nvaccess/nvda @.> Cc: Petr Řehák @.>; Manual @.> Subject: Re: [nvaccess/nvda] Lagging navigation and typing in RichEdit50W controls (Issue #14285)