step by step开发自己的输入法

2021-05-10  本文已影响0人  豪爵吸金ing

先把大神顶在最前,一步一步教你做一款自己的输入法
https://www.jianshu.com/p/2ff655bdb9f7

在讲weston之前,先脑洞一个问题:
我们打开一个记事本notepad.exe,记事本本身是一个客户端程序;
搜狗输入法又是一个客户端程序,两个程序进程间怎么调用呢?


搜狗输入法

先说搜狗输入法,输入法本身有自己的词库(有自己的词库服务+本地常用词库,有自己的个性化界面,各种OEM定制款)。我们在研究Weston的时候,且将注意力集中在搜狗输入法客户端程序本身,我们认为它是一个进程。
任务管理器里可以打开word、excel、ppt、记事本,这些每个客户端程序都是进程。
我们想将搜狗输入法客户端程序中编辑好的“你好”,输入到word客户端程序中,搜狗输入法为我们在系统层面做了怎样的支持?这个问题是需要大家思考的。
----------------------------------------下面 正式开始Weston的讲解------------------------------------------------------------

运行树莓派,调取终端输入$weston-editor,将看到一个很简单的输入法界面,如下:


weston-editor

运行后出现两个client,一个text-input clent, 一个input-method client。
两个客户端程序如何通讯呢?

a/b两个进程要通讯,需要server传递消息,weston就是这个勤劳的接线员。
weston的源码可以在https://github.com/wayland-project/weston获取。
weston/compositor/text-backend.c 里有 input-method 和 text-input 2个协议的服务端实现。
clients/keyboard.c 是 input-method client 端的简易实现。
clients/editor.c 是 text-input client 端的简易实现。

上一篇 下一篇

猜你喜欢

热点阅读