170 likes | 180 Views
Tizen v2.3 Input Service Framework. Embedded Software Lab. Input Service Framework(ISF). Framework for text input-related services Multilingual text input support Typing text in various languages Software keyboard support Text input support for devices without physical keyboard.
E N D
Tizen v2.3 Input Service Framework Embedded Software Lab.
Input Service Framework(ISF) • Framework for text input-related services • Multilingual text input support • Typing text in various languages • Software keyboard support • Text input support for devices without physical keyboard TDC 2013: Tizen Input Service Framework Overview
Multi-lingual Text Input • Some languages need complex processing when typing text • Support for the following is needed: • Pre-edit strings: Strings that have not been fixed • Commit strings: Strings that are finalized and being appended • Candidate window: Window that lists and lets you to select among the possible conversions
ISFbased on SCIM • SCIM(Smart Common Input Method) • Based on open source SCIM 1.4.7 • Server-client architecture • Dynamically loadable plug-in module support • Widely used in many Linux distributions • Additional Features for Tizen • Application-side interface for interacting with S/W keyboard engines • S/W keyboard engine-side interface for full-featured text input services • Tizen keyboard supports 40+ languages including CJK languages, without any language-specific code
ISFbased on SCIM • Example • XML Layout of Tizen Korean keyboard • ‘q’ is mapped to ‘ㅂ’, ‘ㅃ’ and ‘1’ <row x="4" y="10"> <key use_magnifier="true" longkey_magnifier="true" long_key_value="1" multitouch_type="settle_previous"> <label> <rec shift="off" multi="0">ᄇ</rec> <rec shift="on" multi="0">ᄈ</rec> <rec shift="loc" multi="0">ᄈ</rec> <rec multi="1">1</rec> </label> <key_value> <rec auto_upper="true">q</rec> </key_value> </key>
Architecture of ISF • Input service manager • Input service engine • Panel
Input Service Manager(ISM) Ecore Input Method Library Functions - Interface for interacting with ISF • H/W key event handling • Loads all available H/W keyboard engines • Deliver key events generated by H/W keyboard to H/W service engine plug-in module connecting Ecore_IMF and ISF
Input Service Engine • S/W keyboard engine loader • A new process is launched every time a different S/W keyboard engine is selected • ex. on-screen keyboard, handwriting module, Wi-fi text receiver …
Panel • Interface between applications and input service engine • It delivers key events generated by applications to the current input service engine • UI representations • ex. candidate window
SW Keyboard Engine Lifecycle • Input service engine process is launched when: • System starts • S/W keyboard engine is selected • Exit request message is issued when: • H/W keyboard is attached • S/W keyboard engine is unselected
Ecore IMF API • API for Ecore IMF is provided as Core API. • Native and Web frameworks have their own mappings for using Core APIs. Show and hide S/W keyboard
Ecore IMF API • Downloadable S/W keyboard engines • can be developed by using native APIs that are mapped to Core APIs
Ecore IMF API • Ecore IMF API provides: • Sending and forwarding key events • Pre-edit string, commit string, candidate window • Auto-scrolling, status callbacks • Auto-capitalization • ecore_imf_context_autocapital_type_set • Keyboard variations • ecore_imf_context_input_panel_layout_set • Return key types • Default, Done, Go, Join, Login, Next, … Return key types Keyboard variations
Voice Framework: Speech-to-Text(STT) • Client-server model • STT Daemon • Recognizes the speech from voice with STT engine • Returns the recognized text to the client • STT Client library • STT API for applications • Used for requesting STTservice TDC 2012: Overview of Graphics and Input in Tizen
Voice Framework: Text-to-Speech(TTS) • Client-server model • TTS Daemon • Plays the input text given by the client • TTS Client library • TTS API for applications • Used for requesting TTS service