郁闷之下,看了一下xim.c,发现xim.c在处理按键方面是如下部分的语句:
代码: 全选
IMSetIMValues (ims, IMEncodingList, encodings, IMProtocolHandler, MyProtoHandler, NULL);
IMSetIMValues (ims, IMFilterEventMask, KeyPressMask | KeyReleaseMask, NULL);
IMSetIMValues (ims, IMOnKeysList, on_keys, NULL);
代码: 全选
IMSetIMValues (ims, IMEncodingList, encodings, IMProtocolHandler, MyProtoHandler, NULL);
IMSetIMValues (ims, IMFilterEventMask, KeyPressMask, NULL);
IMSetIMValues (ims, IMOnKeysList, on_keys, NULL);
唉,我不是fcitx的开发人员,没法去修改代码,所以给出了一个补丁,大家打到代码上编译一下看看,顺便帮我测试在别的程序上有没有问题
起码用了一个下午我没发现有什么不妥的。
补丁在附件里面,我已经提交到官方,不知道合适merge到代码里面。