problem about XIM



I use red hat linux 8.0, the version of XFree86 is 4.0.3 and the desktop manager is Gnome. I have two problems about XIM . One is compatiblity between two architectural models of inputing method . one model, as you know , is Client/Server input model that is widely used to handle east Asian languages inputing, the other is inputing , by means of keyboard map , letters of other languages which have alphabet . In my pc , I have installed a inputing software named chinput that is widely used to input chinese in china . Chinput implement Client/Server model and work well in my pc . I use Arabic keyboard map to input Arabic . I use xkbcomp to load the map file, then I am able to normally input Arabic in my pc and switch between English letter and Arabic letter by the right Alt key when I don't run Chinput. After I run Chinput , I am able to input English , Chinese . But then , under inputing English letter condition , I use xkbcomp to load that Arabic keyboard map and pressed the right Alt key , I can't have Arabic letter inputed well . e.g, when I press the some keys ,such as 'a' 'b' 'e' 'f' keys,I get nothing on screen . When I press shift key and 'i' key , I get '÷' on screen , 'O' key corresponding to '×' on screen . other capital letters are inputed and diplayed well on screen . I read the raw code of Chinput . When Chinput is under inputing English letter condition , whichever key you pressed is perfectly relayed to application software . Is Client/Server inputing model compatible with inputing model of keyboard map ? Whether are we able to choose only one inputing model to input character at same while ? if it is false . where ,maybe, is problem ? How can I solve this problem? Another question is How to introduce new symbolic names and their corresponding value into /usr/X11R6/include/X11/keysymdef.h file . Because I want to input Uyghur which letter is adopted to Unicode standard . but its letters' symbolic names is not listed in keysymdef.h and aren't used in Keyboard map's configure file . that mean I don't use Keyboard map to input Uyghur .
   thanks
   The Arabic Keyboard map file I used is below.
xkb_keymap "myarabic" {
   xkb_keycodes        { include "xfree86"             };
   xkb_types           { include "default"             };
   xkb_compatibility   { include "default"             };
   xkb_geometry        { include "pc(pc105)"           };

   xkb_symbols         {

   include "en_US(pc105)+group(toggle)"

   name[Group1]= "US/ASCII";
   name[Group2]= "Arabic";

   key <TLDE> {    [        grave,    asciitilde    ],
           [     Arabic_thal,         Arabic_shadda    ]    };
   key    <AB01> {    [        z,         Z    ],
           [Arabic_hamzaonyeh,             Z    ]    };
   key    <AC01> {    [        a,         A    ],
           [    Arabic_sheen,              A    ]    };
   key    <AD01> {    [        q,         Q    ],
           [      Arabic_dad,          Q    ]    };
   key    <AE01> {    [        1,        exclam    ],
           [        1,        exclam     ]    };
   key    <AB02> {    [        x,         X    ],
           [    Arabic_hamza,             X    ]    };
   key    <AC02> {    [        s,         S    ],
           [     Arabic_seen,            S    ]    };
   key    <AD02> {    [        w,         W    ],
           [      Arabic_sad,             W    ]    };
   key    <AE02> {    [        2,        at    ],
           [        2,            at    ]    };
   key    <AB03> {    [        c,         C    ],
           [Arabic_hamzaonwaw,             C    ]    };
   key    <AC03> {    [        d,         D    ],
           [      Arabic_yeh,              D    ]    };
   key    <AD03> {    [        e,         E    ],
           [     Arabic_theh,         E    ]    };
   key    <AE03> {    [        3,    numbersign    ],
           [        3,      numbersign    ]    };
   key    <AB04> {    [        v,         V    ],
           [         Arabic_ra,              V    ]    };
   key    <AC04> {    [        f,         F    ],
           [      Arabic_beh,         F    ]    };
   key    <AD04> {    [        r,         R    ],
           [      Arabic_qaf,              R    ]    };
   key    <AE04> {    [        4,        dollar    ],
           [        4,          dollar    ]    };
   key    <AB05> {    [        b,         B    ],
           [          b,         B    ]    };
   key    <AC05> {    [        g,         G    ],
           [      Arabic_lam,              G    ]    };
   key    <AD05> {    [        t,         T    ],
           [      Arabic_feh,              T    ]    };
   key    <AE05> {    [        5,       percent    ],
           [        5,       percent    ]    };
   key    <AB06> {    [        n,         N    ],
           [Arabic_alefmaksura, Arabic_maddaonalef    ]    };
   key    <AC06> {    [        h,         H    ],
           [     Arabic_alef,   Arabic_hamzaonalef    ]    };
   key    <AD06> {    [        y,         Y    ],
           [    Arabic_ghain,              Y    ]    };
   key    <AE06> {    [        6,     asciicircum    ],
           [        6,     asciicircum    ]    };
   key    <AB07> {    [        m,         M    ],
           [Arabic_tehmarbuta,         M    ]    };
   key    <AC07> {    [        j,         J    ],
           [      Arabic_teh,    Arabic_fatha    ]    };
   key    <AD07> {    [        u,         U    ],
           [      Arabic_ain,           U    ]    };
   key    <AE07> {    [        7,     ampersand    ],
           [        7,     ampersand    ]    };
   key    <AB08> {    [        comma,          less    ],
           [      Arabic_waw,            Arabic_damma    ]    };
   key    <AC08> {    [        k,         K    ],
           [     Arabic_noon,         Arabic_comma    ]    };
   key    <AD08> {    [        i,         I    ],
           [       Arabic_ha,          division    ]    };
   key    <AE08> {    [        8,      asterisk    ],
           [        8,      asterisk    ]    };
   key    <AB09> {    [       period,       greater    ],
           [     Arabic_zain,         period    ]    };
   key    <AC09> {    [        l,         L    ],
           [     Arabic_meem,            slash    ]    };
   key    <AD09> {    [        o,         O    ],
           [     Arabic_khah,       multiply    ]    };
   key    <AE09> {    [        9,     parenleft    ],
           [        9,     parenleft    ]    };
   key    <AB10> {    [        slash,      question    ],
           [      Arabic_zah,  Arabic_question_mark    ]    };
   key    <AC10> {    [    semicolon,         colon    ],
           [      Arabic_kaf,           colon    ]    };
   key    <AD10> {    [        p,         P    ],
           [      Arabic_hah,    Arabic_semicolon    ]    };
   key    <AE10> {    [        0,    parenright    ],
           [        0,    parenright    ]    };
   key    <AC11> {    [      apostrophe,      quotedbl    ],
           [      Arabic_tah,      greater    ]    };
   key    <AD11> {    [     bracketleft,     braceleft    ],
           [     Arabic_jeem,     braceleft    ]    };
   key    <AE11> {    [        minus,    underscore    ],
           [        minus,    underscore    ]    };
   key    <AD12> {    [    bracketright,    braceright    ],
           [      Arabic_dal,        less    ]    };
   key    <AE12> {    [        equal,          plus    ],
           [        equal,          plus    ]    };
   key    <BKSL> {    [    backslash,           bar    ],
           [    backslash,             bar    ]    };

   // End alphanumeric section
// Begin modifier mappings

   modifier_map Shift  { Shift_L };
   modifier_map Lock   { Caps_Lock, ISO_Lock };
   modifier_map Control{ Control_L };
   modifier_map Mod3   { Mode_switch };
   };
};




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]