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 


Reply via email to