Hi, The GNOME desktop has, up until now, supported different keyboard layouts configuration and switching through the use of XKB and its database of keyboard descriptions. What we have never explicitly supported in the core desktop is input methods such as Pinyin for Chinese or the various methods to input Japanese.
IBus[1] is a project that provides a framework to develop input methods with several readily available on at least Fedora and Ubuntu. This proposal aims at including explicit support for IBus in GNOME in such a way that, from the user experience point of view, choosing to use a German keyboard layout won't be that different from choosing a Korean input method. IBus is composed of several tools. Of those we are mainly interested in using the core ibus-daemon and the various engines. In particular, the goal is to not rely on its GUI tools to configure and interact with it. Instead, gnome-control-center will be the GUI to add "input sources" which are, for now, a simple tuple of XKB layout and IBus engine that are known to work together and which will have a UI name that is meaningful to users. gnome-shell presents the currently in use input source and the other configured ones in a status indicator and menu (what now is the keyboard status indicator). It will also present the candidates window for the input method in use, if any, based on Takao Fujiwara's work[3]. The feature wiki page[2] has some more details and links to initial code to achieve this. Of note here is that the current plan is to stop using libgnomekbd and libxklavier in gnome-settings-daemon, gnome-control-center and gnome-shell. Instead I intend to use the XKB API directly to configure the X keyboard layout. Reasons to drop libgnomekbd and libxklavier are that they rely on XKB groups to switch between different layouts but XKB limits groups to only 4. Also because the keybindings to switch groups are handled on the X server directly and we are limited to just some choices which causes us to currently have them separate from all the other keybindings in GNOME. Input/questions on this plan is very welcome. Rui [1] http://code.google.com/p/ibus/ [2] https://live.gnome.org/ThreePointFive/Features/IBus [3] https://github.com/fujiwarat/ibus-gjs _______________________________________________ desktop-devel-list mailing list desktop-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/desktop-devel-list