GNOME Bugzilla – Bug 695723
Keyboard indicator doesn't display the codename for current keyboard layout
Last modified: 2013-03-13 13:34:55 UTC
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: I am running Ubuntu, and it has the old IBus (1.4.2), but I don't thing that this should matter since I am not using the 'ibus' input method.
Very likely to be a dupe of bug 694149. I'll try to do a gnome-desktop stable release with that patch today. *** This bug has been marked as a duplicate of bug 694149 ***
Hello, I had a look at dupes of bug 694149, and I found from bug 695113, 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.
Also I tried setting 'show-all-sources' to false, yet the behaviour is still the same.
(In reply to comment #3) > Also I tried setting 'show-all-sources' to false, yet the behaviour is still > the same. The bug should go away if you set that to false and the log out/in again.
I did log out/in again, yet the bug didn't go away.
(In reply to comment #5) > I did log out/in again, yet the bug didn't go away. So what's the output of $ gsettings list-recursively org.gnome.desktop.input-sources after you login?
$ gsettings list-recursively org.gnome.desktop.input-sources org.gnome.desktop.input-sources current uint32 0 org.gnome.desktop.input-sources show-all-sources false org.gnome.desktop.input-sources sources [('xkb', 'us'), ('xkb', 'ara')] org.gnome.desktop.input-sources xkb-options @as []
Please attach the contents of either ~/.xsession-errors or ~/.cache/gdm/session.log (which exists on your system) _after_ you try to switch the input source using the gnome-shell panel menu. Also, which keyboard shortcut are you using and how did you set it?
Nothing happends on ~/.xsession-errors after attempting to switch the input source using the gnome-shell panel menu. I don't have ~/.cache/gdm/session.log (I am using lightdm not gdm) The keyboard shortcut is RightCtrl+RightShift configured using GNOME control center->Region & Language->Layouts->Options Funny thing, is that I opened gnome-tweak-tool->Typing, and I found that Modifiers-only input sources switch set to: 'Alt Shift L', also I found that terminate (Ctrl+Alt+Backspace) is disabled, although I enabled it on GNOME control center ! Also pressing LeftAlt+LeftShift, doesn't change the layout, neither does it change the status of the keyboard indicator !
(In reply to comment #9) > Nothing happends on ~/.xsession-errors after attempting to switch the input > source using the gnome-shell panel menu. > > I don't have ~/.cache/gdm/session.log (I am using lightdm not gdm) > > The keyboard shortcut is RightCtrl+RightShift configured using GNOME control > center->Region & Language->Layouts->Options This doesn't exist in GNOME 3.6 . I suppose you're using something patched downstream in which case I can't help you much here. > Funny thing, is that I opened gnome-tweak-tool->Typing, and I found that > Modifiers-only input sources switch set to: 'Alt Shift L', also I found that > terminate (Ctrl+Alt+Backspace) is disabled, although I enabled it on GNOME > control center ! Again, the same problem. > Also pressing LeftAlt+LeftShift, doesn't change the layout, neither does it > change the status of the keyboard indicator ! Same, sorry. Please report it to your distro.