用Python开发输入法后台(7)——关于规则的规则

我又重构了一遍输入法, 目的是定义输入法规则的规则, 只要遵循这些规则, 就可以方便的制定新的输入规则.
我的输入法规则如下:

  • 规则文件名: ImeRule.py
  • 需要实现函数
    • OnFilterKeyDown
      • 原型: f(keyCode:int,keyStates:list,msg:dict)->bool
      • 功能: 键被按下的消息, 根据返回值确定给定的键是忽略还是接受
    • OnFilterKeyUp
      原型同上, 键抬起时的消息, 根据返回值确定给定的键是忽略还是接受
    • OnKeyDown
      前面的两个消息如果返回true, 就会触发这个消息, 这里正式开始处理输入规则;
      比如说, 对于字母显示候选词, 对于数字选择候选词上屏;
    • OnKeyUp
      同理, 不过此消息系统默认处理就可以了, 不用特别关注;
  • 然后, 还定义了一些函数, 方便开发, 比如:
    • IsLetter: 判断keyCode是否是字母
    • IsNumber: 是否是数字
posted @ 2023-05-30 22:12  顺其自然,道法自然  阅读(35)  评论(0编辑  收藏  举报