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

KeyboardInputGesture.send should use SendInput rather than Keybd_event #4294

Closed
nvaccessAuto opened this issue Jul 15, 2014 · 7 comments
Closed

Comments

@nvaccessAuto
Copy link

Reported by mdcurran on 2014-07-15 07:24
Currently KeyboardInputGesture.send uses multiple Keybd_event calls to send a key press. It should be changed to use one singleSendInput call, which will guarantee that all key downs and key ups complete within the one call disallowing the possibility for the key downs to be sent, and then the user to press a key themselves, and then the key ups to be sent.

@nvaccessAuto
Copy link
Author

Comment 1 by mdcurran on 2014-07-16 10:26
Incubating in c6d7b24
Changes:
Added labels: incubating

@nvaccessAuto
Copy link
Author

Comment 2 by Michael Curran <mick@... on 2014-07-18 00:33
In [45bb596]:

keyboardHandler.internal_keyDownEvent: when sending the special 0xff vk code when trapping modifiers Re #3472, explicitly provide the modifiers from the blocked gesture to the 0xff gesture as now NVDA releases any unneeded modifiers in KeyboardInputGesture.send, re #4294.

@nvaccessAuto
Copy link
Author

Comment 3 by Michael Curran <mick@... on 2014-07-18 00:34
In [fdc8b50]:

Merge branch 't4294' into next. Incubates #4294

@nvaccessAuto
Copy link
Author

Comment 4 by jteh on 2014-08-05 01:11
Holding this back because it isn't actually necessary for the purpose for which it was originally intended. It's still probably a good idea, but it needs wider testing on master after the rc.

@nvaccessAuto
Copy link
Author

Comment 5 by James Teh <jamie@... on 2014-09-16 03:10
In [c3f28d9]:

Back out t4294.

This is at least a partial cause of #4381. I think this is due to the removal of wx.Yield in KeyboardInputGesture.send. If there is pending stuff in the queue, this would make the first wx.Yield indirectly called by EditableText._hasCaretMoved take longer, so waiting for caret movement would time out sooner than it did before. Technically, this isn't a bug in #4294.
However, we have no current need for #4294 any more and we've had reports that suggest it might be causing modifiers to stick. Therefore, until we have time to debug this or until there is a specific need for it, it's simpler to just back it out.
This reverts commits 6fb9c104..45bb5962.
Re #4294, #4381.

@nvaccessAuto
Copy link
Author

Comment 6 by jteh on 2014-09-16 03:11
Changes:
Milestone changed from next to None
Removed labels: incubating

@jcsteh
Copy link
Contributor

jcsteh commented Jul 18, 2017

Status:

Closing as won't fix for now. We can reopen if we find a specific reason to do this.

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

No branches or pull requests

2 participants