GNOME Bugzilla – Bug 384850
DeviceEventController::registerKeystrokeListener does not work with MODIFIER_NUMLOCK
Last modified: 2021-07-05 10:45:16 UTC
A listener registered with the following Python code: dc = registry.getDeviceEventController() dc.registerKeystrokeListener(self._this(), [], Accessibility.MODIFIER_NUM_LOCK, [Accessibility.KEY_PRESSED_EVENT, Accessibility.KEY_RELEASED_EVENT], mode) where register self is an instance of Accessibility__POA.DeviceEventListener and mode is an EventListenerMode instance will not be notified when keys are pressed with the NumLock key enabled. This code also fails when registering for other masks where mask & Accessibility.MODIFIER_NUM_LOCK is true. I looked at the comments in bug #143702 which seems related, but it appears to talk about returning modifiers with events rather than registering for callbacks on presses/releases with NumLock enabled. Looking at the at-spi code, it looks like there are quite a few code paths specific to handling NumLock. Perhaps something is not handled quite right?
Bumping priority. This is a pretty major bug considering key events are no longer received after NumLock is pressed. If needed, I can provide a Python script demonstrating the problem.
[Resetting QA Contact to newly introduced "at-spi-maint@gnome.bugs". Reason: So far it was impossible to watch changes in at-spi bug reports without following all the specific persons (Li Yuan, Bill Haneman, Jeff Wai, ...) and also their activity outside of at-spi reports. IMPORTANT: Anyone interested in following all bug activity (including all maintainers) must watch the "at-spi-maint@gnome.bugs" dummy user by adding it to the 'Users to watch' list under Preferences->Email preferences. This is also the default procedure nowadays in GNOME when setting up new products.]
Created attachment 245413 [details] [review] Prints keypress in active window You can use this to test out the bug: I spent almost a day scratching my head due to this! Run file without numlock pressed in and press F3 when you are in an accessible program (like gedit) and it will print the key press in active window. Run file with numlock pressed in and press F3 in the same situation as described above and it won't print the key press in active window.
[Mass-resetting default assignee, see bug 705890. Please reclaim this bug report by setting the assignee to yourself if you still plan to work on this. Thanks!]
Moving open tickets in at-spi2' "registry" Bugzilla component to "at-spi2-core" as it has a subdir called "registryd".
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/ Thank you for your understanding and your help.