There seems to be a race condition in Orca where it removes all key grabs, then adds a new set of key grabs. As this previously worked, this briefly removed the virtual modifier, which could result in a keypress being sent. (Which could send a caps lock.)
I need to do more testing, and see how other things are working and what other improvements may help, but this seems like a good idea. The virtual modifier is added once at the start.
The fact key input can race with orca/compositor changes to grabs seems bad in general, but I guess that's a limitation of how AtspiDevice is currently designed.
https://github.com/pop-os/cosmic-protocols/pull/41, https://github.com/pop-os/at-spi2-core/pull/1.
There seems to be a race condition in Orca where it removes all key grabs, then adds a new set of key grabs. As this previously worked, this briefly removed the virtual modifier, which could result in a keypress being sent. (Which could send a caps lock.)
I need to do more testing, and see how other things are working and what other improvements may help, but this seems like a good idea. The virtual modifier is added once at the start.
The fact key input can race with orca/compositor changes to grabs seems bad in general, but I guess that's a limitation of how
AtspiDevice
is currently designed.