Embedded Software Lab. @ SKKU
17
1
Embedded Software Lab.
Tizen v2.3 Input Service Framework
Embedded Software Lab. @ 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 Lab. @ 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 Lab. @ SKKU
17
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
ISF based on SCIM
Embedded Software Lab. @ SKKU
17
5
• Example– XML Layout of Tizen Korean keyboard– ‘q’ is mapped to ‘ ㅂ’ , ‘ ㅃ’ and ‘1’
ISF based on SCIM
<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
17
6Architecture of ISF
• Input service manager• Input service engine• Panel
Embedded Software Lab. @ 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 Lab. @ 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 Lab. @ 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 Lab. @ SKKU
17
10
• 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 Lab. @ SKKU
17
11ISF: HW Keyboard Full Path
Embedded Software Lab. @ SKKU
17
12ISF: SW Keyboard Full Path
Embedded Software Lab. @ SKKU
17
13
• 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 Lab. @ SKKU
17
14
• Downloadable S/W keyboard engines– can be developed by using native APIs that are
mapped to Core APIs
Ecore IMF API
Embedded Software Lab. @ SKKU
17
15
• 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 Lab. @ SKKU
17
16
• 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 Lab. @ SKKU
17
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)
Top Related