|
//原因:没有设置IMOnKeysList导致错误。 //修正: --------------------------------------------------------------- //在HZinitXIM() 最后面加入:
if ((on_keys=(XIMTriggerKeys *)malloc(sizeof(XIMTriggerKeys)))==NULL) { fprintf(stderr, "Can't allocate\n"); exit(1) ; } on_keys->count_keys = sizeof(Trigger_Keys)/sizeof(XIMTriggerKey) - 2 ; on_keys->keylist = Trigger_Keys; IMSetIMValues (this_xims, IMOnKeysList, on_keys, NULL);
//好象原来就有. ---------------------------------------------------------------
//Trigger_Keys定义为: /* static XIMTriggerKey Trigger_Keys[] = { {XK_space, ShiftMask, ShiftMask}, {0L, 0L, 0L} }; */
但是这样每开一个窗口,都需要用Shift + Space来激活输入法。 还不知道如何解决。 望指教。谢谢!
|