Bug#771922: keyboard handling broken with jessie's gnome-settings-daemon

Faidon Liambotis paravoid at debian.org
Wed Dec 3 14:36:40 UTC 2014


Package: gnome-flashback
Version: 3.8.1-7
Severity: grave

Hi,

First of all, there's a number of severity: normal/important bugs
reported against the gnome-ssession-fallback package that mention
keyboard shortcuts issues (#727047, #730831, #731245, #731418, #727046,
#730096). My investigation shows that are partly related to each other
but in aggregate indicative of a more serious issue, hence this new
severity: grave super-bug. Apologies for the extra spam, feel free to
merge if you think that's better.

Second, I'm far from a GNOME developer or expert and the information
below is just the result of a day's investigation into GNOME's code, bug
tracking system and git history. Take everything I say with a grain of
salt and please double-check :)

So: the following things are broken in GNOME Flashback mode in today's jessie:
1) Keyboard layout switching
2) Non-metacity (i.e. g-s-d) keyboard shortcuts (e.g. Ctrl+Alt+L to lock screen)
3) Custom keybindings as configured by the control center
4) Power keys
5) Media keys (volume, play/pause)

I think that at least (1) & (2), as well as the combination of all these
(plus the unrelated #734822, which is fixed by gnome-flashback 3.14 as
found in experimental) makes the package unusable for most users and
hence unsuitable for a release with jessie.

The cause for this seems to be a general upstream trend of moving off
functionality from gnome-settings-daemon and into gnome-shell. This
became an issue in Debian with the inclusion of GNOME 3.14 in jessie.

Upstream g-s-d commit b0cee1df30b4945f524611f354ff164d4a383262
("media-keys: Refer key grabbing to the shell", BZ #693016) removed
media keys support, 326ee9f9a102a58941473e08fbe6221e70369f7f ("keyboard:
Remove input sources handling", BZ #736436) removed input source
switching support and finally 66c975cd90736e32f20ffd36846301d68e7a08e7
("common: Remove unused keygrab code") removed the keygrab code
entirely. There's a number of other commits that touch e.g. media-keys
code too.

This is deliberate, as "GNOME proper" doesn't really care about
Flashback at this point. gnome-flashback's upstream is aware and trying
to fix those issues in Flashback it self. Current master has
cfce8742780e8be335cf19dd49a993cc0ea63b13 ("libkey-grabber: initial
version") & the very hackish 670c310e8eaf89e895da96e62edc2a724c4ec068
("own org.gnome.Shell", see BZ #739534[1] for why this is very hackish
and also indicative of "GNOME proper"'s attitude to Flashback :/).

I backported both of the aforementioned two commits to both jessie's and
experimental's gnome-flashback (the former needed a bit of a porting
work, the latter applies cleanly). Media keys & custom keybindings
functionality was restored, albeit without an OSD; keyboard layout
switching was not, however.

All in all, I'm not sure what the proper solution would be -- I'm hoping
that you, as maintainers, may have a really bright solution :)

As I see it, deviating significantly from upstream and reverting big
g-s-d commits doesn't sound like a great strategy to me, especially this
late in the jessie cycle. I think the most sensible approach at this
point would be to get in touch with Flashback upstream and figure out
the remaining bits (input sources, media keys, OSD). Then, stack patches
against Flashback 3.14 (not 3.8) and beg the release team to make a big
freeze exception on the basis that the alternative of removing Flashback
from jessie entirely would be a big regression from Wheezy. Doesn't
sound to me like something that has many chances of success, but
Flashback is fairly self-contained and might be considered important
enough.

Let me know if you need any further clarifications or help from me. I'm
pretty bummed at this point. This sucks :(

Regards,
Faidon

1: https://bugzilla.gnome.org/show_bug.cgi?id=739534



More information about the pkg-gnome-maintainers mailing list