switching input method is not reliable

Bug #1311443 reported by Shu Hung (Koala) on 2014-04-23
This bug affects 5 people
Affects Status Importance Assigned to Milestone
gnome-settings-daemon (Baltix)
Mantas Kriaučiūnas
gnome-settings-daemon (Ubuntu)
William Hua

Bug Description

Under GNOME Shell, sometimes the input switcher popup (accessible via Super+Space by default) doesn't allow switching beyond the second input source.

[Test Case]
Under GNOME Shell, open gnome-control-center > Region & Language > Input Sources > + > Add at least two input sources (I use us, ru, and gr). Then open gnome-control-center > Keyboard > Shortcuts > Typing > Switch to next source > Set to Super+Space.

Try pressing Super+Space to pop open the input switcher. Then press Super+Space again. The input switcher might not switch the second time. It happens unreliably, so if it works, restarting gnome-settings-daemon may allow reproducing the bug.

[Regression Potential]
The reason this is happening is because of an old patch that enables input switching for non-GNOME desktops (Unity, GNOME Flashback) by handling it in gnome-settings-daemon. But GNOME Shell handles it itself, so gnome-settings-daemon's shortcuts may be conflicting with GNOME Shell's sometimes. The fix is to remove it, which is ok because that code isn't used by those other non-GNOME desktops any more (they use unity-settings-daemon instead). For that reason, there should be low risk of regression.


The behaviour of switching input method is strange.
There are 2 ways to change input method. And both behave against expectation:

1. super-space: When hitting super-space, the system can only switch from English to Chinese. But not the other way round.
2. indicator: When switching language with the indicator, I can select both language. But the indicator is always showing "en".

OS: Ubuntu 14.04
Input Method: English (US), Chinese (Cangjie)

Related branches

Sebastien Bacher (seb128) wrote :

Thank you for your bug report. What do you mean "not the other way around", it's supposed to cycle though inputs. Do you use Unity? Does it work better if you change the keybinding in settings->text input?

Shu Hung (Koala) (koalay) wrote :

"Not the other way around" means I cannot switch from "English" to "Chinese (Cangjie)" with super-space hot key.

My system was upgraded from Ubuntu 13.10. The problem is now fixed by manually open "Configuration" > "Language Support" and install the package it suggested. Seems iBus + IME are not sufficient to work on their own.

Shu Hung (Koala) (koalay) wrote :

It appears again. The situation is unstable.

Shu Hung (Koala) (koalay) wrote :

Here I made a screencast to illustrate what happen on my system:

What I did in the video:
1. Type normally in English mode.
2. Hit super-space once. Type in Chinese mode.
3. Hit super-space once again. Still type in Chinese. (I cannot switch to English as expected)
4. Switch to English mode by indicator menu. Types in English mode.
5. Switch to Chinese mode by indicator menu. Types in Chinese mode. Indicator still show "en".

OS: Ubuntu 14.04
DE: GNOME 3.10
Input method package used: ibus-cangjie

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ibus (Ubuntu):
status: New → Confirmed
Anders Magnusson (d98.ama) wrote :

I have the same problem. I switch between English and Swedish (English is default).

1) Indicator icon always shows 'en'. I can switch to Swedish by clicking on it, but it still shows 'en' instead of 'sv'.

2) Pressing super+space swiches from en->sv. Pressing it again does not switch back to 'en' (it used to in 13.10).

There is kind of a workaraound though. If pressing super+space and keep super pressed, a 'popup' appears showing the different available input methods. Here I can simply press the left key, and then release the super key. This will switch input back to 'en'.

Shu Hung (Koala) (koalay) wrote :

Situation can go back to normal it you logout and then log back in.
The problem seems to relate to service start-up sequence.

Sebastien Bacher (seb128) wrote :

Could you add your ~/.cache/upstart/unity-settings-daemon.log to the bug as well?

summary: - Error switching input method
+ switching input method is not reliable
affects: ibus (Ubuntu) → unity-settings-daemon (Ubuntu)
Changed in unity-settings-daemon (Ubuntu):
assignee: nobody → William Hua (attente)
importance: Undecided → High
William Hua (attente) on 2014-04-28
Changed in gnome-settings-daemon (Ubuntu):
assignee: nobody → William Hua (attente)
Changed in unity-settings-daemon (Ubuntu):
status: Confirmed → Invalid
Changed in gnome-settings-daemon (Ubuntu):
status: New → Confirmed
William Hua (attente) on 2014-05-28
description: updated
Sebastien Bacher (seb128) wrote :

the fix is in utopic, I sponsored the SRU for trusty as well (it's waiting for review from the SRU team next)

Changed in gnome-settings-daemon (Ubuntu):
status: Confirmed → Fix Released

Hello Shu, or anyone else affected,

Accepted gnome-settings-daemon into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/gnome-settings-daemon/ in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in unity-settings-daemon (Ubuntu):
status: Invalid → In Progress
tags: added: verification-needed
Mathew Hodson (mathew-hodson) wrote :

Is unity-settings-daemon affected? It was previously marked Invalid.

gnome-settings-daemon should be marked Fix Committed since it is in trusty-proposed.

William Hua (attente) wrote :

Mathew, think you're right here since Shu specified his DE was GNOME.

Changed in unity-settings-daemon (Ubuntu):
status: In Progress → Invalid
Shu Hung (Koala) (koalay) wrote :

Thanks Mathew. I've just installed the proposed gnome-settings-daemon. The IM switching seems to be smoother. But since the problem came on-and-off randomly, it's hard to tell if it is really fixed unless I try it a few days. I'll get back to this a few days later.

Tried using the proposed gnome-settings-daemon package for a few days.
The input method switch problem didn't appear at all.
I think it's safe to say that it fixed this bug.

Hope I can see the proposed package on the main repository soon.



On Fri, Jun 27, 2014 at 10:19 PM, Mantas Kriaučiūnas <email address hidden> wrote:

> ** Also affects: gnome-settings-daemon (Baltix)
> Importance: Undecided
> Status: New
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1311443
> Title:
> switching input method is not reliable
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1311443/+subscriptions

Mantas Kriaučiūnas (mantas) wrote :

gnome-settings-daemon ver. from trusty-proposed fixes several keyboard layouts switching problems in GNOME Shell, please upload this version to trusty-updates ASAP.
Only one issue left in Trusty GNOME Shell - sometimes keyboard layout indicator stops work when keyboard layouts (input methods) are removed or keyboard shotcuts to change input methots are changed, but this issue disappears after restarting GNOME-Shell :)

Changed in gnome-settings-daemon (Baltix):
assignee: nobody → Mantas Kriaučiūnas (mantas)
importance: Undecided → High
status: New → Fix Committed
tags: added: verification-done
removed: verification-needed

The verification of the Stable Release Update for gnome-settings-daemon has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Changed in unity-settings-daemon (Ubuntu Trusty):
status: New → Invalid
Changed in gnome-settings-daemon (Ubuntu Trusty):
status: New → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-settings-daemon -

gnome-settings-daemon ( trusty; urgency=medium

  * debian/patches/fix_input_switching_on_unity.patch:
  * debian/patches/unity-modifier-media-keys.patch:
    - Remove Unity-specific input switching behaviour (LP: #1311443).
 -- William Hua <email address hidden> Fri, 23 May 2014 16:15:18 +0200

Changed in gnome-settings-daemon (Ubuntu Trusty):
status: Fix Committed → Fix Released
Changed in gnome-settings-daemon (Baltix):
status: Fix Committed → Fix Released
Changed in gnome-settings-daemon (Ubuntu):
importance: Undecided → High
Changed in gnome-settings-daemon (Ubuntu Trusty):
importance: Undecided → High
no longer affects: unity-settings-daemon (Ubuntu)
no longer affects: unity-settings-daemon (Ubuntu Trusty)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers