unity-settings-daemon => gsd-keyboard-manager.c has an Ubuntu specific patch that strips the grp: part in XKB options:
if (n_sources < 2 || g_strcmp0 (g_getenv ("XDG_CURRENT_DESKTOP"), "Unity") == 0) strip_xkb_option (options, "grp:");
The original upstream source code is:
if (n_sources < 2) strip_xkb_option (options, "grp:");
That causes a problem: we're no longer able to type e.g. Greek in TuxPaint, because TuxPaint grabs the keyboard layout, and u-s-d then doesn't see the layout switching shortcut.
But: if we do revert only that line of the source code to what's in upstream, then we get another problem: that the XKB-defined layout switching shortcut (e.g. Alt+Shift) doesn't update the keyboard indicator in the panel, only the GNOME-defined shortcut (e.g. Win+Space) does.
To solve this, I think u-s-d needs to handle ISO_Next_Group. I don't know if that part exists upstream, but I do know that it works fine in Fedora 20.
After solving this bug, a tiny issue will remain: that Alt+Shift inside keyb-grabbing applications won't update the keyboard indicator. Upstream GNOME doesn't want patches for that and may try to solve it in SDL, but the other 2 issues described above ^ are Ubuntu-specific.
unity-settings- daemon => gsd-keyboard- manager. c has an Ubuntu specific patch that strips the grp: part in XKB options: DESKTOP" ), "Unity") == 0)
strip_ xkb_option (options, "grp:");
if (n_sources < 2 || g_strcmp0 (g_getenv ("XDG_CURRENT_
The original upstream source code is:
strip_ xkb_option (options, "grp:");
if (n_sources < 2)
That causes a problem: we're no longer able to type e.g. Greek in TuxPaint, because TuxPaint grabs the keyboard layout, and u-s-d then doesn't see the layout switching shortcut.
But: if we do revert only that line of the source code to what's in upstream, then we get another problem: that the XKB-defined layout switching shortcut (e.g. Alt+Shift) doesn't update the keyboard indicator in the panel, only the GNOME-defined shortcut (e.g. Win+Space) does.
To solve this, I think u-s-d needs to handle ISO_Next_Group. I don't know if that part exists upstream, but I do know that it works fine in Fedora 20.
After solving this bug, a tiny issue will remain: that Alt+Shift inside keyb-grabbing applications won't update the keyboard indicator. Upstream GNOME doesn't want patches for that and may try to solve it in SDL, but the other 2 issues described above ^ are Ubuntu-specific.