GNOME Bugzilla – Bug 143702
Listener registered with SPI_KEYMASK_NUMLOCK gets events without NUMLOCK bit set
Last modified: 2006-07-20 22:05:59 UTC
If I register a listener with SPI_KEYMASK_NUMLOCK modifier, this listener will be called with SPI_KEYMASK_MOD2.
Created attachment 28335 [details] a standalone tester
Perhaps this issue is related with two older bugs: bug #128959 and bug #129103 ?
This is not a bug; as I have reported elsewhere, KEYMASK_NUMLOCK is sometimes mapped to MOD1 and sometimes MOD2 depending on the system/xserver in use. However if SPI_KEYMASK_NUMLOCK is not also reported, that might be considered an RFE for at-spi (to synthesize the NUMLOCK mask bit as appropriate to the keyboard in use).
changing summary to reflect fact that the NUMLOCK mask bit is missing (the MOD bit is correct and appropriate).
new summary reflects the part of the observed behavior that's actually a bug. The MOD bits are expected, but it would be useful if the NUMLOCK bit were set as well.
Apologies for spam-- ensuring Sun a11y team are cc'ed on all current a11y bugs. Filter on "SUN A11Y SPAM" to ignore.
Created attachment 69196 [details] [review] patch to set NUMLOCK modifier if present, in key event listener notify
http://jhbuild.bxlug.be/builds/2006-07-20-0005/logs/at-spi/#build deviceeventcontroller.c: In function `spi_controller_notify_keylisteners': deviceeventcontroller.c:1445: error: assignment of read-only member `modifiers' key_event is marked as *const* but the patch modifies its value.
Oddly, this seems to build fine in my env.
confirmed, it's a warning only in my env. Fixing.