Keyboard layout doesn't show in GNOME Shell session (again)

Bug #1154486 reported by أحمد المحمودي (Ahmed El-Mahmoudy)
42
This bug affects 9 people
Affects Status Importance Assigned to Milestone
GNOME Shell
Unknown
Medium
gnome-shell (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Since I upgrade GNOME Shell from 3.4 to 3.6, the keyboard indicator is blank
and doesn't display the codename for the active keyboard layout.

I have enabled english & arabic keyboard layouts. I have the following
settings:

$ gsettings list-recursively org.gnome.desktop.input-sources
org.gnome.desktop.input-sources current uint32 0
org.gnome.desktop.input-sources show-all-sources true
org.gnome.desktop.input-sources sources [('xkb', 'xkb_layout')]
org.gnome.desktop.input-sources xkb-options @as []

I checked the code in /usr/share/gnome-shell/js/ui/status/keyboard.js, and I
reached the '_inputSourcesChanged' method in 'InputSourceIndicator' class, the
program does run the following code:

            let [type, id] = sources.get_child_value(i).deep_unpack();

            if (type == INPUT_SOURCE_TYPE_XKB) {
                [info.exists, info.displayName, info.shortName, , ] =
                    this._xkbInfo.get_layout_info(id);

I checked the 'id' variable, and its value was 'xkb_layout' (as per the
settings).
Yet the output of the last statement { this._xkbInfo.get_layout_info(id) } is

[ false, null, null, , ]

Can anyone help with this issue ? I'm not sure if its a bug in GNOME Shell, or
something wrong with my system or settings.

Note: This issue has been in Ubuntu precise & it is still happening in raring, that I am running right now

Changed in gnome-shell:
importance: Unknown → Medium
status: Unknown → Invalid
Revision history for this message
أحمد المحمودي (Ahmed El-Mahmoudy) (aelmahmoudy) wrote :

I found out that I done a mistake of setting the second string 'sources' key to the literal string 'xkb_layout' instead of the layout codename.
So, I changed the setting as follows:
$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'us'), ('xkb', 'ara')]

Now, the keyboard indicator does show the different layouts, and defaults to
the english 'en' layout. Yet, if I select the arabic layout, it doesn't
actually change the layout, yet it does update the indicator to display 'ar'
instead of 'en' (even though the active layout is arabic 'ar').

Also if I actually changed the layout using a hotkey, the keyboard indicator
doesn't update to reflect the currently active layout.

Revision history for this message
أحمد المحمودي (Ahmed El-Mahmoudy) (aelmahmoudy) wrote :

In https://bugzilla.gnome.org/show_bug.cgi?id=695723#c10 , upstream said that this bug is caused by some patch by downstream.

Changed in gnome-shell:
status: Invalid → Unknown
Revision history for this message
أحمد المحمودي (Ahmed El-Mahmoudy) (aelmahmoudy) wrote :

This problem does not happen with Unity, since it doesn't rely on the keys under org.gnome.desktop.input-sources

Revision history for this message
أحمد المحمودي (Ahmed El-Mahmoudy) (aelmahmoudy) wrote :

This problem is actually two-fold:

1) Adding layouts via GUI (gnome-control-center) doesn't modify the appropriate key under org.gnome.desktop.input-sources

2) Even when I manually add the layouts via org.gnome.desktop.input-sources 'sources' setting, the layouts don't actually work !!

Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in gnome-shell (Ubuntu):
status: New → Confirmed
Revision history for this message
أحمد المحمودي (Ahmed El-Mahmoudy) (aelmahmoudy) wrote :

Fixed in saucy

Changed in gnome-shell (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.