Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

17
Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework

Transcript of Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

Page 1: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

Embedded Software Lab. @ SKKU

17

1

Embedded Software Lab.

Tizen v2.3 Input Service Framework

Page 2: 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

Page 3: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 4: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 5: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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>

Page 6: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

Embedded Software Lab. @ SKKU

17

6Architecture of ISF

• Input service manager• Input service engine• Panel

Page 7: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 8: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 9: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 10: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 11: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

Embedded Software Lab. @ SKKU

17

11ISF: HW Keyboard Full Path

Page 12: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

Embedded Software Lab. @ SKKU

17

12ISF: SW Keyboard Full Path

Page 13: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 14: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 15: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 16: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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

Page 17: Embedded Software Lab. @ SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.

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)