~ubuntu-branches/ubuntu/lucid/libx11/lucid

« back to all changes in this revision

Viewing changes to src/xkb/XKBBind.c

  • Committer: Bazaar Package Importer
  • Author(s): Timo Aaltonen
  • Date: 2009-01-17 16:34:54 UTC
  • mfrom: (1.1.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20090117163454-gaey3cd32xyavueo
Tags: 2:1.1.99.2-1build1
Fakesync with Debian, all previous Ubuntu changes are included
in the new upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
77
77
                 int    level)
78
78
{
79
79
    XkbDescRec  *xkb;
80
 
    
 
80
 
81
81
    if (_XkbUnavailable(dpy))
82
82
        return NoSymbol;
83
83
 
112
112
                 int col)
113
113
{
114
114
    XkbDescRec  *xkb;
115
 
    
 
115
 
116
116
    if (_XkbUnavailable(dpy))
117
117
        return _XKeycodeToKeysym(dpy, kc, col);
118
118
 
121
121
    xkb = dpy->xkb_info->desc;
122
122
    if ((kc<xkb->min_key_code)||(kc>xkb->max_key_code))
123
123
        return NoSymbol;
124
 
    
 
124
 
125
125
    if (col>3) {
126
126
        int lastSym,tmp,nGrp;
127
127
 
229
229
}
230
230
 
231
231
   /*
232
 
    * Not a public entry point -- XkbTranslateKey is an obsolete name 
233
 
    * that is preserved here so that functions linked against the old 
 
232
    * Not a public entry point -- XkbTranslateKey is an obsolete name
 
233
    * that is preserved here so that functions linked against the old
234
234
    * version will continue to work in a shared library environment.
235
235
    */
236
236
int
328
328
    if (mods_rtrn) {
329
329
        *mods_rtrn= type->mods.mask&(~preserve);
330
330
        /* The Motif VTS doesn't get the help callback called if help
331
 
         * is bound to Shift+<whatever>, and it appears as though it 
332
 
         * is XkbTranslateKeyCode that is causing the problem.  The 
333
 
         * core X version of XTranslateKey always OR's in ShiftMask 
334
 
         * and LockMask for mods_rtrn, so this "fix" keeps this behavior 
 
331
         * is bound to Shift+<whatever>, and it appears as though it
 
332
         * is XkbTranslateKeyCode that is causing the problem.  The
 
333
         * core X version of XTranslateKey always OR's in ShiftMask
 
334
         * and LockMask for mods_rtrn, so this "fix" keeps this behavior
335
335
         * and solves the VTS problem.
336
336
         */
337
337
        if ((xkb->dpy)&&(xkb->dpy->xkb_info)&&
698
698
                }
699
699
            }
700
700
        }
701
 
    }                                                            
 
701
    }
702
702
 
703
703
#ifdef USE_OWN_COMPOSE
704
704
    if ( status ) {
711
711
            status->compose_ptr = NULL;
712
712
            status->chars_matched = 0;
713
713
        }
714
 
        if ( ((status->chars_matched>0)&&(status->compose_ptr!=NULL)) || 
 
714
        if ( ((status->chars_matched>0)&&(status->compose_ptr!=NULL)) ||
715
715
                XimCompIsComposeKey(*keysym,event->keycode,status) ) {
716
716
            XimCompRtrn rtrn;
717
717
 
817
817
                        int                     nbytes,
818
818
                        int *                   extra_rtrn)
819
819
{
820
 
    register struct _XKeytrans *p; 
 
820
    register struct _XKeytrans *p;
821
821
 
822
822
    if (extra_rtrn)
823
823
        *extra_rtrn= 0;
841
841
XkbToControl( char ch )
842
842
{
843
843
    register char c = ch;
844
 
 
 
844
 
845
845
    if ((c >= '@' && c < '\177') || c == ' ') c &= 0x1F;
846
846
    else if (c == '2') c = '\000';
847
847
    else if (c >= '3' && c <= '7') c -= ('3' - '\033');