On Sun, 2 Feb 2003, Angus Leeming wrote: > > Sure. Presumably related to that missing psuedo-code in input.c > > > if (sp->CJK_composition_on && keysym) > > Turn_off_composition_Insert_composed_char_and > Increment_position_by_one(); >
I thought you refer this to "turn_on(off)_local_input(ob)" in input.c. But it does not look the same. The code you gave me was that in handle_key(ob,key,kmask) in input.c, ".................... ..................... /* toggle input method for CJK users */ if (key == XK_space) { int input_method_toggled=0; if (shiftkey_down(kmask) && !sp->CJK_local_input) { input_method_toggled=1; turn_on_local_input(ob); }else if (!shiftkey_down(kmask) && sp->CJK_local_input) { input_method_toggled=1; turn_off_local_input(ob); } /* If we have simply toggled the input method, then don't output the XK_space */ if (input_method_toggled) return 0; } .................................. ................................ Am I missing something here or do you refer to something else? By the way, a quick test shows that this code does not affect the precomposition point. That is, the keyboard signal does not go through this part ("turn_on_local_input(ob);") of the codes. cghan