After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 384850 - DeviceEventController::registerKeystrokeListener does not work with MODIFIER_NUMLOCK
DeviceEventController::registerKeystrokeListener does not work with MODIFIER_...
Status: RESOLVED OBSOLETE
Product: at-spi
Classification: Platform
Component: at-spi2-core
unspecified
Other Linux
: Normal major
: ---
Assigned To: At-spi maintainer(s)
At-spi maintainer(s)
Depends on:
Blocks: 384820
 
 
Reported: 2006-12-11 21:34 UTC by Peter Parente
Modified: 2021-07-05 10:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Prints keypress in active window (2.34 KB, patch)
2013-05-27 21:19 UTC, Magdalen Berns (irc magpie)
none Details | Review

Description Peter Parente 2006-12-11 21:34:22 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?
Comment 1 Peter Parente 2007-03-29 15:42:02 UTC
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.
Comment 2 André Klapper 2012-02-26 10:41:47 UTC
[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.]
Comment 3 Magdalen Berns (irc magpie) 2013-05-27 21:19:25 UTC
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.
Comment 4 André Klapper 2013-08-14 10:04:38 UTC
[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!]
Comment 5 André Klapper 2018-08-31 09:51:12 UTC
Moving open tickets in at-spi2' "registry" Bugzilla component to "at-spi2-core" as it has a subdir called "registryd".
Comment 6 GNOME Infrastructure Team 2021-07-05 10:45:16 UTC
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.