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

Reply via email to