• Home
Name Date Size #Lines LOC

..--

common/12-May-2024-6946

etc/12-May-2024-123110

figures/12-May-2024-

frameworks/12-May-2024-16,28613,146

interfaces/inner_api/inputmethod_controller/12-May-2024-671269

profile/12-May-2024-3229

services/12-May-2024-6,4434,988

test/12-May-2024-11,8538,482

BUILD.gnD12-May-20241.2 KiB3430

CODEOWNERSD12-May-2024786 1716

LICENSED12-May-20249.9 KiB177150

README.mdD12-May-20242.2 KiB6736

README_zh.mdD12-May-20242.6 KiB7849

bundle.jsonD12-May-20243.7 KiB9796

hisysevent.yamlD12-May-20241.7 KiB3720

inputmethod.gniD12-May-2024986 2719

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

README_zh.md

1# inputmethod_imf
2
3#### 介绍
4输入法框架,主要作用是拉通应用和输入法,保证应用可以通过输入法进行文本输入
5
6**图 1**  子系统架构图<a name="fig143011012341"></a>
7![](figures/subsystem_architecture_zh.png "子系统架构图")
8
9#### 仓路径
10/base/inputmethod/imf
11
12## 目录
13
14```
15/base/inputmethod/imf
16├── figures                                     # 构架图
17├── frameworks
18│   └── js/napi                                 # 输入法框架napi接口
19│   └── native
20│       └──inputmethod_ability                  # 对输入法客户端提供的接口
21│       └──inputmethod_controller               # 对客户端提供的接口
22├── interfaces                                  # 组件对外提供的接口代码
23│   └── inner_api                               # innerApi接口
24├── profile                                     # 组件包含的系统服务的配置文件和进程的配置文件
25├── services                                    # 输入法框架服务
26├── test                                        # 接口的Fuzz测试和js单元测试
27└── unitest                                     # 接口的单元测试
28```
29
30## 框架代码介绍
31输入法框架目前有四大模块,具体如下:
32
331.  应用客户端
34
35路径:/base/inputmethod/imf/frameworks/native/inputmethod_controller
36
37作用:实现应用和输入法框架服务交付,包括应用与输入法服务的绑定、应用对输入法的显示和隐藏请求等等
38
392.  输入法客户端
40
41路径:/base/inputmethod/imf/frameworks/native/inputmethod_ability
42
43作用:实现输入法框架服务与输入法交付的中间桥梁,包括监听输入法当前的状态等等
44
453.  输入法服务
46
47路径:/base/inputmethod/imf/services
48
49作用:作为输入法框架的核心,输入法的主要处理逻辑都是在这里完成
50
514.  输入法Js接口
52
53路径:/base/inputmethod/imf/frameworks/js
54
55作用:暂时对外暴露的js接口,主要是留给输入法进行调用使用的
56
57
58## 本框架编译调试方法
59
601.   编译命令
61
62./build.sh --product-name (填写具体的产品名,如:Hi3516DV300) --build-target imf
63
642.  推送so文件
65
66将工程目录下out\ohos-arm-release\inputmethod\imf 下的libinputmethod_client.z.so libinputmethod_ability.z.so
67libinputmethod_service.z.so libinputmethod_para.z.so推送到system/lib,将libinputmethodengine.z.so libinputmethod.z.so 推送到system/lib/module下,并确保六个so至少为可读状态。
68
693.  重启设备
70
71## 参与贡献
72
731.  Fork 本仓库
742.  提交代码
753.  新建 Pull Request
764.  commit完成即可
77
78