我又重构了一遍输入法, 目的是定义输入法规则的规则, 只要遵循这些规则, 就可以方便的制定新的输入规则.
我的输入法规则如下:
- 规则文件名: ImeRule.py
- 需要实现函数
- OnFilterKeyDown
- 原型: f(keyCode:int,keyStates:list,msg:dict)->bool
- 功能: 键被按下的消息, 根据返回值确定给定的键是忽略还是接受
- OnFilterKeyUp
原型同上, 键抬起时的消息, 根据返回值确定给定的键是忽略还是接受 - OnKeyDown
前面的两个消息如果返回true, 就会触发这个消息, 这里正式开始处理输入规则;
比如说, 对于字母显示候选词, 对于数字选择候选词上屏; - OnKeyUp
同理, 不过此消息系统默认处理就可以了, 不用特别关注;
- OnFilterKeyDown
- 然后, 还定义了一些函数, 方便开发, 比如:
- IsLetter: 判断keyCode是否是字母
- IsNumber: 是否是数字