Display current layout (language code/country flag) in keyboard indicator

Just upgraded from 10.04 to 10.10, and the keyboard indicator applet no longer displays the two-letter country code for the active layout.

This is terrible. Is this the default behaviour? Anyone using two layouts can't tell which language they're in.

I can't seem to find the setting for this, it used to be in the preferences for keyboard layout.

Update 1: In case this wasn't obvious - I have two keyboard layouts - English and Hebrew. I just upgraded form 10.04, where the country code (USA/IL) was displayed, overlaid on the flag.

Now all I get is a vague keyboard icon, and can't find the settings for this.

Update 2: this seems to be a bug that people have been reporting since Lucid, and is now back in Maverick


10.10

Yes, the icon doesn't reflect the language chosen. I think it may have something to do with the fact that showing "flags" would often be inappropriate. (Examples: flag of Great Britain in India, flag of Germany in Austria, flag of France in Senegal).

The current metaphor, i.e. KEYBOARD → Langauge is very much in accordance with user experience guidelines.

The behaviour you're describing was removed quite some time ago. It was another application (can't remember the name) that dealt with keyboard layouts then. (At least I remember something like that, I'm not quite sure now come to think of it)

What i did to get the above screen shot was go to Keyboard-Layouts, select add, Hebrew/Israel and add it to the list. My system has been upgraded since 9.10, so it should be the same on nearly every Ubuntu installation.


alt text

The old behaviour is still lurking in the system. If you want the indicator to show Flags, you can open gconf-editor, got to /desktop/peripherals/keyboard/indicator and enable "showFlags". However, you'll need the relevant flags to be in /home/<username>/.icons/flags (press CTRL+H to show directories that start with a period). The flag of israel should be named il.png (which is israels ISO 3166-1 alpha-2 country code).


12.10

By default the keyboard indicator in 12.10 shows a keyboard icon and the 2-letter abbreviation of the layout.

If you want to show the country flags instead, you have to do two things

  1. Set the configuration option for dconf:

    dconf write /org/gnome/libgnomekbd/indicator/show-flags true

  2. Install the flags icons in the ~/.icons (not ~/.icons/flags) folder. An easy way to do this is by installing famfamfam-flag-png and linking the icons to your folder by

    ln -s /usr/share/flags/countries/16x11/*.png ~/.icons/


Ubuntu 12.04

The keyboard indicator appears when you have more than one keyboard layout defined.

screenshot

The country is displayed using the 2-letter code

for example - france:

screenshot

how-to

Search in Dash for keyboard layout

Note

Unlike in 10.10 - whilst there is a gconf entry for keyboard, there is not a similar show-flags key.


If you want the country flag to be displayed instead of the keyboard indicator, you can use a small applet called gxneur.

screenshot

gxneur

To do this, we need to whitelist gxneur. Use dconf-editor:

dconf-tools

screenshot

  • Add gxneur as shown.
  • Logout and login.
  • Start gxNeur from Dash.
  • This will display the applet.
  • Right-click the displayed applet, choose Keyboard Properties and select the Properties tab. Ensure the Auto Startup checkbox is ticked.
  • Next you need to disable the standard keyboard-indicator. Follow the instructions in this Q&A to achieve this.

Ubuntu 10.04

Well, it turns out that this is a bug that was in the Lucid Beta and is now showing up again (See here: https://bugs.launchpad.net/gnome-settings-daemon/+bug/531173).

Here's a workaround:

  1. Right-click on the notification area and select Add Applet...
  2. Add the applet called "Indicator Applet".

This should supersede (replace) the current indicator group, but might make a bit of a mess.


Ubuntu 10.10

By default, the keyboard indicator in 10.10 shows a keyboard icon and the 3-letter abbreviation of the layout.

It can also show an icon when the /desktop/gnome/peripherals/keyboard/indicator/showFlags key in GConf is set, and you have the required icons installed somewhere.

Note that, despite the GConf key name, country flags aren't the best solution here, as some keyboard layouts are not linked to one country, and some countries might have multiple totally different layouts). So the flag (file)names are not alpha-2 country codes but XKB keyboard layout codes, which in many cases are based on country codes (but don't always correctly express all the places where a certain keyboard layout is used), but in other cases are not (ara = "arabic", latam = "latin america", mao = "maori", brai = "braille", epo = "esperanto"). You can find a list of all layout codes in /usr/share/X11/xkb/rules/base.lst under the ! layout section.

As far as I know, for Natty it's planned to have SVG (or SVG-based) icons that express the keyboard layout (IIRC they will use the 3-letter abbreviation as listed in base.xml, which can be found in the same directory that I mention above) so that we don't need the keyboard icon + text any more (indicators can't be text-only currently...).

And like Richard says, it only shows when you have more than 1 layout configured.