1# 输入法框架子系统 2 3- [简介](#简介) 4- [系统架构](#系统架构) 5- [目录](#目录) 6- [使用说明](#使用说明) 7- [相关仓](#相关仓) 8 9## 简介 10 11负责建立编辑框所在应用与输入法应用之间的通信通道,确保两者可以共同协作提供文本输入功能,也为系统应用提供管理输入法应用的能力。 12 13输入法框架目前有四大模块,具体如下: 14 151. 应用客户端 16 17 路径:/base/inputmethod/imf/frameworks/native/inputmethod_controller 18 19 作用:提供应用请求使用输入法应用、与输入法应用交互的能力。 20 212. 输入法客户端 22 23 路径:/base/inputmethod/imf/frameworks/native/inputmethod_ability 24 25 作用:提供输入法应用实现框架,基于该框架输入法应用可以被正确拉起,并与编辑框应用进行协作完成文本输入。 26 273. 输入法服务 28 29 路径:/base/inputmethod/imf/services 30 31 作用:输入法管理服务,负责建立安全可靠的输入法连接,同时提供了输入法切换查询等功能。 32 334. 输入法Js接口实现 34 35 路径:/base/inputmethod/imf/frameworks/js 36 37 - 主要提供给输入法应用调用的相关js接口实现:/base/inputmethod/imf/frameworks/js/napi/inputmethodability。 38 39 - 主要提供给自绘控件调用的相关js接口实现:/base/inputmethod/imf/frameworks/js/napi/inputmethodclient。 40 41 作用:输入法实现框架、自绘编辑框控件使用输入法的NAPI接口,为TS相关接口提供具体实现。 42 43## 系统架构 44 45**图 1** 子系统架构图 46 47 48 49 50## 目录 51 52``` 53/base/inputmethod/imf 54├── figures # 架构图 55├── frameworks 56│ └── js/napi # 输入法框架napi接口 57│ └──inputmethod_extention_ability # 对输入法应用,InputMethodExtentionAbility相关接口 58│ └──inputmethod_extention_context # 对输入法应用,InputMethodExtentionContext相关接口 59│ └──inputmethodability # 对输入法应用提供的接口 60│ └──inputmethodclient # 对系统应用、自绘控件提供的接口 61│ └── native 62│ └──inputmethod_ability # 对输入法客户端提供的接口 63│ └──inputmethod_controller # 对客户端提供的接口 64├── interfaces # 组件对外提供的接口代码 65│ └── inner_api # innerApi接口 66├── profile # 组件包含的系统服务的配置文件和进程的配置文件 67├── services # 输入法框架服务 68├── test # 测试 69│ └── fuzztest # 接口的Fuzz测试 70│ └── unitest # 接口的单元测试 71│ └──cpp_test # 接口的cpp单元测试 72│ └──napi_test # 接口的js单元测试 73``` 74 75## 使用说明 76 77* [InputMethodExtentionAbility开发指南](../application-dev/application-models/inputmethodextentionability.md) 78* [@ohos.inputMethod (输入法框架)](../application-dev/reference/apis-ime-kit/js-apis-inputmethod.md) 79* [@ohos.inputMethodEngine (输入法服务)](../application-dev/reference/apis-ime-kit/js-apis-inputmethodengine.md) 80 81## 相关仓 82 83输入法框架: 84 85[inputmethod_imf](https://gitee.com/openharmony/inputmethod_imf) 86