README.md
1# inputmethod_imf
2
3#### Introduction
4
5Input Method Framework, is used to connect the application and input method. the application can input text through the input method
6
7**图 1** 子系统架构图<a name="fig143011012341"></a>
8![](figures/subsystem_architecture.png "子系统架构图")
9
10#### Warehouse path
11
12/base/inputmethod/imf
13
14#### Introduction to framework code
15
16The input method framework currently has four modules, as follows:
17
181. Application client
19
20Path: /base/inputmethod/imf/frameworks/inputmethod_controller
21
22Function: 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
23
242. Input method client
25
26Path: /base/inputmethod/imf/frameworks/inputmethod_ability
27
28Function: the intermediate bridge between input method framework service and input method delivery, including monitoring the current status of input method, etc
29
303. Input method service
31
32Path: /base/inputmethod/imf/services
33
34Function: as the core of the input method framework, the main processing logic of the input method is completed here
35
364. Input method JS interface
37
38Path: /base/inputmethod/imf/interfaces/kits/JS
39
40Function: the temporarily exposed JS interface is mainly reserved for calling input methods
41
42#### Main functions supported by the framework
43
441. Click in the edit attribute control to invoke the default input method application through the input method framework
45
462. Typing can be carried out through the input method application, and characters can be input to the application client on the screen
47
48#### Debugging method
49
501. Compile command
51
52./build.sh --product-name (Fill in the specific product name, such as:Hi3516DV300) --build-target imf
53
542. push so file
55
56in $root\out\ohos-arm-release\inputmethod\imf, push libinputmethod_client.z.so libinputmethod_ability.z.so
57libinputmethod_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.
58
593. reboot
60
61#### Participation contribution
62
631. Fork warehouse
642. Submission code
653. Create a new pull request
664. Commit is complete
67