This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Input Sources

Status: Implementation in progress

Description

We want to integrate input methods and keyboard layouts in a understandable, uniform way in GNOME 3. This integration will affect both the shell input menu and in the control-center region panel. The existing designs are here: GnomeShell/Design/Guidelines/SystemStatus/InputLanguage, Design/SystemSettings/RegionAndLanguage.

The desired experience is that the user selects an 'input language' or 'input source', which controls both keyboard layout and input method; in particular, the experience should be the same whether IBus is being used or just plain XKB.

The architecture of this code has changed a bit over time. The current approach uses a gnome-settings-daemon plugin as the central place to coordinate and update all relevant settings for input method modules, XKB keyboard layouts and IBus configuration. Both the gnome-shell menu and the gnome-control-center panel will simply talk to gnome-settings-daemon.

Owner

Rui Matos

Involved Parties

gnome-shell, control-center, libgnomekbd, ibus, Takao Fujiwara, Allan Day

Current Status

This feature is tracked in various bugs:

High Priority for 3.6:

Nice to have for 3.6:

Post 3.6 enhancements:

Notes from the GUADEC Input Sources BoF

The basic functionality of this feature has been included in 3.5.4.

There has been a lot of discussion around this feature on desktop-devel-list in May 2012, with various people arguing for other input method frameworks, or against integrating any single framework. Halfway through the discussion, Owen wrote a nice summary of the position and motivation of the people working on this feature. It is long, but worth reading.

The main points are:

How to use other IM frameworks

After this integration is done it will still be possible to use other IM frameworks in GNOME. First, there's a compile time option to build g-s-d and g-c-c without IBus support. Even if g-c-c and g-s-d were compiled with IBus support there's the option of removing ibus-daemon from the system which is enough for all the IBus functionality to be disabled. The IBus client side library can't be uninstalled in this case though but it shouldn't have any side effects.

If you don't want GNOME to touch X keyboard configuration at all it's possible to disable g-s-d's keyboard plugin with

 $ gsettings set org.gnome.settings-daemon.plugins.keyboard active false 

This means that no XKB layouts/variants/options will be set by GNOME and thus the System Settings' Input Sources will be of no use.

How to Help

Talk to Rui, Takao or Allan


2024-10-23 11:47