1 17 Tizen Input Service Framework Embedded Software
1 17 Tizen Input Service Framework Embedded Software Lab. Embedded. Software Lab. @ SKKU
Input Service Framework(ISF) • Framework for text input-related services • Multilingualtext inputsupport – Typing text in various languages • Software keyboard support – Text input support for devices without physical keyboard TDC 2013: Tizen Input Service Framework Embedded Software. Overview Lab. @ SKKU 2 17
Multi-lingual Text Input 3 • 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 Embedded. Software Lab. @ SKKU 17
ISF based on SCIM 4 • 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 Embedded. Software Lab. @ SKKU 17
ISF based 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> Embedded. Software Lab. @ SKKU 5 17
Architecture of ISF • Input service manager • Input service engine • Panel Embedded. Software Lab. @ SKKU 6 17
Input. Service. Manager(ISM) • H/W key event handling 7 17 Ecore Input Method Library Functions - Interface for interacting with ISF – Loads all available H/W keyboard engines – Deliver key events generated by H/W keyboard to H/W plug-in module connecting Ecore_IMF and ISF service engine Embedded. Software Lab. @ SKKU
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 … Embedded. Software Lab. @ SKKU 8 17
Panel 9 17 • 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 Embedded. Software Lab. @ SKKU
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 Embedded. Software Lab. @ SKKU 10 17
ISF: HW Keyboard Full Path Embedded. Software Lab. @ SKKU 11 17
ISF: SW Keyboard. Full Path Embedded. Software Lab. @ SKKU 12 17
Ecore IMF API 13 17 • 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 Embedded. Software Lab. @ SKKU
Ecore IMF API • Downloadable S/W keyboard engines – can be developed by using native APIs that are mapped to Core APIs Embedded. Software Lab. @ SKKU 14 17
Ecore IMF API 15 17 • 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 Embedded. Software Lab. @ SKKU 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 Clientlibrary – STT API for applications – Used for requesting STT service TDC 2012: Overview of Graphics and Input in Tizen Embedded Software Lab. @ SKKU 16 17
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 Embedded. Software Lab. @ SKKU 17 17
- Slides: 17