Embedded Software SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework
Embedded Software SKKU 17 2 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 Input Service Framework(ISF) TDC 2013: Tizen Input Service Framework Overview
Embedded Software SKKU 17 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 Multi-lingual Text Input
Embedded Software SKKU 17 4 SCIM(Smart Common Input Method) – Based on open source SCIM – 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 ISF based on SCIM
Embedded Software SKKU 17 5 Example – XML Layout of Tizen Korean keyboard – ‘q’ is mapped to ‘ ㅂ ’, ‘ ㅃ ’ and ‘1’ ISF based on SCIM  ᄇ ᄈ ᄈ 1 q
Embedded Software SKKU 17 6 Architecture of ISF Input service manager Input service engine Panel
Embedded Software SKKU 17 7 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 Input Service Manager(ISM) Ecore Input Method Library Functions - Interface for interacting with ISF plug-in module connecting Ecore_IMF and ISF
Embedded Software SKKU 17 8 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 … Input Service Engine
Embedded Software SKKU 17 9 Interface between applications and input service engine – It delivers key events generated by applications to the current input service engine Panel UI representations – ex. candidate window
Embedded Software SKKU Input service engine process is launched when: – System starts – S/W keyboard engine is selected SW Keyboard Engine Lifecycle Exit request message is issued when: – H/W keyboard is attached – S/W keyboard engine is unselected
Embedded Software SKKU ISF: HW Keyboard Full Path
Embedded Software SKKU ISF: SW Keyboard Full Path
Embedded Software SKKU API for Ecore IMF is provided as Core API. Native and Web frameworks have their own mappings for using Core APIs. Ecore IMF API Show and hide S/W keyboard
Embedded Software SKKU Downloadable S/W keyboard engines – can be developed by using native APIs that are mapped to Core APIs Ecore IMF API
Embedded Software SKKU 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, … Ecore IMF API Keyboard variationsReturn key types
Embedded Software SKKU 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 STT service Voice Framework: Speech-to-Text(STT) TDC 2012: Overview of Graphics and Input in Tizen
Embedded Software SKKU 17 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 Voice Framework: Text-to-Speech(TTS)