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 610262 - Move keybindings filters to be common across plugins
Move keybindings filters to be common across plugins
Status: RESOLVED OBSOLETE
Product: gnome-settings-daemon
Classification: Core
Component: plugins
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-settings-daemon-maint
gnome-settings-daemon-maint
3.10
Depends on:
Blocks:
 
 
Reported: 2010-02-17 13:40 UTC by Bastien Nocera
Modified: 2019-03-20 10:52 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Bastien Nocera 2010-02-17 13:40:40 UTC
From https://bugzilla.redhat.com/show_bug.cgi?id=205910:

"
It probably has the same problem gtk had a while ago, it selects for some xkb events, without making sure to unselect all the others.
"

We'd need to use XkbSelectEvents, but there's only one "filter" per process, so we'd need to split out (or merge) the different bits of g-s-d that require key press filtering (and there's quite a few):

$ grep gdk_window_add_filter *.c
gnome-settings-accessibility-keyboard.c:        gdk_window_add_filter (NULL,
cb_xkb_event_filter, NULL);
gnome-settings-clipboard.c:             gdk_window_add_filter (gdkwin,
clipboard_manager_event_filter, NULL);
gnome-settings-daemon.c:                gdk_window_add_filter (
gnome-settings-keybindings.c:      gdk_window_add_filter
(gdk_screen_get_root_window (screen),
gnome-settings-keyboard.c:      gdk_window_add_filter (NULL,
gnome-settings-keyboard-xkb.c:          gdk_window_add_filter (NULL, (GdkFilterFunc)
gnome-settings-mouse.c:                                 gdk_window_add_filter
(gdk_screen_get_root_window (screen),
gnome-settings-multimedia-keys.c:               gdk_window_add_filter
(gdk_screen_get_root_window (l->data),    

Sergey said:
IMHO "merging" would look more logical. We just need some ... internal "micro API" for dealing with these multiple filters. Unfortunately XkbSelectEvents/XkbSelectEventDetails do not have "get current mask" functions so g-s-d would have to keep track of these masks itself...
Comment 1 GNOME Infrastructure Team 2019-03-20 10:52:05 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/issues/165.