I am sponsoring this case for G11N group. It times out 12/02/2009. -------
Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI This information is Copyright 2009 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: Keyboard layout emulation engine for iBus 1.2. Name of Document Author/Supplier: Author: Naoyuki Ishimura 1.3 Date of This Document: 25 November, 2009 4. Technical Description OVERVIEW This project is to add keyboard layout emulation functionality to iBus Input Method framework as current IIIMF[1] based keyboard layout emulation[3] can not be used in iBus[2] environment. (Solaris Input Method framework moves to iBus from IIIMF.) This will be the complement gnome-keyboard-switcher[4] (gnome-keyboard-switcher does not work on non XKB enabled Xserver environment). It can be used in non XKB environment as it does not use XKB runtime functionality. It also addresses the limitation of current IIIMF based keyboard layout emulation which it supports only small subset of xkeyboard-config[5] defined keyboard layouts. DETAILES This functionality is implemented as an iBus engine (IME). It does not use XKB implementation (in Xserver/Xlib), so user can use it on non XKB enabled environment. And user can set keyboard layout per input field not whole X server session. It also has enhancement comparing current IIIMF based keyboard layout emulation. That is supporting all of layouts xkeyboard-config rule data defines including layout variants whereas IIIMF supports no variants. (It is a major complaint from users against IIIMF keyboard layout emulation.) For example, IIIMF support only one layout for Russian layout, but iBus based engine supports the following 14 Russian variants addition to the default Russian layout. - Russia / Phonetic - Russia / Phonetic Winkeys - Russia / Typewriter - Russia / Legacy - Russia / Tatar - Russia / Ossetian, legacy - Russia / Ossetrian, Winkeys - Russia / Chuavsh - Russia / Chuvash Latin - Russia / Udmurt - Russia / Komi - Russia / Yakut - Russia / Kalmyk - Russia / DOS - Russia / Sun Type 6/7 Variant The list of supported layout comes from xkeyaboard-config rule data (xkeyboard-config - rules/xorg.xml). The iBus engine has this layout list and the actual symbol data (xkeyboard-config - symbols/*) for each layout as iBus engine private data in its own format so that iBus engine does not depend on xkeyboard-condfig data at runtime. It also contribute to the iBus engine start up time shorten. User can select their preferred keyboard layouts which should be in the layout select menu with the iBus engine specific configuration GUI. (An iBus engine can have its own configuration GUI.) USER OPERATION User need to select this engine with iBus Preference dialog to use. And user also need to select their using physical keyboard layout and the emulation target layouts in engine specific configuration GUI. The number of target layout has no limitation unlike XKB implementation which allows max four layouts to select for dynamic switching. Then user trigger Input Method with trigger key or engine select menu and switch keyboard layout with GUI menu list or hotkeys which can be configured with engine specific configuration GUI. INTERFACE STABILITIES All of components for this engine are Projectt Private. INTERFACE NAME STABILITY NOTE ----------------------------------------------------------------------- /usr/share/ibus-xkbc Private iBus engine implementation in platform neutral way (written with Python) /usr/share/ibus/component Private engine specification file /xkbc.xml /usr/lib/ibus/ibus-engine-xkbc Private engine invocation script /usr/lib/ibus/ibus-setup-xkbc Private engine specific configuration invocation script RELEASE BINDING The project team asks for Micro/Patch release binding. REFERENCES [1] IIIMF project http://www.openi18n.org/iiimf PSARC 2005/525 IIIMF upgrade to revision 12 [2] IBUS project PSARC 2009/499 iBus integration [3] IIIMF layout emulation PSARC 2007/028 EMEA input methods with keyboard layout emulation [4] Gnome keyboard switcher PSARC 2009/558 gnome keyboard switcher re-integration [5] xkeyboard-config PSARC 2009/440 xkeyboard-config update from v1.4 to v1.6 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: G11N 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open