GNOME Bugzilla – Bug 610262
Move keybindings filters to be common across plugins
Last modified: 2019-03-20 10:52:05 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...
-- 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.