MeeGo Touch Input Method Framework

27
Presented by: Mohammad Anwari [email protected] MeeGo Touch Input Method Frameworks

description

An introductory presentation of MeeGo Touch Input Method Frameworks. Presented at MeeGo Conference 2010. Video is available at http://conference2010.meego.com/session/meego-touch-input-method-frameworks

Transcript of MeeGo Touch Input Method Framework

Page 1: MeeGo Touch Input Method Framework

Presented by:

Mohammad [email protected]

MeeGo Touch Input Method Frameworks

Page 2: MeeGo Touch Input Method Framework

Highlights

Provides text input services (ie. not for navigation)Supports multiple UI frameworkClient-server modelHighly customizable and extendable

2

Page 3: MeeGo Touch Input Method Framework

The Frameworks

Input method UI framework

Hosts the UI

Interacts with the rest of platform components

Page 4: MeeGo Touch Input Method Framework

The Frameworks

Input method UI framework

Hosts the UI

Interacts with the rest of platform components

Input method engine framework

Abstracts input method engine APIs

Page 5: MeeGo Touch Input Method Framework

Input Method UI Framework

Page 6: MeeGo Touch Input Method Framework

Highlights

Plugin loading based on categoriesHardware keyboardOn screenAccessories

Page 7: MeeGo Touch Input Method Framework

Highlights

Plugin loading based on categoriesHardware keyboardOn screenAccessories

Common text input paradigmPre-edit and committed strings

Page 8: MeeGo Touch Input Method Framework

Highlights

Plugin loading based on categoriesHardware keyboardOn screenAccessories

Common text input paradigmPre-edit and committed strings

Default plugin available: MeeGo Keyboard

Page 9: MeeGo Touch Input Method Framework

Highlights

Plugin loading based on categoriesHardware keyboardOn screenAccessories

Common text input paradigmPre-edit and committed strings

Default plugin available: MeeGo KeyboardLGPL

Page 10: MeeGo Touch Input Method Framework

Components

Input context of the UI framework

Handles the text input operation on the text entry side

Text editingWidget relocation

Page 11: MeeGo Touch Input Method Framework

Components

Input context of the UI framework

Handles the text input operation on the text entry side

Text editingWidget relocation

MeeGo Touch:MinputContextMInputMethodState

Page 12: MeeGo Touch Input Method Framework

Components

Input context of the UI frameworkInput context connection

Handles data transportation between input context and theinput method server

MeeGo Touch:D-Bus

Page 13: MeeGo Touch Input Method Framework

Components

Input context of the UI frameworkInput context connectionWindowing and input system

Displays the UI and handles the input, both touchscreen and Hardware keyboard

MeeGo Touch:X11, xkb, xfixes

Page 14: MeeGo Touch Input Method Framework

Components

Input context of the UI frameworkInput context connectionWindowing and input systemPlugin loaders

Handles the loading of the plugins

Page 15: MeeGo Touch Input Method Framework

Components

Input context of the UI frameworkInput context connectionWindowing and input systemPlugin loadersSettings

Displays UI of the settings

MeeGo Touch:MeeGo Control Panel

Page 16: MeeGo Touch Input Method Framework

Input Method Engine Framework

Page 17: MeeGo Touch Input Method Framework

Highlights

Pure QtAbstracts input method engines APIPlugin systemInput method UI independentLGPL

Page 18: MeeGo Touch Input Method Framework

Interfaces provided

WordsError correctionWord predictionWord completion

Page 19: MeeGo Touch Input Method Framework

Interfaces provided

WordsError correctionWord predictionWord completion

Handwriting recognition(there is a merge request now...)

Page 20: MeeGo Touch Input Method Framework
Page 21: MeeGo Touch Input Method Framework

Roadmap

Page 22: MeeGo Touch Input Method Framework

MeeGo 1.2

UI FrameworkNew plugin category: Voice input

Information exposures: anchor and cursor position

Private D-Bus

Page 23: MeeGo Touch Input Method Framework

MeeGo 1.2

UI FrameworkNew plugin category: Voice input

Information exposures: anchor and cursor position

Engine FrameworkNew functions in Words:

Dynamic virtual keyboard layouts

New interface: HWR

Page 24: MeeGo Touch Input Method Framework

Future

Closer to Qt

Page 25: MeeGo Touch Input Method Framework

Future

Closer to QtDisplay size scalability

Page 26: MeeGo Touch Input Method Framework

Future

Closer to QtDisplay size scalability

Input method widgets

Page 27: MeeGo Touch Input Method Framework

27

Thank you