122736c2fSopenharmony_ci# inputmethod_imf 222736c2fSopenharmony_ci 322736c2fSopenharmony_ci#### Introduction 422736c2fSopenharmony_ci 522736c2fSopenharmony_ciInput Method Framework, is used to connect the application and input method. the application can input text through the input method 622736c2fSopenharmony_ci 722736c2fSopenharmony_ci**图 1** 子系统架构图<a name="fig143011012341"></a> 822736c2fSopenharmony_ci 922736c2fSopenharmony_ci 1022736c2fSopenharmony_ci#### Warehouse path 1122736c2fSopenharmony_ci 1222736c2fSopenharmony_ci/base/inputmethod/imf 1322736c2fSopenharmony_ci 1422736c2fSopenharmony_ci#### Introduction to framework code 1522736c2fSopenharmony_ci 1622736c2fSopenharmony_ciThe input method framework currently has four modules, as follows: 1722736c2fSopenharmony_ci 1822736c2fSopenharmony_ci1. Application client 1922736c2fSopenharmony_ci 2022736c2fSopenharmony_ciPath: /base/inputmethod/imf/frameworks/inputmethod_controller 2122736c2fSopenharmony_ci 2222736c2fSopenharmony_ciFunction: realize the service delivery of application and input method framework, including the binding between application and input method service, application display and hiding request for input method, etc 2322736c2fSopenharmony_ci 2422736c2fSopenharmony_ci2. Input method client 2522736c2fSopenharmony_ci 2622736c2fSopenharmony_ciPath: /base/inputmethod/imf/frameworks/inputmethod_ability 2722736c2fSopenharmony_ci 2822736c2fSopenharmony_ciFunction: the intermediate bridge between input method framework service and input method delivery, including monitoring the current status of input method, etc 2922736c2fSopenharmony_ci 3022736c2fSopenharmony_ci3. Input method service 3122736c2fSopenharmony_ci 3222736c2fSopenharmony_ciPath: /base/inputmethod/imf/services 3322736c2fSopenharmony_ci 3422736c2fSopenharmony_ciFunction: as the core of the input method framework, the main processing logic of the input method is completed here 3522736c2fSopenharmony_ci 3622736c2fSopenharmony_ci4. Input method JS interface 3722736c2fSopenharmony_ci 3822736c2fSopenharmony_ciPath: /base/inputmethod/imf/interfaces/kits/JS 3922736c2fSopenharmony_ci 4022736c2fSopenharmony_ciFunction: the temporarily exposed JS interface is mainly reserved for calling input methods 4122736c2fSopenharmony_ci 4222736c2fSopenharmony_ci#### Main functions supported by the framework 4322736c2fSopenharmony_ci 4422736c2fSopenharmony_ci1. Click in the edit attribute control to invoke the default input method application through the input method framework 4522736c2fSopenharmony_ci 4622736c2fSopenharmony_ci2. Typing can be carried out through the input method application, and characters can be input to the application client on the screen 4722736c2fSopenharmony_ci 4822736c2fSopenharmony_ci#### Debugging method 4922736c2fSopenharmony_ci 5022736c2fSopenharmony_ci1. Compile command 5122736c2fSopenharmony_ci 5222736c2fSopenharmony_ci./build.sh --product-name (Fill in the specific product name, such as:Hi3516DV300) --build-target imf 5322736c2fSopenharmony_ci 5422736c2fSopenharmony_ci2. push so file 5522736c2fSopenharmony_ci 5622736c2fSopenharmony_ciin $root\out\ohos-arm-release\inputmethod\imf, push libinputmethod_client.z.so libinputmethod_ability.z.so 5722736c2fSopenharmony_cilibinputmethod_service.z.so libinputmethod_para.z.so to system/lib,and push libinputmethodengine.z.so libinputmethod.z.so to system/lib/module, and make sure the six so files is readable at least. 5822736c2fSopenharmony_ci 5922736c2fSopenharmony_ci3. reboot 6022736c2fSopenharmony_ci 6122736c2fSopenharmony_ci#### Participation contribution 6222736c2fSopenharmony_ci 6322736c2fSopenharmony_ci1. Fork warehouse 6422736c2fSopenharmony_ci2. Submission code 6522736c2fSopenharmony_ci3. Create a new pull request 6622736c2fSopenharmony_ci4. Commit is complete 67