ac41f4c831
Merge pull request !1588 from 吴成文/master |
||
---|---|---|
common | ||
etc | ||
figures | ||
frameworks | ||
interfaces | ||
profile | ||
seccomp_policy | ||
services | ||
test | ||
.clang-format | ||
BUILD.gn | ||
bundle.json | ||
CODEOWNERS | ||
hisysevent_ue.yaml | ||
hisysevent.yaml | ||
inputmethod.gni | ||
LICENSE | ||
OAT.xml | ||
publicity.xml | ||
README_zh.md | ||
README.md |
inputmethod_imf
Introduction
Input Method Framework, is used to connect the application and input method. the application can input text through the input method
Warehouse path
/base/inputmethod/imf
Introduction to framework code
The input method framework currently has four modules, as follows:
- Application client
Path: /base/inputmethod/imf/frameworks/inputmethod_controller
Function: 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
- Input method client
Path: /base/inputmethod/imf/frameworks/inputmethod_ability
Function: the intermediate bridge between input method framework service and input method delivery, including monitoring the current status of input method, etc
- Input method service
Path: /base/inputmethod/imf/services
Function: as the core of the input method framework, the main processing logic of the input method is completed here
- Input method JS interface
Path: /base/inputmethod/imf/interfaces/kits/JS
Function: the temporarily exposed JS interface is mainly reserved for calling input methods
Main functions supported by the framework
-
Click in the edit attribute control to invoke the default input method application through the input method framework
-
Typing can be carried out through the input method application, and characters can be input to the application client on the screen
Debugging method
- Compile command
./build.sh --product-name (Fill in the specific product name, such as:Hi3516DV300) --build-target imf
- push so file
in $root\out\ohos-arm-release\inputmethod\imf, push libinputmethod_client.z.so libinputmethod_ability.z.so libinputmethod_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.
- reboot
Participation contribution
- Fork warehouse
- Submission code
- Create a new pull request
- Commit is complete