输入法框架子系统
简介
负责建立编辑框所在应用与输入法应用之间的通信通道,确保两者可以共同协作提供文本输入功能,也为系统应用提供管理输入法应用的能力。
输入法框架目前有四大模块,具体如下:
-
应用客户端
路径:/base/inputmethod/imf/frameworks/native/inputmethod_controller
作用:提供应用请求使用输入法应用、与输入法应用交互的能力。
-
输入法客户端
路径:/base/inputmethod/imf/frameworks/native/inputmethod_ability
作用:提供输入法应用实现框架,基于该框架输入法应用可以被正确拉起,并与编辑框应用进行协作完成文本输入。
-
输入法服务
路径:/base/inputmethod/imf/services
作用:输入法管理服务,负责建立安全可靠的输入法连接,同时提供了输入法切换查询等功能。
-
输入法Js接口实现
路径:/base/inputmethod/imf/frameworks/js
-
主要提供给输入法应用调用的相关js接口实现:/base/inputmethod/imf/frameworks/js/napi/inputmethodability。
-
主要提供给自绘控件调用的相关js接口实现:/base/inputmethod/imf/frameworks/js/napi/inputmethodclient。
作用:输入法实现框架、自绘编辑框控件使用输入法的NAPI接口,为TS相关接口提供具体实现。
-
系统架构
图 1 子系统架构图
目录
/base/inputmethod/imf
├── figures # 架构图
├── frameworks
│ └── js/napi # 输入法框架napi接口
│ └──inputmethod_extention_ability # 对输入法应用,InputMethodExtentionAbility相关接口
│ └──inputmethod_extention_context # 对输入法应用,InputMethodExtentionContext相关接口
│ └──inputmethodability # 对输入法应用提供的接口
│ └──inputmethodclient # 对系统应用、自绘控件提供的接口
│ └── native
│ └──inputmethod_ability # 对输入法客户端提供的接口
│ └──inputmethod_controller # 对客户端提供的接口
├── interfaces # 组件对外提供的接口代码
│ └── inner_api # innerApi接口
├── profile # 组件包含的系统服务的配置文件和进程的配置文件
├── services # 输入法框架服务
├── test # 测试
│ └── fuzztest # 接口的Fuzz测试
│ └── unitest # 接口的单元测试
│ └──cpp_test # 接口的cpp单元测试
│ └──napi_test # 接口的js单元测试
使用说明
相关仓
输入法框架: